
:root{
  --cream:#F8F4ED;
  --cream-deep:#EFE6D6;
  --cream-mid:#E0D4C2;
  --ink:#3A322B;
  --ink-soft:#6B5E51;
  --taupe:#9C8E7C;
  --taupe-deep:#7A6E62;
  --line:rgba(58,50,43,.12);
  --white:#FFFFFF;
  --shadow:0 24px 64px -24px rgba(58,50,43,.35);
  --container:1160px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
body{margin:0;font-family:'Jost',sans-serif;font-weight:300;color:var(--ink);background:var(--cream-deep);-webkit-font-smoothing:antialiased;line-height:1.72;}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:500;margin:0;letter-spacing:.01em;}
a{color:inherit;}
img{max-width:100%;display:block;}
html[data-lang="fr"] .en,html[data-lang="en"] .fr{display:none;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--cream-deep);padding:.6rem 1rem;z-index:200;}
.skip-link:focus{left:0;}
a:focus-visible,button:focus-visible{outline:2px solid var(--taupe);outline-offset:3px;}

/* layout */
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 1.6rem;}
.section{padding:6.5rem 0;}
.section--alt{background:var(--cream);}
.section--dark{background:var(--ink);color:var(--cream-deep);}
.eyebrow{display:block;font-family:'Jost',sans-serif;font-size:.75rem;letter-spacing:.32em;text-transform:uppercase;color:var(--taupe);margin-bottom:1rem;font-weight:500;}
.section--dark .eyebrow{color:var(--cream-mid);}

/* headings — NO drop cap, uniform Playfair */
.heading{font-size:clamp(1.9rem,3.8vw,2.75rem);line-height:1.14;margin-bottom:1.4rem;font-family:'Playfair Display',serif;font-weight:500;}
.section--dark .heading{color:var(--cream-deep);}
.lede{max-width:620px;color:var(--ink-soft);font-size:1.03rem;}
.section--dark .lede{color:var(--cream-mid);}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 2rem;border-radius:999px;font-family:'Jost',sans-serif;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .25s,background .25s,color .25s,border-color .25s;white-space:nowrap;}
.btn-primary{background:var(--ink);color:var(--cream-deep);}
.btn-primary:hover{background:var(--taupe-deep);transform:translateY(-2px);}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-outline:hover{background:var(--ink);color:var(--cream-deep);transform:translateY(-2px);}
.btn-outline-light{border-color:rgba(239,230,214,.5);color:var(--cream-deep);background:rgba(239,230,214,.07);backdrop-filter:blur(6px);}
.btn-outline-light:hover{background:var(--cream-deep);color:var(--ink);}
.btn-taupe{background:var(--taupe);color:var(--cream-deep);}
.btn-taupe:hover{background:var(--taupe-deep);transform:translateY(-2px);}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.4rem 0;transition:background .35s,padding .35s,box-shadow .35s;}
.site-header.scrolled{background:rgba(239,230,214,.93);backdrop-filter:blur(10px);padding:.8rem 0;box-shadow:0 1px 0 var(--line);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
.logo{display:flex;flex-direction:column;line-height:1;text-decoration:none;color:var(--white);transition:color .35s;}
.site-header.scrolled .logo{color:var(--ink);}
.logo-mark{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:1.65rem;letter-spacing:.03em;}
.logo-tagline{font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;margin-top:.25rem;opacity:.8;}
.nav-links{display:flex;gap:2.1rem;list-style:none;margin:0;padding:0;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;}
.nav-links a{text-decoration:none;color:var(--white);transition:color .35s,opacity .25s;opacity:.95;padding-bottom:.3rem;border-bottom:1px solid transparent;}
.site-header.scrolled .nav-links a{color:var(--ink);}
.nav-links a:hover{opacity:1;border-color:var(--taupe);}
.nav-actions{display:flex;align-items:center;gap:1rem;}
.lang-switch{display:flex;align-items:center;gap:.4rem;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--white);transition:color .35s;}
.site-header.scrolled .lang-switch{color:var(--ink);}
.lang-switch button{background:none;border:none;cursor:pointer;font-family:'Jost',sans-serif;letter-spacing:.15em;text-transform:uppercase;color:inherit;opacity:.5;padding:.2rem .15rem;font-size:.75rem;transition:opacity .2s;}
.lang-switch button.active{opacity:1;border-bottom:1px solid var(--taupe);}
.lang-switch span{opacity:.4;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:.4rem;}
.nav-toggle span{width:22px;height:1px;background:var(--white);display:block;transition:background .35s;}
.site-header.scrolled .nav-toggle span,.nav-open .nav-toggle span{background:var(--ink);}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--white);text-align:center;}
.hero-media{position:absolute;inset:0;width:100%;height:100%;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,33,26,.52) 0%,rgba(40,33,26,.28) 45%,rgba(40,33,26,.72) 100%);}
.hero-content{position:relative;z-index:2;padding:8rem 1.6rem 4rem;display:flex;flex-direction:column;align-items:center;gap:1.3rem;max-width:740px;}
.hero-eyebrow{font-size:.75rem;letter-spacing:.34em;text-transform:uppercase;opacity:.85;}
/* Logo in hero: white only */
.hero-logo{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;font-size:clamp(3.2rem,11vw,6.2rem);line-height:1;color:var(--white);margin:.2rem 0;}
.hero-tagline{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.05rem,2.2vw,1.4rem);opacity:.95;}
.hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin:1.2rem 0 .5rem;}
.hero-pill{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.48rem 1rem;opacity:.9;cursor:pointer;background:none;color:var(--white);font-family:'Jost',sans-serif;transition:background .25s,border-color .25s;}
.hero-pill:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.7);}
.scroll-cue{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);z-index:2;color:var(--white);opacity:.7;display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;}
.scroll-cue .line{width:1px;height:32px;background:rgba(255,255,255,.55);animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.4;transform:scaleY(1);}50%{opacity:1;transform:scaleY(1.3);}}

/* lotus divider */
.divider-wrap{display:flex;justify-content:center;padding:2.2rem 0 .5rem;}
.lotus-svg{width:96px;height:auto;display:inline-block;}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.about-image{position:relative;border-radius:4px;overflow:hidden;box-shadow:var(--shadow);}
.about-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;}
.about-image::before{content:"";position:absolute;inset:14px;border:1px solid rgba(156,142,124,.35);pointer-events:none;z-index:1;}
.about-text p{margin:0 0 1.1rem;color:var(--ink-soft);}
.about-text p:last-of-type{margin-bottom:1.8rem;}
.values-list{list-style:none;margin:0 0 1.8rem;padding:0;}
.values-list li{padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--ink-soft);display:flex;gap:.8rem;align-items:baseline;}
.values-list li::before{content:"✦";font-size:.55rem;color:var(--taupe);flex-shrink:0;}

/* lan */
.lan-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;align-items:center;}
.lan-image{position:relative;border-radius:4px;overflow:hidden;box-shadow:var(--shadow);}
.lan-image img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4;}
.lan-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.2rem;line-height:1.6;color:var(--ink);border-left:2px solid var(--taupe);padding-left:1.4rem;margin:1.5rem 0 1.8rem;}
.credentials{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;}
.cred-pill{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--taupe);color:var(--taupe-deep);border-radius:999px;padding:.4rem .9rem;}

/* services */
.section-head{text-align:center;max-width:660px;margin:0 auto 3rem;}
.section-head .lede{margin:0 auto;}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .9rem;margin:0 auto 3rem;padding:0;list-style:none;}
.tabs button{font-family:'Jost',sans-serif;background:none;border:none;cursor:pointer;font-size:.77rem;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft);padding:.5rem 0;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;}
.tabs button:hover{color:var(--ink);}
.tabs button.active{color:var(--ink);border-color:var(--taupe);}
.service-panel{max-width:820px;margin:0 auto;}
.service-item{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--line);}
.service-item:first-child{padding-top:0;}
.service-info h4{font-family:'Playfair Display',serif;font-size:1.08rem;font-weight:500;margin-bottom:.3rem;}
.service-info p{margin:0;color:var(--ink-soft);font-size:.9rem;max-width:500px;line-height:1.6;}
.service-info .note{display:block;margin-top:.38rem;font-size:.78rem;font-style:italic;color:var(--taupe);}
.service-info .noon-tag{display:inline-block;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--cream-deep);border-radius:3px;padding:.2rem .55rem;margin-bottom:.4rem;font-family:'Jost',sans-serif;font-weight:500;}
.service-price{flex-shrink:0;text-align:right;font-family:'Playfair Display',serif;font-style:italic;font-size:1.03rem;color:var(--taupe-deep);white-space:nowrap;padding-top:.1rem;}
.service-durations{display:flex;flex-direction:column;align-items:flex-end;gap:.26rem;}
.service-durations .dur{font-family:'Jost',sans-serif;font-style:normal;font-size:.76rem;letter-spacing:.06em;color:var(--ink-soft);white-space:nowrap;}
.service-durations .dur strong{font-family:'Playfair Display',serif;font-style:italic;color:var(--taupe-deep);font-size:1.03rem;margin-left:.35rem;}
.services-note{text-align:center;margin-top:2.8rem;color:var(--taupe);font-size:.82rem;}

/* gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:140px;gap:.8rem;}
.gallery-item{position:relative;overflow:hidden;border-radius:3px;cursor:pointer;grid-column:span 2;grid-row:span 2;}
.gallery-item.wide{grid-column:span 4;}
.gallery-item.tall{grid-row:span 3;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.gallery-item:hover img{transform:scale(1.06);}
.gallery-caption{position:absolute;inset:auto 0 0 0;padding:.75rem 1rem;background:linear-gradient(180deg,transparent,rgba(40,33,26,.72));color:var(--white);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:opacity .35s,transform .35s;}
.gallery-item:hover .gallery-caption{opacity:1;transform:translateY(0);}

/* noon */
.noon-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.noon-badge{display:inline-flex;align-items:center;gap:.8rem;border:1px solid rgba(156,142,124,.4);border-radius:8px;padding:.8rem 1.2rem;margin-bottom:2rem;}
.noon-logo-text{font-family:'Jost',sans-serif;font-weight:600;font-size:1.4rem;letter-spacing:.08em;color:var(--cream-deep);}
.noon-logo-sub{font-size:.63rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cream-mid);margin-top:.15rem;}
.noon-features{list-style:none;margin:1.5rem 0;padding:0;}
.noon-features li{padding:.5rem 0;border-bottom:1px solid rgba(239,230,214,.14);font-size:.92rem;color:var(--cream-mid);display:flex;gap:.8rem;align-items:baseline;}
.noon-features li::before{content:"✦";font-size:.5rem;color:var(--taupe);flex-shrink:0;}
.noon-visual-card{background:rgba(239,230,214,.07);border:1px solid rgba(239,230,214,.18);border-radius:8px;padding:2.2rem;text-align:center;}
.noon-tagline{font-family:'Playfair Display',serif;font-style:italic;font-size:1.6rem;color:var(--cream-deep);margin-bottom:.6rem;}
.noon-sub{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin-bottom:1.5rem;}
.noon-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;}
.noon-pills span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(156,142,124,.45);color:var(--cream-mid);border-radius:999px;padding:.36rem .8rem;}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(40,33,26,.92);display:flex;align-items:center;justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:opacity .3s;}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:min(90vw,1080px);max-height:85vh;object-fit:contain;box-shadow:var(--shadow);}
.lightbox-close{position:absolute;top:1.4rem;right:1.6rem;background:none;border:1px solid rgba(255,255,255,.35);color:var(--white);border-radius:999px;width:40px;height:40px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;}

/* reviews */
.google-rating{display:flex;align-items:center;gap:.8rem;justify-content:center;margin-top:1rem;}
.stars{display:flex;gap:2px;}
.stars svg{width:20px;height:20px;}
.rating-text{font-size:.9rem;color:var(--ink-soft);letter-spacing:.04em;}
.reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.8rem;}
.review-card{background:var(--cream-deep);border:1px solid var(--line);border-radius:6px;padding:1.8rem;display:flex;flex-direction:column;gap:1rem;}
.review-stars{color:var(--taupe);font-size:1rem;letter-spacing:.1em;}
.review-text{margin:0;color:var(--ink-soft);font-size:.93rem;line-height:1.72;font-style:italic;}
.review-meta{display:flex;flex-direction:column;gap:.2rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line);}
.review-name{font-weight:500;font-size:.88rem;color:var(--ink);}
.review-service{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);}
@media(max-width:640px){.reviews-grid{grid-template-columns:1fr;}}



/* before/after */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.8rem;}
.ba-card{background:var(--cream);border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.ba-labels{display:flex;justify-content:space-between;padding:.5rem .8rem;background:var(--ink);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-mid);}
.ba-card img{width:100%;display:block;object-fit:cover;}
.ba-info{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.25rem;}
.ba-condition{font-family:'Playfair Display',serif;font-size:1rem;font-style:italic;color:var(--ink);}
.ba-result{font-size:.78rem;letter-spacing:.08em;color:var(--taupe);text-transform:uppercase;}
.ba-credit{text-align:center;margin-top:2rem;font-size:.76rem;color:var(--taupe);font-style:italic;}
@media(max-width:860px){.ba-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.ba-grid{grid-template-columns:1fr;}}

/* parrainage */
.parrainage-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;max-width:760px;margin:3rem auto 0;}
.parrainage-card{background:var(--cream-deep);border:1px solid var(--line);border-radius:8px;padding:2.4rem 2rem;text-align:center;}
.parrainage-icon{color:var(--taupe);font-size:.8rem;letter-spacing:.2em;margin-bottom:1rem;}
.parrainage-title{font-family:'Jost',sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);margin-bottom:.8rem;}
.parrainage-amount{font-family:'Playfair Display',serif;font-style:italic;font-size:3.8rem;line-height:1;color:var(--taupe-deep);margin-bottom:1rem;}
.parrainage-desc{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.68;}
.parrainage-divider{display:flex;flex-direction:column;align-items:center;gap:.6rem;}
.parrainage-note{text-align:center;margin-top:2.4rem;color:var(--taupe);font-size:.85rem;font-style:italic;}
@media(max-width:640px){.parrainage-grid{grid-template-columns:1fr;}.parrainage-divider{display:none;}}

/* visit */
.visit-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start;}
.visit-block+.visit-block{margin-top:2.2rem;}
.visit-block h3{font-size:.86rem;letter-spacing:.2em;text-transform:uppercase;font-family:'Jost',sans-serif;font-weight:500;color:var(--ink);margin-bottom:.9rem;}
.hours-table{width:100%;border-collapse:collapse;font-size:.93rem;}
.hours-table td{padding:.45rem 0;border-bottom:1px solid var(--line);color:var(--ink-soft);}
.hours-table td:last-child{text-align:right;color:var(--ink);font-family:'Playfair Display',serif;font-style:italic;}
.hours-table tr.closed td:last-child{color:var(--taupe);}
.contact-list{list-style:none;margin:0;padding:0;font-size:.93rem;color:var(--ink-soft);}
.contact-list li{padding:.45rem 0;border-bottom:1px solid var(--line);}
.contact-list a{text-decoration:none;color:var(--ink);}
.contact-list a:hover{color:var(--taupe-deep);}
.social-row{display:flex;gap:.9rem;margin-top:1.3rem;}
.social-row a{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--ink);transition:border-color .25s,color .25s;}
.social-row a:hover{border-color:var(--taupe);color:var(--taupe-deep);}
.map-frame{width:100%;aspect-ratio:4/3.5;border:0;border-radius:4px;box-shadow:var(--shadow);filter:saturate(.8);}
.visit-cta{margin-top:2.2rem;}

/* footer */
.site-footer{background:var(--ink);color:var(--cream-mid);padding:4rem 0 2.2rem;}
.footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2.4rem;padding-bottom:2.4rem;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-grid .logo{color:var(--cream-deep);}
.footer-links{list-style:none;display:flex;gap:1.8rem;padding:0;margin:0;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;}
.footer-links a{text-decoration:none;opacity:.7;transition:opacity .2s,color .2s;}
.footer-links a:hover{opacity:1;color:var(--taupe);}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;font-size:.76rem;opacity:.55;}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* responsive */
@media(max-width:980px){
  .about-grid,.lan-grid,.noon-inner,.visit-grid{grid-template-columns:1fr;gap:3rem;}
  .about-image,.lan-image{order:-1;}
  .gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:130px;}
  .gallery-item.wide{grid-column:span 4;}
}
@media(max-width:860px){
  .nav-links{position:fixed;inset:0 0 0 auto;width:min(78vw,340px);background:var(--cream-deep);flex-direction:column;justify-content:center;align-items:flex-start;padding:3rem 2.4rem;gap:1.5rem;font-size:1rem;transform:translateX(100%);transition:transform .4s;box-shadow:var(--shadow);z-index:120;}
  .nav-links a{color:var(--ink);}
  .nav-open .nav-links{transform:translateX(0);}
  .nav-toggle{display:flex;}
}
@media(max-width:640px){
  .section{padding:4.5rem 0;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}
  .gallery-item,.gallery-item.wide,.gallery-item.tall{grid-column:span 1;grid-row:span 1;}
  .gallery-item:nth-child(1),.gallery-item:nth-child(5){grid-column:span 2;}
  .service-item{flex-direction:column;gap:.4rem;}
  .service-durations{align-items:flex-start;}
  .service-price{text-align:left;}
}

/* ---- Carte des soins (v7) ---- */
.carte{background:var(--cream-deep);}
.carte-head{text-align:center;max-width:640px;margin:0 auto 3rem;}
.carte-lotus{display:block;width:96px;height:auto;margin:0 auto 1.1rem;}
.carte-lede{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-size:1.18rem;line-height:1.6;color:#5A4E43;}
.carte-nav{position:sticky;top:74px;z-index:20;background:var(--cream-deep);margin:0 -1.6rem 3.5rem;padding:.7rem 1.6rem .6rem;border-bottom:1px solid var(--line);}
.carte-nav-main,.carte-nav-other{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;}
.carte-nav-main{gap:.2rem 1.1rem;}
.carte-nav-other{gap:0 .4rem;margin-top:.1rem;}
.carte-tab{display:inline-flex;align-items:center;min-height:46px;padding:0 .6rem .2rem;background:none;border:none;border-bottom:1px solid transparent;cursor:pointer;font-family:'Playfair Display',serif;font-style:italic;color:#6B5E51;}
.carte-nav-main .carte-tab{font-size:1.38rem;color:#4A4037;}
.carte-nav-other .carte-tab{font-size:1rem;letter-spacing:.02em;}
.carte-tab:hover{color:var(--ink);}
.carte-tab.active{font-style:normal;color:var(--ink);border-bottom-color:var(--taupe);}
.carte-body{display:flex;flex-wrap:wrap;gap:3rem 4.5rem;align-items:flex-start;}
.carte-aside{flex:1 1 250px;max-width:320px;position:sticky;top:190px;}
.carte-aside .eyebrow{color:#6B5F53;}
.carte-aside h3{margin:0 0 1.2rem;font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:2.2rem;line-height:1.15;}
.carte-rule{display:block;width:40px;height:1px;background:var(--taupe);margin:0 0 1.2rem;}
.carte-aside p{margin:0 0 1.2rem;font-size:1.06rem;line-height:1.75;color:#5A4E43;font-weight:400;}
.carte-aside p.carte-aside-note{font-family:'Playfair Display',serif;font-style:italic;font-size:1rem;line-height:1.6;color:#6B5E51;}
.carte-list{flex:999 1 520px;min-width:0;}
.carte-group{margin:0 0 3.2rem;}
.carte-group h4{margin:0 0 .3rem;font-family:'Playfair Display',serif;font-weight:400;font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;color:#6B5F53;}
.carte-item{padding:1.6rem 0 1.5rem;border-bottom:1px solid rgba(58,50,43,.1);}
.carte-item-top{display:flex;align-items:baseline;gap:1.1rem;}
.carte-item-top h5{margin:0;font-family:'Playfair Display',serif;font-weight:400;font-size:1.42rem;line-height:1.3;color:var(--ink);}
.carte-noon{display:block;height:30px;width:auto;align-self:center;}
.carte-tag{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:#6B5F53;font-weight:500;white-space:nowrap;}
.carte-spacer{flex:1;}
.carte-price{font-family:'Playfair Display',serif;font-size:1.36rem;color:var(--ink);white-space:nowrap;}
.carte-meta{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin-top:.25rem;}
.carte-dur{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#6B5F53;}
.carte-italic{font-family:'Playfair Display',serif;font-style:italic;font-size:.95rem;color:#6B5E51;}
.carte-desc{margin:.75rem 0 0;max-width:560px;font-size:1.03rem;line-height:1.75;color:#5A4E43;font-weight:400;}
.carte-ret{margin-top:.75rem;display:flex;flex-direction:column;gap:.2rem;}
.carte-ret p{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-size:1rem;color:#6B5E51;}
.carte-gret{padding-top:1.2rem;display:flex;flex-wrap:wrap;gap:.25rem 1.75rem;align-items:baseline;}
.carte-gret .carte-label{font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;color:#6B5F53;font-weight:500;}
.carte-gret span.carte-italic{font-size:1rem;color:#5A4E43;}
.carte-compact{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));column-gap:2.75rem;}
.carte-compact li{display:flex;align-items:baseline;gap:.6rem;padding:.75rem 0;border-bottom:1px solid rgba(58,50,43,.08);}
.carte-compact .n{font-family:'Playfair Display',serif;font-size:1.12rem;color:var(--ink);}
.carte-compact .p{font-family:'Playfair Display',serif;font-size:1.12rem;min-width:62px;text-align:right;white-space:nowrap;}
.carte-foot{margin:2.5rem auto 0;max-width:620px;text-align:center;}
.carte-foot .carte-rule{margin:0 auto 1.75rem;}
.carte-foot p{margin:0 0 1.75rem;font-family:'Playfair Display',serif;font-style:italic;font-size:1.06rem;line-height:1.6;color:#5A4E43;}
.carte-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;}
.carte-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 1.9rem;border:1px solid var(--taupe);color:var(--ink);text-decoration:none;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;}
.carte-btn--dark{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.carte-btn--dark:hover{background:#2c251f;color:var(--cream);}
@media(max-width:860px){.carte-aside{position:static;max-width:none;}.carte-nav{top:84px;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.2rem 1rem;margin-bottom:2.5rem;}.carte-nav::-webkit-scrollbar{display:none;}.carte-nav-main,.carte-nav-other{flex-wrap:nowrap;margin:0;gap:0 .2rem;}.carte-nav-main .carte-tab,.carte-nav-other .carte-tab{font-size:1.05rem;white-space:nowrap;}.carte-nav-main .carte-tab{color:#3A322B;}.carte-item-top h5{font-size:1.2rem;}.carte-price{font-size:1.15rem;}}
body{overflow-x:clip;}
.noon-badge-logo{display:block;height:84px;width:auto;}


/* =========================================================
   v9 — menu lotus, pages soins, galerie
   ========================================================= */
:root{
  --lotus:linear-gradient(120deg,#D23F87 0%,#EC86B6 50%,#E6AE2E 100%);
  --lotus-deep:linear-gradient(120deg,#A3306B 0%,#CC4789 52%,#D98C3A 100%);
  --rose:#9E3A68;
  --header-h:84px;
}

/* ---- En-tête ---- */
.site-header,.site-header.scrolled{background:rgba(239,230,214,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.6rem 0;box-shadow:0 1px 0 var(--line);}
.site-header .nav-inner{max-width:1340px;gap:1.2rem;}
.site-header .logo,.site-header.scrolled .logo{flex-direction:row;align-items:center;gap:.8rem;color:var(--ink);flex-shrink:0;text-decoration:none;}
.site-header .logo img{width:62px;height:auto;}
.site-header .logo-tagline{font-family:'Playfair Display',serif;font-style:italic;font-size:1.02rem;letter-spacing:.01em;text-transform:none;opacity:1;margin:0;line-height:1.2;max-width:6.6em;color:var(--ink);}
.site-header nav{flex:1;display:flex;justify-content:center;}
.nav-links{gap:.2rem;align-items:center;font-size:.76rem;letter-spacing:.1em;}
.nav-links>li{position:relative;}
.nav-links a,.nav-sub-toggle,.site-header.scrolled .nav-links a{display:inline-flex;align-items:center;gap:.4rem;min-height:42px;padding:0 1rem;border-radius:999px;border:2px solid transparent;color:var(--ink);opacity:1;text-decoration:none;background:none;font-family:'Jost',sans-serif;font-size:inherit;font-weight:400;letter-spacing:inherit;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background-color .25s,border-color .25s;}
.nav-links a:hover,.nav-sub-toggle:hover{background-color:rgba(217,70,140,.08);border-color:transparent;opacity:1;}
.nav-links a.is-active,.nav-sub-toggle.is-active{background:linear-gradient(#F6EEE3,#F6EEE3) padding-box,var(--lotus) border-box;border-color:transparent;}
.nav-sub-toggle .caret{transition:transform .25s;}
.has-sub.open .nav-sub-toggle .caret{transform:rotate(180deg);}
.nav-sub{position:absolute;top:calc(100% + .5rem);left:50%;min-width:230px;list-style:none;margin:0;padding:.55rem;background:var(--cream);border-radius:20px;box-shadow:0 22px 50px -18px rgba(58,50,43,.35);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:5;}
.has-sub:hover .nav-sub,.has-sub:focus-within .nav-sub,.has-sub.open .nav-sub{opacity:1;visibility:visible;transform:translate(-50%,0);}
.nav-sub li{display:block;}
.nav-sub a,.site-header.scrolled .nav-sub a{display:flex;width:100%;text-transform:none;letter-spacing:.01em;font-family:'Playfair Display',serif;font-style:italic;font-size:1.02rem;}
.nav-actions{position:relative;z-index:3;gap:.9rem;}
.lang-switch,.site-header.scrolled .lang-switch{color:var(--ink);}
.nav-toggle span,.site-header.scrolled .nav-toggle span{background:var(--ink);}
.btn-book{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.85rem;border-radius:999px;background:var(--lotus-deep);color:#fff;text-decoration:none;font-family:'Jost',sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;box-shadow:0 12px 26px -12px rgba(163,48,107,.85),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .2s,box-shadow .2s,filter .2s;}
.btn-book:hover{transform:translateY(-2px);filter:saturate(1.08) brightness(1.05);box-shadow:0 16px 30px -12px rgba(163,48,107,.9),inset 0 1px 0 rgba(255,255,255,.25);color:#fff;}
.btn-book:focus-visible{outline:2px solid var(--rose);outline-offset:3px;}
.btn-book--sm{min-height:42px;padding:0 1.4rem;font-size:.74rem;margin-top:.6rem;}

@media(max-width:1180px){
  .site-header nav{flex:0;}
  .nav-links{position:fixed;top:0;right:0;bottom:0;left:auto;height:100vh;width:min(86vw,360px);background:var(--cream-deep);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:6.2rem 1.4rem 2rem;gap:.25rem;font-size:.86rem;transform:translateX(100%);transition:transform .4s ease;box-shadow:-20px 0 50px -20px rgba(58,50,43,.35);overflow-y:auto;z-index:2;}
  .nav-open .nav-links{transform:translateX(0);}
  .nav-links a,.nav-sub-toggle,.site-header.scrolled .nav-links a{width:100%;justify-content:flex-start;}
  .nav-sub{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;background:none;padding:0 0 .3rem .9rem;min-width:0;}
  .has-sub:hover .nav-sub,.has-sub:focus-within .nav-sub,.has-sub.open .nav-sub{transform:none;}
  .nav-sub-toggle .caret{display:none;}
  .nav-toggle{display:flex;}
}
@media(max-width:860px){.nav-links a{color:var(--ink);}}
@media(max-width:600px){
  :root{--header-h:70px;}
  .site-header .logo img{width:50px;}
  .site-header .logo-tagline{font-size:.86rem;}
  .btn-book{min-height:42px;padding:0 1.15rem;font-size:.72rem;letter-spacing:.15em;}
  .nav-actions{gap:.5rem;}
  .lang-switch{display:none;}
}
@media(max-width:380px){.site-header .logo-tagline{display:none;}}

/* Accueil : titre principal */
.hero-h1{display:flex;flex-direction:column;align-items:center;gap:1.3rem;margin:0;font-weight:inherit;}
.hero-h1 .hero-eyebrow{display:block;font-family:'Jost',sans-serif;font-weight:400;}
.hero-h1 .hero-logo{display:block;}
.carte-nav{top:var(--header-h);}
.carte-aside{top:calc(var(--header-h) + 110px);}
.carte-more{display:inline-flex;align-items:center;min-height:44px;padding:0 1.3rem;border-radius:999px;border:1.5px solid transparent;background:linear-gradient(var(--cream-deep),var(--cream-deep)) padding-box,var(--lotus) border-box;color:var(--ink);text-decoration:none;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;}
.carte-more:hover{background:linear-gradient(#F6EEE3,#F6EEE3) padding-box,var(--lotus) border-box;}

/* ---- Pages soins ---- */
.carte-group h2.carte-gh{margin:0 0 .3rem;font-family:'Playfair Display',serif;font-weight:400;font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;color:#6B5F53;}
.carte-item-top h3.carte-h{margin:0;font-family:'Playfair Display',serif;font-weight:400;font-size:1.42rem;line-height:1.3;color:var(--ink);}
.page-eyebrow{color:var(--rose);}
.page-hero{padding:calc(var(--header-h) + 4rem) 0 5rem;background:var(--cream-deep);}
.page-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:4.5rem;align-items:center;}
.page-hero--center{text-align:center;padding-bottom:3.5rem;}
.page-hero--center .page-lede{margin-left:auto;margin-right:auto;}
.crumbs{font-size:.82rem;letter-spacing:.04em;color:var(--ink-soft);margin:0 0 2.2rem;font-weight:400;}
.crumbs a{color:var(--ink-soft);}
.crumbs a:hover{color:var(--rose);}
.page-h1{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(2.4rem,5vw,3.7rem);line-height:1.08;margin:0 0 1.5rem;}
.page-h1 em,.heading em{font-style:italic;}
.page-lede{font-size:1.14rem;line-height:1.78;color:#5A4E43;max-width:540px;margin:0 0 2.2rem;font-weight:400;}
.page-cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}
.page-hero--center .page-cta,.page-cta-band .page-cta{justify-content:center;}
.page-hero-img{position:relative;}
.page-hero-img>img:first-child{width:100%;height:560px;object-fit:cover;border-radius:4px;box-shadow:var(--shadow);}
.page-hero-lotus{position:absolute;left:-46px;bottom:-34px;width:132px;height:auto;filter:drop-shadow(0 10px 18px rgba(58,50,43,.18));}
.page-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2.6rem 3.6rem;}
.page-block-h{font-family:'Playfair Display',serif;font-style:italic;font-weight:400;font-size:1.55rem;line-height:1.25;margin:0 0 .9rem;}
.page-block-h--lg{font-size:1.9rem;font-style:normal;}
.page-blocks p,.page-two p{margin:0;color:#5A4E43;font-size:1.03rem;line-height:1.8;font-weight:400;}
.page-link{display:inline-block;margin-top:1rem;color:var(--rose);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;}
.page-carte .carte-list{max-width:820px;margin:0 auto;}
.page-note{text-align:center;margin:2rem 0 0;font-family:'Playfair Display',serif;font-style:italic;color:#6B5E51;}
.page-steps{display:grid;grid-template-columns:1fr 2fr;gap:3rem 5rem;align-items:start;}
.steps{list-style:none;margin:0;padding:0;}
.steps li{display:flex;gap:1.8rem;padding:1.6rem 0;border-bottom:1px solid var(--line);}
.step-n{font-family:'Playfair Display',serif;font-style:italic;font-size:2.1rem;line-height:1;color:var(--rose);min-width:44px;}
.steps h3{font-family:'Playfair Display',serif;font-weight:400;font-size:1.35rem;margin:0 0 .45rem;}
.steps p{margin:0;color:#5A4E43;font-weight:400;line-height:1.75;}
.page-two{display:grid;grid-template-columns:1fr 1fr;gap:3rem 5rem;}
.page-ul{margin:1rem 0 0;padding:0 0 0 1.1rem;color:#5A4E43;font-weight:400;line-height:1.85;}
.page-ul li::marker{color:var(--rose);}
.page-faq{max-width:860px;}
.page-faq details{border-top:1px solid rgba(58,50,43,.16);}
.page-faq details:last-child{border-bottom:1px solid rgba(58,50,43,.16);}
.page-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;padding:.6rem 0;font-family:'Playfair Display',serif;font-size:1.25rem;}
.page-faq summary::-webkit-details-marker{display:none;}
.page-faq summary::after{content:"+";font-family:'Jost',sans-serif;font-size:1.4rem;color:var(--rose);transition:transform .25s;}
.page-faq details[open] summary::after{transform:rotate(45deg);}
.page-faq details p{margin:0 0 1.3rem;color:#5A4E43;font-weight:400;line-height:1.8;max-width:720px;}
.page-faq details a{color:var(--rose);}
.page-related{padding:4.5rem 0;}
.page-related-h{text-align:center;}
.related-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;}
.related-pill{display:inline-flex;align-items:center;min-height:46px;padding:0 1.4rem;border-radius:999px;border:1.5px solid rgba(58,50,43,.18);color:var(--ink);text-decoration:none;font-family:'Playfair Display',serif;font-style:italic;font-size:1.08rem;transition:background .25s,border-color .25s;}
.related-pill--main{border-color:transparent;background:linear-gradient(var(--cream-deep),var(--cream-deep)) padding-box,var(--lotus) border-box;font-size:1.2rem;}
.related-pill:hover{background:linear-gradient(#F6EEE3,#F6EEE3) padding-box,var(--lotus) border-box;border-color:transparent;}
.page-cta-band{text-align:center;background:var(--cream);}
.page-cta-band .lede{margin:0 auto 2rem;}
.page-cta-lotus{display:block;width:110px;height:auto;margin:0 auto 1.4rem;}
.gallery-grid--full{grid-auto-rows:150px;}

/* ---- Pied de page ---- */
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1.2fr;gap:2.4rem;padding-bottom:2.6rem;border-bottom:1px solid rgba(255,255,255,.1);}
.foot-brand img{width:84px;height:auto;margin-bottom:.9rem;}
.foot-name{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-size:1.7rem;color:var(--cream-deep);}
.foot-tag{margin:.2rem 0 0;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cream-mid);}
.foot-h{font-family:'Jost',sans-serif;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:#C9B8A6;margin:0 0 1rem;}
.foot-list{list-style:none;margin:0;padding:0;}
.foot-list li{margin:0 0 .5rem;}
.foot-list a,.foot-p a{color:var(--cream-deep);text-decoration:none;font-size:.95rem;opacity:.85;}
.foot-list a:hover,.foot-p a:hover{opacity:1;color:#F2A7C9;}
.foot-p{margin:0 0 .7rem;font-size:.95rem;line-height:1.6;color:var(--cream-deep);}

@media(max-width:980px){
  .page-hero-grid,.page-steps,.page-two{grid-template-columns:1fr;gap:3rem;}
  .page-hero-img>img:first-child{height:420px;}
  .page-hero-lotus{left:auto;right:16px;bottom:-30px;width:110px;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .foot-brand{grid-column:1 / -1;}
}
@media(max-width:640px){
  .page-hero{padding-top:calc(var(--header-h) + 2.4rem);}
  .page-hero-img>img:first-child{height:320px;}
  .carte-item-top h3.carte-h{font-size:1.2rem;}
  .steps li{gap:1.1rem;}
  .foot-grid{grid-template-columns:1fr;}
}
@media(max-width:1180px){.site-header,.site-header.scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream-deep);}}


/* =========================================================
   v10 — palette validée : lin (clair / central / foncé) + rose de la fleur
   ========================================================= */
:root{
  --lin-clair:linear-gradient(180deg,#FBF8F2 0%,#F6F0E6 100%);
  --lin:linear-gradient(180deg,#F3ECE1 0%,#EFE6D6 100%);
  --lin-fonce:linear-gradient(180deg,#E6DACA 0%,#DDD0BB 100%);
  --lin-fonce-alt:linear-gradient(180deg,#ECE3D5 0%,#E4D9C8 100%);
  --rose-btn:linear-gradient(120deg,#E23AAC 0%,#E46FC2 100%);
  --pastel:linear-gradient(120deg,#E9A4D6 0%,#F0C3E3 100%);
  --pastel-clair:linear-gradient(120deg,#F6DCEE 0%,#FBEEF6 100%);
  --lotus:linear-gradient(120deg,#E23AAC 0%,#E9A4D6 100%);
  --prune:#8E3460;
  --prune-deep:#6B1A4E;
  --rose:#8E3460;
  --texte:#5A4E43;
}
body{background:#EFE6D6;}

/* Fonds */
.section{background:var(--lin);}
.section--alt{background:var(--lin-clair);}
.section--dark{background:var(--lin-fonce);color:var(--ink);}
.carte{background:var(--lin);}
.page-hero{background:var(--lin);}
.page-cta-band{background:var(--lin-clair);}
.page-noon .page-hero,.page-noon .section,.page-galerie .page-hero,.page-galerie .section{background:var(--lin-fonce);}
.page-noon .section--alt,.page-galerie .section--alt,.page-noon .page-cta-band,.page-galerie .page-cta-band{background:var(--lin-fonce-alt);}

/* En-tête */
.site-header,.site-header.scrolled{background:linear-gradient(180deg,rgba(246,240,230,.97) 0%,rgba(239,230,214,.97) 100%);}
.nav-links a.is-active,.nav-sub-toggle.is-active{background:linear-gradient(#F6F0E6,#F6F0E6) padding-box,var(--lotus) border-box;}
.nav-links a:hover,.nav-sub-toggle:hover{background-color:#FBEEF6;}

/* Textes */
.eyebrow,.page-eyebrow{color:var(--prune);}
.section--dark .eyebrow{color:var(--prune);}
.section--dark .heading{color:var(--ink);}
.section--dark .lede{color:#4F443A;}
.review-service,.parrainage-title,.parrainage-note,.ba-credit,.noon-sub,.ba-result{color:var(--texte);}
.review-stars{color:#E23AAC;}
.parrainage-amount{color:var(--prune);}
.parrainage-icon{color:#E23AAC;}

/* Bloc NOON sur lin foncé */
.noon-logo-text,.noon-tagline{color:var(--ink);}
.noon-logo-sub{color:var(--texte);}
.noon-features li{color:var(--ink);border-bottom-color:rgba(58,50,43,.16);}
.noon-features li::before{color:#E23AAC;}
.noon-visual-card{background:rgba(255,255,255,.4);border-color:rgba(58,50,43,.14);}
.noon-pills span{color:var(--ink);border-color:rgba(58,50,43,.28);}
.noon-badge{border-color:rgba(58,50,43,.2);}

/* Boutons : arrondis, rose de la fleur ou pastel */
.btn-book{background:var(--rose-btn);font-weight:600;text-shadow:0 1px 2px rgba(110,20,75,.35);box-shadow:0 12px 24px -12px #E23AAC;}
.btn-book:hover{box-shadow:0 16px 28px -12px #E23AAC;}
.btn-book:focus-visible{outline-color:var(--prune);}
.btn-primary,.btn-taupe,.carte-btn--dark{background:var(--pastel);color:var(--prune-deep);border-color:transparent;font-weight:500;}
.btn-primary:hover,.btn-taupe:hover,.carte-btn--dark:hover{background:var(--pastel);color:var(--prune-deep);filter:brightness(.97);}
.btn-outline,.carte-btn{background:var(--pastel-clair);color:var(--prune-deep);border-color:transparent;font-weight:500;}
.btn-outline:hover,.carte-btn:hover{background:var(--pastel);color:var(--prune-deep);}
.carte-btn,.carte-btn--dark{border-radius:999px;}
.carte-more,.related-pill--main{background:linear-gradient(#F6F0E6,#F6F0E6) padding-box,var(--lotus) border-box;}
.carte-more:hover,.related-pill:hover{background:linear-gradient(#FBEEF6,#FBEEF6) padding-box,var(--lotus) border-box;}
.page-link{color:var(--prune);}
.page-faq summary::after,.step-n,.page-ul li::marker{color:var(--prune);}

/* Encadrements : angles presque droits */
.review-card,.parrainage-card,.noon-visual-card,.ba-card{border-radius:4px;}
.gallery-item{border-radius:2px;}

/* Pied de page en lin foncé */
.site-footer{background:var(--lin-fonce);color:var(--ink);}
.foot-grid{border-bottom-color:rgba(58,50,43,.16);}
.foot-name{color:var(--ink);}
.foot-tag{color:var(--texte);}
.foot-h{color:var(--prune);}
.foot-p{color:var(--ink);}
.foot-list a,.foot-p a{color:var(--ink);opacity:1;}
.foot-list a:hover,.foot-p a:hover{color:var(--prune);}
.footer-bottom{opacity:1;color:var(--texte);}
.section--fonce{background:var(--lin-fonce);}

/* v11 — page L'institut & Lan */
.lan-lede{font-family:'Playfair Display',serif;font-style:italic;font-size:1.35rem;line-height:1.6;color:var(--ink);}
.lan-story{margin:0 0 1rem;color:var(--texte);font-size:1.04rem;line-height:1.85;font-weight:400;}
.lan-creds{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;}
.lan-creds .cred-pill{border-radius:4px;background:#FBF8F2;border:1px solid rgba(58,50,43,.14);color:var(--ink);padding:.55rem .9rem;font-size:.86rem;letter-spacing:.02em;text-transform:none;}
@media(min-width:760px){.page-blocks:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:2.8rem 4.5rem;}}
.lan-values{list-style:none;margin:0;padding:0;}
.lan-values li{display:flex;flex-direction:column;gap:.2rem;padding:1rem 0;border-top:1px solid rgba(58,50,43,.14);}
.lan-values strong{font-family:'Playfair Display',serif;font-weight:400;font-size:1.25rem;color:var(--ink);}
.lan-values span{color:var(--texte);font-weight:400;}
.lan-more{margin-top:1.6rem;}
.forwhom{font-size:1.06rem;}
.forwhom li{margin-bottom:.55rem;}
@media(min-width:861px){.reviews-grid--3{grid-template-columns:repeat(3,1fr);}}
.review-card blockquote{margin:0;}

/* =========================================================
   v12 — palette « grège », inspirée du ton chaud #C8BEB1
   ========================================================= */
:root{
  --lin-clair:linear-gradient(180deg,#FAF7F2 0%,#F4EEE6 100%);
  --lin:linear-gradient(180deg,#F1EAE0 0%,#EAE1D5 100%);
  --lin-fonce:linear-gradient(180deg,#DDD3C6 0%,#D3C8BA 100%);
  --lin-fonce-alt:linear-gradient(180deg,#E6DDD1 0%,#DDD3C6 100%);
  --grege:linear-gradient(180deg,#CEC4B7 0%,#C8BEB1 100%);
  --cream-deep:#EAE1D5;
}
body{background:#F1EAE0;}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,rgba(250,247,242,.97) 0%,rgba(241,234,224,.97) 100%);}
@media(max-width:1180px){.site-header,.site-header.scrolled{background:#F4EEE6;}.nav-links{background:#F4EEE6;}}
.nav-links a.is-active,.nav-sub-toggle.is-active,.carte-more,.related-pill--main{background:linear-gradient(#F7F2EB,#F7F2EB) padding-box,var(--lotus) border-box;}
.carte-nav{background:#EEE6DB;}
.nav-sub{background:#FAF7F2;}
.review-card,.parrainage-card,.page-faq details{border-color:rgba(58,50,43,.14);}
.review-card,.parrainage-card{background:#FAF7F2;}

/* Pied de page dans le ton grège de référence */
.site-footer{background:var(--grege);color:var(--ink);}
.foot-h{color:#6B1A4E;}
.foot-tag,.footer-bottom{color:#4F443A;}
.foot-list a,.foot-p a,.foot-p,.foot-name{color:var(--ink);}
.foot-list a:hover,.foot-p a:hover{color:#6B1A4E;}
.foot-grid{border-bottom-color:rgba(58,50,43,.2);}

/* =========================================================
   v13 — textes blancs sur les tons grège les plus foncés
   ========================================================= */
:root{
  --grege-profond:linear-gradient(180deg,#6B5F53 0%,#5E5348 100%);
  --grege-nuit:linear-gradient(180deg,#5E5348 0%,#534940 100%);
  --sur-fonce:#FFFFFF;
  --sur-fonce-doux:#F4EEE6;
  --sur-fonce-accent:#FAD5E5;
}
/* Bandeaux foncés : NOON et galerie de l'accueil, appels à réserver */
.section--dark,.section--fonce,.page-cta-band,.page-noon .page-cta-band,.page-galerie .page-cta-band{background:var(--grege-profond);color:var(--sur-fonce);}
.section--dark .heading,.section--fonce .heading,.page-cta-band .heading{color:var(--sur-fonce);}
.section--dark .lede,.section--fonce .lede,.page-cta-band .lede{color:var(--sur-fonce-doux);}
.section--dark .eyebrow,.section--fonce .eyebrow,.page-cta-band .eyebrow{color:var(--sur-fonce-accent);}
.section--dark p,.section--dark li,.noon-features li{color:var(--sur-fonce-doux);border-bottom-color:rgba(255,255,255,.16);}
.noon-features li::before{color:var(--sur-fonce-accent);}
.noon-logo-text,.noon-tagline{color:var(--sur-fonce);}
.noon-logo-sub,.noon-sub{color:var(--sur-fonce-doux);}
.noon-visual-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);}
.noon-pills span{color:var(--sur-fonce);border-color:rgba(255,255,255,.4);}
.noon-badge{border-color:rgba(255,255,255,.3);}
.section--dark .ba-credit{color:var(--sur-fonce-doux);}
.section--dark .ba-card p,.section--dark .ba-card li{color:var(--texte);}
/* Pied de page */
.site-footer{background:var(--grege-nuit);color:var(--sur-fonce);}
.foot-h{color:var(--sur-fonce-accent);}
.foot-name,.foot-p,.foot-list a,.foot-p a{color:var(--sur-fonce);}
.foot-tag,.footer-bottom{color:var(--sur-fonce-doux);}
.foot-list a:hover,.foot-p a:hover{color:var(--sur-fonce-accent);}
.foot-grid{border-bottom-color:rgba(255,255,255,.18);}

/* =========================================================
   v14 — bandeaux plus clairs, pré-titres plus grands, NOON écrit
   ========================================================= */
:root{--grege-profond:linear-gradient(180deg,#857969 0%,#7C7063 100%);}
.section--dark .eyebrow,.section--fonce .eyebrow,.page-cta-band .eyebrow{color:#FFFFFF;}
.section--dark p,.section--dark li,.noon-features li,.section--dark .lede,.section--fonce .lede,.page-cta-band .lede{color:#FFFFFF;}
.section--dark .lede,.section--fonce .lede,.page-cta-band .lede{font-size:1.08rem;}
.noon-badge-logo{filter:brightness(0) invert(1);opacity:1;}
.noon-pills span{border-color:rgba(255,255,255,.6);}
/* Page NOON : grège soutenu adouci */
.page-noon .page-hero,.page-noon .section{background:linear-gradient(180deg,#E3DACE 0%,#DAD0C3 100%);}
.page-noon .section--alt{background:linear-gradient(180deg,#EAE2D7 0%,#E3DACE 100%);}
/* Pré-titres plus présents */
.eyebrow,.page-eyebrow,.carte-aside .eyebrow{font-size:.95rem;letter-spacing:.22em;font-weight:500;margin-bottom:1rem;}
@media(max-width:640px){.eyebrow,.page-eyebrow{font-size:.82rem;letter-spacing:.18em;}}
/* « NOON » écrit à la place du logo dans la carte */
.carte-noon-tag{display:inline-flex;align-items:center;align-self:center;padding:.18rem .55rem;border:1px solid #3A322B;border-radius:3px;font-family:'Jost',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.24em;line-height:1.2;color:#3A322B;white-space:nowrap;}
.noon-wordmark{display:flex;flex-direction:column;align-items:flex-start;font-family:'Jost',sans-serif;font-weight:600;font-size:2rem;letter-spacing:.28em;line-height:1;color:#FFFFFF;}
.noon-wordmark small{font-size:.62rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;margin-top:.45rem;}
.noon-badge{border-color:rgba(255,255,255,.55);}

/* =========================================================
   v16 — blanc pur et plus présent sur les tons foncés
   ========================================================= */
.page-noon .page-cta-band,.page-galerie .page-cta-band,.page-noon .section.page-cta-band,.page-galerie .section.page-cta-band{background:var(--grege-profond);}
.section--dark,.section--fonce,.page-cta-band,.site-footer{color:#FFFFFF;}
.section--dark :is(h1,h2,h3,h4,p,li,span,strong,em,blockquote,.heading,.lede,.eyebrow),
.section--fonce :is(h2,p,span,.heading,.lede,.eyebrow),
.page-cta-band :is(h2,p,.heading,.lede,.eyebrow),
.site-footer :is(p,a,li,span,h2,.foot-tag,.foot-name,.foot-h){color:#FFFFFF;}
.section--dark p,.section--dark li,.section--dark .lede,.section--fonce .lede,.page-cta-band .lede,.site-footer p,.site-footer a,.site-footer span{font-weight:400;}
.section--dark .heading,.section--fonce .heading,.page-cta-band .heading{text-shadow:0 1px 2px rgba(40,30,20,.18);}
.section--dark .eyebrow,.section--fonce .eyebrow,.page-cta-band .eyebrow,.foot-h{font-weight:600;}
.noon-features li{border-bottom-color:rgba(255,255,255,.28);}
/* Les cartes avant/après gardent leur texte foncé */
.section--dark .ba-card .ba-condition{color:var(--ink);}
.section--dark .ba-card .ba-result{color:var(--texte);}
.section--dark .ba-labels span{color:#EFE6D6;}
/* Les boutons gardent leurs propres couleurs */
.page-cta-band .btn-book,.site-footer .btn-book{color:#FFFFFF;}
.page-cta-band .btn-outline{color:var(--prune-deep);}
.section--dark .btn span,.section--fonce .btn span,.site-footer .btn-book span,.section--dark .btn,.section--fonce .btn{color:inherit;}
.section--dark .btn,.section--fonce .btn{color:var(--prune-deep);}

/* =========================================================
   v17 — pied de page au ton de la section NOON,
   davantage de sections en écriture blanche pure
   ========================================================= */
.site-footer{background:var(--grege-profond);}
.foot-grid{border-bottom-color:rgba(255,255,255,.28);}
.site-footer .footer-bottom{color:#FFFFFF;opacity:1;}

/* Nouvelles sections en blanc : esprit, parrainage, « Pour qui ? », avis */
.section--blanc{background:var(--grege-profond);color:#FFFFFF;}
.section--blanc :is(h2,h3,p,li,span,strong,em,.heading,.lede,.eyebrow,.page-ul li){color:#FFFFFF !important;font-weight:400;}
.section--blanc .eyebrow,.section--blanc .eyebrow span{font-weight:600 !important;}
.section--blanc .heading{text-shadow:0 1px 2px rgba(40,30,20,.18);}
.section--blanc .values-list li{border-bottom-color:rgba(255,255,255,.28);}
.section--blanc .values-list li::before,.section--blanc .page-ul li::marker{color:#FFFFFF;}
.section--blanc .values-list strong{font-weight:600 !important;}
/* Les cartes restent claires, texte foncé */
.section--blanc :is(.review-card,.parrainage-card){background:#FAF7F2;border-color:transparent;}
.section--blanc :is(.review-card,.parrainage-card) :is(p,span,strong,em,h3,blockquote,div){color:var(--ink) !important;text-shadow:none;}
.section--blanc :is(.review-text,.parrainage-desc,.review-text span,.parrainage-desc span){color:var(--texte) !important;}
.section--blanc :is(.review-stars,.parrainage-icon){color:#E23AAC !important;}
.section--blanc .parrainage-amount{color:var(--prune) !important;}
.section--blanc .parrainage-divider{background:rgba(255,255,255,.4);}
.section--blanc .btn{color:var(--prune-deep) !important;}
.section--blanc .btn span{color:inherit !important;}
.section--blanc a:not(.btn){color:#FFFFFF;text-decoration-color:rgba(255,255,255,.6);}
.site-footer .foot-h,.site-footer .foot-h *{color:#FFFFFF !important;}
.site-footer{border-top:1px solid rgba(255,255,255,.32);}

/* =========================================================
   v18 — palette déclinée de la couleur NOON
   Base : grège nuit (ton NOON assombri) = couleur la plus foncée
   ========================================================= */
:root{
  --grege-nuit:linear-gradient(180deg,#6F6558 0%,#665D51 100%);      /* pied de page + NOON */
  --grege-profond:linear-gradient(180deg,#857969 0%,#7D7263 100%);   /* sections en blanc */
  --grege-taupe:#B9AD9D;                                              /* filets, ornements */
  --lin-fonce:linear-gradient(180deg,#DBD3C7 0%,#D5CBBE 100%);       /* grège soutenu : pages NOON, galerie */
  --lin-fonce-alt:linear-gradient(180deg,#E3DCD2 0%,#DBD3C7 100%);
  --lin:linear-gradient(180deg,#EDE7DE 0%,#E8E0D6 100%);             /* grège central */
  --lin-clair:linear-gradient(180deg,#F8F4EF 0%,#F4EFE9 100%);       /* grège clair */
  --cream-deep:#E8E0D6;
}
body{background:#EDE7DE;}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,rgba(248,244,239,.97) 0%,rgba(237,231,222,.97) 100%);}
@media(max-width:1180px){.site-header,.site-header.scrolled,.nav-links{background:#F4EFE9;}}
.nav-links a.is-active,.nav-sub-toggle.is-active,.carte-more,.related-pill--main{background:linear-gradient(#F8F4EF,#F8F4EF) padding-box,var(--lotus) border-box;}
.carte-nav{background:#E8E0D6;}
.nav-sub{background:#F8F4EF;}
.review-card,.parrainage-card,.section--blanc :is(.review-card,.parrainage-card){background:#F8F4EF;}
.page-noon .page-hero,.page-noon .section,.page-galerie .page-hero,.page-galerie .section{background:var(--lin-fonce);}
.page-noon .section--alt,.page-galerie .section--alt{background:var(--lin-fonce-alt);}
.values-list li::before{color:var(--grege-taupe);}

/* La couleur la plus foncée : pied de page et soins NOON */
.site-footer,#noon,.section--dark#noon,.page-noon .page-cta-band,.page-noon .section.page-cta-band{background:var(--grege-nuit);}
/* Les autres bandeaux en blanc gardent le grège profond, un ton plus clair */
.section--fonce,.section--blanc,.page-cta-band{background:var(--grege-profond);}
.page-noon .page-cta-band{background:var(--grege-nuit);}
/* Bloc avant/après intégré au bandeau NOON */
#noon .section--dark{background:transparent !important;}
.ba-card .ba-info,.ba-card .ba-info *{color:var(--ink) !important;text-shadow:none;}
.ba-card .ba-result,.ba-card .ba-result *{color:var(--texte) !important;}
.ba-card .ba-labels span,.ba-card .ba-labels span *{color:#FFFFFF !important;}
#noon + .section--dark{background:#665D51 !important;padding:0 0 5.5rem !important;margin:0 !important;border:0;}
#noon{padding-bottom:3rem;}

/* =========================================================
   v19 — trois fonds seulement : taupe (texte blanc), grège soutenu, grège
   ========================================================= */
:root{
  --taupe-fond:linear-gradient(180deg,#BCB0A0 0%,#B5A999 100%);
  --soutenu:linear-gradient(180deg,#DBD3C7 0%,#D5CBBE 100%);
  --grege-fond:linear-gradient(180deg,#F5F1EB 0%,#F1EBE3 100%);
  --grege-nuit:var(--taupe-fond);--grege-profond:var(--taupe-fond);
  --lin:var(--grege-fond);--lin-clair:var(--grege-fond);
  --lin-fonce:var(--soutenu);--lin-fonce-alt:var(--soutenu);
  --cream-deep:#F1EBE3;
}
body{background:#F5F1EB;}
/* Grège : fond principal, menu, cartes */
.section,.page-hero,.carte{background:var(--grege-fond);}
.site-header,.site-header.scrolled{background:linear-gradient(180deg,rgba(245,241,235,.97) 0%,rgba(241,235,227,.97) 100%);}
@media(max-width:1180px){.site-header,.site-header.scrolled,.nav-links{background:#F5F1EB;}}
.nav-sub{background:#F5F1EB;}
.nav-links a.is-active,.nav-sub-toggle.is-active,.carte-more,.related-pill--main{background:linear-gradient(#F5F1EB,#F5F1EB) padding-box,var(--lotus) border-box;}
.review-card,.parrainage-card,.section--blanc :is(.review-card,.parrainage-card),.ba-card .ba-info{background:#F5F1EB !important;}
.carte-nav{background:#DBD3C7;}
/* Grège soutenu : sections alternées, pages NOON et galerie */
.section--alt,.page-related{background:var(--soutenu);}
.page-noon .page-hero,.page-noon .section,.page-galerie .page-hero,.page-galerie .section{background:var(--soutenu);}
.page-noon .section--alt,.page-galerie .section--alt{background:var(--grege-fond);}
/* Taupe, texte blanc : NOON, sections blanches, appels à réserver, pied de page */
.site-footer,#noon,.section--dark,.section--fonce,.section--blanc,.page-cta-band,
.page-noon .page-cta-band,.page-galerie .page-cta-band,.page-noon .section.page-cta-band,.page-galerie .section.page-cta-band{background:var(--taupe-fond) !important;}
#noon + .section--dark{background:#B5A999 !important;}
.site-footer,.site-footer *:not(.btn-book):not(.btn-book *),
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band) :is(h1,h2,h3,p,li,.heading,.lede,.eyebrow,.page-ul li){
  text-shadow:0 1px 3px rgba(70,55,40,.45);}
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band) :is(p,li,.lede),.site-footer :is(p,a,li,span){font-weight:500 !important;}
:is(.review-card,.parrainage-card,.ba-card,.noon-visual-card) *{text-shadow:none !important;}
.noon-visual-card{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);}
.values-list li::before{color:#FFFFFF;}
.foot-grid,.site-footer{border-color:rgba(255,255,255,.45);}
.ba-card{background:#F5F1EB !important;}

/* =========================================================
   v20 — couleurs de caractères : blanc pur pour les titres sur taupe,
   encre pour les textes courants ; lisibilité téléphone
   ========================================================= */
:root{--encre:#3A322B;--brun:#5A4E43;}
/* Fonds clairs */
.section:not(.section--dark):not(.section--fonce):not(.section--blanc):not(.page-cta-band) :is(.heading,h1,h2,h3){color:var(--encre);}
.section:not(.section--dark):not(.section--fonce):not(.section--blanc):not(.page-cta-band) :is(p,li,.lede){color:var(--brun);}

/* Taupe : titres, pré-titres et chiffres en blanc pur… */
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band,#noon) :is(h1,h2,.heading,.eyebrow,.eyebrow span,.heading span,.heading em,.noon-tagline,.noon-logo-text){
  color:#FFFFFF !important;text-shadow:0 1px 3px rgba(70,55,40,.5) !important;}
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band,#noon) .heading{font-size:clamp(2rem,4.2vw,3rem);}
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band,#noon) .eyebrow{font-weight:700 !important;}
/* …et textes courants, listes, liens, petites mentions en encre */
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band,#noon) :is(p,li,.lede,.ba-credit,.noon-sub,.noon-logo-sub,.values-list li,.page-ul li,a:not(.btn):not(.btn-book)),
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band,#noon) :is(p,li,.lede,.ba-credit) :is(span,strong,em){
  color:var(--encre) !important;text-shadow:none !important;font-weight:400 !important;}
:is(.section--dark,.section--fonce,.section--blanc) :is(.values-list strong,.values-list strong span){font-weight:600 !important;}
:is(.section--dark,.section--fonce,.section--blanc,.page-cta-band,#noon) :is(li,.values-list li){border-bottom-color:rgba(58,50,43,.22) !important;}
.noon-features li::before,.values-list li::before,.section--blanc .page-ul li::marker{color:var(--prune-deep) !important;}
.noon-pills span{color:var(--encre) !important;border-color:rgba(58,50,43,.35) !important;text-shadow:none !important;}
.noon-visual-card{background:rgba(255,255,255,.22) !important;border-color:rgba(255,255,255,.55) !important;}
/* Cartes : inchangées (fond grège, texte foncé) */

/* Pied de page : titres de colonnes et nom en blanc, liens et adresse en encre */
.site-footer :is(.foot-h,.foot-h *,.foot-name){color:#FFFFFF !important;text-shadow:0 1px 3px rgba(70,55,40,.5) !important;font-weight:700;}
.site-footer :is(p,a:not(.btn-book),li,span:not(.btn-book span),.foot-tag,.footer-bottom,.footer-bottom *){color:var(--encre) !important;text-shadow:none !important;font-weight:400 !important;}
.site-footer .foot-tag{font-weight:600 !important;}
.foot-grid{border-bottom-color:rgba(58,50,43,.22) !important;}

/* Lisibilité sur téléphone */
@media (max-width:760px){
  body{font-size:17px;}
  p,li,.lede{font-size:1.02rem !important;line-height:1.7 !important;}
  .eyebrow,.page-eyebrow{font-size:.9rem !important;letter-spacing:.16em !important;}
  .review-service,.ba-result,.footer-bottom,.foot-list a,.foot-p{font-size:.95rem !important;}
  .noon-pills span{font-size:.78rem !important;}
  .btn,.btn-book{min-height:48px;}
}
footer.site-footer .foot-h,footer.site-footer .foot-h span.fr,footer.site-footer p.foot-name,footer.site-footer p.foot-name *{color:#FFFFFF !important;text-shadow:0 1px 3px rgba(70,55,40,.5) !important;font-weight:700 !important;}

/* =========================================================
   v21 — pré-titres et liens : blanc pur agrandi sur grège soutenu,
   rose lotus profond #A3246F sur grège
   ========================================================= */
:root{--rose-lotus-profond:#A3246F;}
/* Grège soutenu : blanc pur, plus grand, plus épais */
body:not(.page-noon):not(.page-galerie) :is(.section--alt,.page-related) :is(.eyebrow,.page-eyebrow,.eyebrow span,.page-eyebrow span,.page-link,p a:not(.btn):not(.btn-book),li a:not(.btn):not(.btn-book),.contact-link),
:is(.page-noon,.page-galerie) :is(.page-hero,.section:not(.section--alt):not(.section--dark):not(.section--fonce):not(.section--blanc):not(.page-cta-band)) :is(.eyebrow,.page-eyebrow,.eyebrow span,.page-eyebrow span,.page-link,p a:not(.btn):not(.btn-book),li a:not(.btn):not(.btn-book)){
  color:#FFFFFF !important;text-shadow:none !important;font-weight:700 !important;}
body:not(.page-noon):not(.page-galerie) :is(.section--alt,.page-related) :is(.eyebrow,.page-eyebrow),
:is(.page-noon,.page-galerie) :is(.page-hero,.section:not(.section--alt):not(.section--dark):not(.section--fonce):not(.section--blanc):not(.page-cta-band)) :is(.eyebrow,.page-eyebrow){
  font-size:1.12rem !important;letter-spacing:.2em !important;}
body:not(.page-noon):not(.page-galerie) :is(.section--alt,.page-related) .page-link,
:is(.page-noon,.page-galerie) .section .page-link{font-size:1.02rem !important;}

/* Grège : rose lotus profond, épais */
body:not(.page-noon):not(.page-galerie) :is(.page-hero,.section:not(.section--alt):not(.page-related):not(.section--dark):not(.section--fonce):not(.section--blanc):not(.page-cta-band)) :is(.eyebrow,.page-eyebrow,.eyebrow span,.page-eyebrow span,.page-link,p a:not(.btn):not(.btn-book),li a:not(.btn):not(.btn-book)),
:is(.page-noon,.page-galerie) .section--alt :is(.eyebrow,.page-eyebrow,.eyebrow span,.page-eyebrow span,.page-link,p a:not(.btn):not(.btn-book),li a:not(.btn):not(.btn-book)){
  color:var(--rose-lotus-profond) !important;text-shadow:none !important;font-weight:700 !important;}

@media (max-width:760px){
  body:not(.page-noon):not(.page-galerie) :is(.section--alt,.page-related) :is(.eyebrow,.page-eyebrow),
  :is(.page-noon,.page-galerie) .section:not(.section--alt) :is(.eyebrow,.page-eyebrow){font-size:1.02rem !important;letter-spacing:.16em !important;}
}

/* =========================================================
   v23 — page de garde : sans boutons de soins, textes plus lisibles
   ========================================================= */
.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 50% 50%,rgba(38,28,20,.62) 0%,rgba(38,28,20,.38) 55%,rgba(38,28,20,.12) 100%),linear-gradient(180deg,rgba(40,33,26,.45) 0%,rgba(40,33,26,.2) 45%,rgba(40,33,26,.6) 100%);}
.scroll-cue{opacity:1;text-shadow:0 1px 3px rgba(0,0,0,.5);}
.hero-content{position:relative;z-index:2;}
.hero-eyebrow,.hero-eyebrow span{color:#FFFFFF !important;font-size:1.02rem !important;font-weight:600 !important;letter-spacing:.24em !important;
  text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 14px rgba(0,0,0,.45) !important;opacity:1 !important;}
.hero-logo{color:#FFFFFF !important;text-shadow:0 2px 6px rgba(0,0,0,.4),0 0 30px rgba(0,0,0,.35) !important;opacity:1 !important;}
.hero-tagline,.hero-tagline span{color:#FFFFFF !important;font-size:clamp(1.6rem,2.6vw,2.2rem) !important;font-weight:500 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 18px rgba(0,0,0,.4) !important;opacity:1 !important;}
.hero-tagline{margin-bottom:2.4rem !important;}
.hero .btn-outline-light{color:#FFFFFF;font-weight:600;border-color:rgba(255,255,255,.85);background:rgba(38,28,20,.25);text-shadow:0 1px 2px rgba(0,0,0,.45);}
@media (max-width:760px){
  .hero-eyebrow,.hero-eyebrow span{font-size:.92rem !important;letter-spacing:.16em !important;line-height:1.7 !important;}
  .hero-media::after{background:rgba(38,28,20,.48);}
}

/* v24 — lotus au-dessus de « L'esprit de l'institut » et « La femme derrière la fleur » */
.lotus-gauche{display:block;width:84px;height:auto;margin:0 0 1rem;filter:drop-shadow(0 2px 6px rgba(60,40,30,.18));}
@media (max-width:760px){.lotus-gauche{width:72px;}}

.hero-eyebrow{line-height:1.9 !important;}
@media (max-width:760px){.hero-eyebrow,.hero-eyebrow span{font-size:.82rem !important;letter-spacing:.1em !important;white-space:nowrap;}}

/* =========================================================
   v27 — « Découvrir aussi » : format d'origine, couleurs lisibles
   ========================================================= */
html:not(#x) body .page-related .page-related-h{color:var(--encre) !important;}
html:not(#x) body .page-related ul.related-list li a.related-pill.related-pill:not(.btn):not(.btn-book):not(.x){
  color:var(--encre) !important;text-shadow:none !important;font-weight:400 !important;
  background:#F5F1EB;border:1.5px solid rgba(58,50,43,.22);}
html:not(#x) body .page-related ul.related-list li a.related-pill.related-pill--main:not(.btn):not(.btn-book):not(.x){
  color:var(--encre) !important;font-weight:500 !important;border-color:transparent;
  background:linear-gradient(#F5F1EB,#F5F1EB) padding-box,var(--lotus) border-box;}
html:not(#x) body .page-related ul.related-list li a.related-pill.related-pill:not(.btn):not(.btn-book):not(.x):hover{
  color:#A3246F !important;border-color:transparent;
  background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,var(--lotus) border-box;}

/* v28 — pré-titres sur grège : même couleur que les titres (encre) */
html:not(#x) body:not(.page-noon):not(.page-galerie) :is(.page-hero,.section:not(.section--alt):not(.page-related):not(.section--dark):not(.section--fonce):not(.section--blanc):not(.page-cta-band)) :is(.eyebrow,.page-eyebrow,.eyebrow span,.page-eyebrow span),
html:not(#x) :is(.page-noon,.page-galerie) .section--alt :is(.eyebrow,.page-eyebrow,.eyebrow span,.page-eyebrow span){
  color:var(--encre) !important;}

/* =========================================================
   v29 — « Découvrir aussi » : 3 soins signature en première ligne, mis en avant
   ========================================================= */
.related-rows{display:flex;flex-direction:column;align-items:center;gap:1.1rem;}
.related-list--main{display:grid !important;grid-template-columns:repeat(3,auto);justify-content:center;gap:1rem !important;}
html:not(#x) body .page-related ul.related-list--main li :is(a,span).related-pill.related-pill--main{
  min-height:58px;padding:0 2rem;font-size:1.32rem !important;font-weight:500 !important;color:var(--encre) !important;
  border:2px solid transparent !important;
  background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,linear-gradient(120deg,#E23AAC 0%,#E9A4D6 100%) border-box !important;
  box-shadow:0 10px 22px -14px rgba(160,40,110,.55);}
html:not(#x) body .page-related ul.related-list--main li a.related-pill.related-pill--main:hover{
  color:#A3246F !important;transform:translateY(-1px);box-shadow:0 14px 26px -14px rgba(160,40,110,.6);}
html:not(#x) body .page-related ul.related-list--main li span.related-pill.related-pill--main.related-pill--current{
  background:linear-gradient(#F6DCEE,#FBEEF6) padding-box,linear-gradient(120deg,#E23AAC 0%,#E9A4D6 100%) border-box !important;cursor:default;}
html:not(#x) body .page-related ul.related-list--others li a.related-pill.related-pill:not(.x){
  min-height:42px;padding:0 1.2rem;font-size:1rem !important;background:transparent;border:1px solid rgba(58,50,43,.28);}
html:not(#x) body .page-related ul.related-list--others li a.related-pill.related-pill:not(.x):hover{background:#F5F1EB;color:#A3246F !important;}
.related-pill{display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:all .25s;}
@media (max-width:760px){
  .related-list--main{grid-template-columns:1fr;width:100%;max-width:340px;gap:.7rem !important;}
  html:not(#x) body .page-related ul.related-list--main li :is(a,span).related-pill{width:100%;font-size:1.22rem !important;}
  .related-list--others{gap:.5rem !important;}
}

/* v30 — moins d'espace en haut des pages de soins */
.page-hero{padding-top:88px !important;padding-bottom:64px !important;}
.page-hero .crumbs{margin-bottom:1.2rem !important;}
@media (max-width:760px){.page-hero{padding-top:84px !important;padding-bottom:48px !important;}}

/* v31 — puces dans la couleur du texte de la ligne */
html:not(#x) body li::marker{color:currentColor !important;}
html:not(#x) body :is(.values-list,.noon-features,.page-ul,ul,ol) li::before{color:currentColor !important;}

/* v32 — chiffres du déroulement dans la couleur du titre de l'étape */
html:not(#x) body .steps .step-n{color:var(--encre) !important;}
html:not(#x) body :is(.section--dark,.section--fonce,.section--blanc,.page-cta-band) .steps .step-n{color:#FFFFFF !important;}

/* v36 — horaires plus grands et plus lisibles */
html:not(#x) body .hours-table{font-size:1.12rem;}
html:not(#x) body .hours-table td{padding:.7rem 0;color:var(--encre);}
html:not(#x) body .hours-table td:first-child{font-weight:500;}
html:not(#x) body .hours-table td:last-child{font-size:1.18rem;color:var(--encre);}
html:not(#x) body .hours-table tr.closed td:last-child{color:var(--brun);}
@media (max-width:760px){
  html:not(#x) body .hours-table{font-size:1.08rem;}
  html:not(#x) body .hours-table td:last-child{font-size:1.12rem;}
}

/* =========================================================
   v38 — horaires (note du jeudi), réseaux sociaux, WhatsApp, carte
   ========================================================= */
html:not(#x) body .hours-table .hours-note{display:block;font-size:.82rem;font-style:italic;color:var(--brun);margin-top:.15rem;letter-spacing:.01em;}

/* Réseaux sociaux : pastilles plus grandes, WhatsApp ajouté */
html:not(#x) body .social-row{gap:1rem;margin-top:1.6rem;}
html:not(#x) body .social-row a{width:54px;height:54px;background:#F5F1EB;border:1px solid rgba(58,50,43,.18);color:var(--encre) !important;box-shadow:0 6px 14px -10px rgba(58,50,43,.5);}
html:not(#x) body .social-row a svg{width:26px;height:26px;}
html:not(#x) body .social-row a:hover{background:#FFFFFF;color:#A3246F !important;border-color:transparent;}

/* Lien WhatsApp du bloc contact */
html:not(#x) body .contact-list li a.wa-link{display:inline-flex;align-items:center;gap:.55rem;}
html:not(#x) body .contact-list li a.wa-link svg{width:20px;height:20px;flex:none;}

/* Carte : encadrée, tons adoucis, adresse et itinéraire */
.map-card{background:#F5F1EB;padding:12px 12px 0;border-radius:4px;box-shadow:0 18px 40px -24px rgba(58,50,43,.55);}
html:not(#x) body .map-frame{display:block;width:100%;aspect-ratio:4/3.4;border:0;border-radius:2px;box-shadow:none;
  filter:grayscale(.45) sepia(.18) saturate(.9) contrast(.96) brightness(1.02);}
.map-caption{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem .4rem 1.1rem;}
.map-caption .map-addr{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.08rem;color:var(--encre);line-height:1.4;}
html:not(#x) body .map-caption a.map-go{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#A3246F !important;text-decoration:none;white-space:nowrap;}
html:not(#x) body .map-caption a.map-go:hover{text-decoration:underline;}
@media (max-width:760px){.map-card{padding:8px 8px 0;}.map-caption{padding:.8rem .3rem .9rem;}}

/* v39 — logos originaux des réseaux sociaux */
html:not(#x) body .social-row a{background:#FFFFFF;}
html:not(#x) body .social-row a svg{width:28px;height:28px;}
html:not(#x) body .social-row a:hover{transform:translateY(-2px);box-shadow:0 10px 18px -10px rgba(58,50,43,.55);}

/* v40 — carte à la même hauteur que les horaires */
.visit-head{margin-bottom:2.4rem;}
.visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem 4.5rem;align-items:stretch;}
.visit-layout .visit-block+.visit-block{margin-top:0;}
.visit-hours{grid-column:1;grid-row:1;}
.visit-map{grid-column:2;grid-row:1;display:flex;}
.visit-contact{grid-column:1 / span 2;grid-row:2;}
.visit-contact .contact-list{max-width:560px;}
html:not(#x) body .visit-map .map-card{display:flex;flex-direction:column;width:100%;}
html:not(#x) body .visit-map .map-frame{flex:1;aspect-ratio:auto;min-height:300px;height:auto;}
@media (min-width:761px){
  .visit-contact{display:grid;grid-template-columns:1fr 1fr;column-gap:4.5rem;align-items:start;}
  .visit-contact h3{grid-column:1 / span 2;}
  .visit-contact .contact-list{grid-column:1;grid-row:2 / span 2;}
  .visit-contact .social-row{grid-column:2;grid-row:2;margin-top:0;}
  .visit-contact .visit-cta{grid-column:2;grid-row:3;margin-top:1.4rem;}
}
@media (max-width:760px){
  .visit-layout{grid-template-columns:1fr;gap:2.2rem;}
  .visit-hours,.visit-map,.visit-contact{grid-column:1;grid-row:auto;}
  html:not(#x) body .visit-map .map-frame{min-height:300px;}
}
