/* ===== Badrati Body : feuille de style =====
   Couleurs modifiables ci-dessous (variables :root). */

@font-face{font-family:"Poppins";font-weight:300;font-style:normal;font-display:swap;src:url(/fonts/Poppins-Light.woff) format("woff")}
@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Poppins-Regular.woff) format("woff")}
@font-face{font-family:"Lora";font-weight:400 700;font-style:normal;font-display:swap;src:url(/fonts/Lora-Variable.woff) format("woff")}
@font-face{font-family:"Lora";font-weight:400 700;font-style:italic;font-display:swap;src:url(/fonts/Lora-Italic-Variable.woff) format("woff")}

:root{
  --blanc:#FFFAF4;
  --creme:#F6EADC;
  --nude:#EBDBC8;
  --nude-fonce:#D7C1A8;
  --brun:#5A4235;
  --brun-fonce:#33261F;
  --nuit:#211915;
  --nuit-2:#2C221C;
  --laiton:#B39468;        /* filets, icônes, détails dorés */
  --laiton-clair:#D9C3A5;
  --laiton-texte:#7E6443;  /* laiton assombri pour le petit texte sur fond clair */
  --texte:#3B2D27;
  --texte-doux:#6E5A4F;
  --sans:"Poppins","Avenir Next","Century Gothic","Helvetica Neue",Arial,sans-serif;
  --serif:"Lora","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --max:1180px;
  --douce:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--blanc);color:var(--texte);font-family:var(--serif);font-size:18px;line-height:1.75;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--sans);font-weight:300;text-transform:uppercase;letter-spacing:.06em;line-height:1.25;margin:0 0 .6em;color:var(--texte)}
h1{font-size:clamp(1.8rem,4.8vw,3.2rem)}
h2{font-size:clamp(1.35rem,3vw,2.05rem)}
h3{font-size:1.02rem;letter-spacing:.12em}
p{margin:0 0 1.1em}
.container{width:min(var(--max),100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px);margin-inline:auto}
.center{text-align:center}
.accent{font-style:italic;text-transform:none;letter-spacing:0;font-family:var(--serif);font-weight:400}
.doux{color:var(--texte-doux)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--brun);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:2px solid var(--laiton);outline-offset:3px}
::selection{background:var(--laiton-clair);color:var(--nuit)}

/* Icônes et monogramme */
.ico{width:1.5em;height:1.5em;flex:none;color:var(--laiton)}
.mono{display:block;color:var(--laiton)}
.ornement{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px auto 22px;color:var(--laiton)}
.ornement span{width:56px;height:1px;background:currentColor;opacity:.6}
.ornement .ico{width:18px;height:18px}

/* Boutons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:400;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid currentColor;padding:15px 30px;line-height:1.3;cursor:pointer;background:transparent;color:var(--texte);overflow:hidden;isolation:isolate;transition:color .45s var(--douce),border-color .45s var(--douce)}
.btn::before{content:"";position:absolute;inset:0;background:var(--brun);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--douce);z-index:-1}
.btn:hover{color:#fff;border-color:var(--brun)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn .ico{width:1.35em;height:1.35em;color:currentColor}
.btn-plein{background:var(--brun);color:#fff;border-color:var(--brun)}
.btn-plein::before{background:var(--nuit)}
.btn-plein:hover{border-color:var(--nuit)}
.btn-clair{color:#fff;border-color:rgba(255,255,255,.75)}
.btn-clair::before{background:#fff}
.btn-clair:hover{color:var(--nuit);border-color:#fff}
.btn-petit{padding:11px 18px;font-size:.66rem}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.center .actions{justify-content:center}

/* En-tête */
.entete{position:sticky;top:0;z-index:50;background:rgba(33,25,21,.9);color:#F3EAE0;border-bottom:1px solid rgba(179,148,104,.22);transition:background .4s,border-color .4s,color .4s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.entete-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;width:min(1320px,100% - 40px);margin-inline:auto;transition:min-height .4s}
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;color:inherit}
.logo img{height:46px;width:auto}
.mono-logo{width:30px;height:38px;transition:transform .6s var(--douce)}
.logo:hover .mono-logo{transform:translateY(-2px)}
.logo-texte{display:flex;flex-direction:column;font-family:var(--sans);font-weight:300;font-size:1.25rem;letter-spacing:.26em;text-transform:uppercase;line-height:1.1}
.logo-texte small{font-family:var(--serif);font-style:italic;font-size:.74rem;letter-spacing:.04em;text-transform:none;color:var(--laiton-clair);margin-top:5px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-family:var(--sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:8px 0;position:relative}
.nav > a:not(.btn)::after,.has-sub > a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--laiton);transform:scaleX(0);transition:transform .4s var(--douce)}
.nav > a:not(.btn):hover::after,.nav a[aria-current=page]::after,.has-sub:hover > a::after{transform:scaleX(1)}
.nav .btn{padding:11px 18px;border:1px solid currentColor;color:inherit}
.nav .btn:hover{color:var(--nuit)}
.nav .btn::before{background:var(--laiton-clair)}
.mono-logo{color:var(--laiton-clair)}
.entete-hero:not(.scrolle):not(.ouvert) .nav .btn::before{background:#fff}
.entete-hero:not(.scrolle):not(.ouvert) .nav .btn:hover{color:var(--nuit)}
.nav a{white-space:nowrap}
.has-sub{position:relative}
.sub{position:absolute;top:100%;left:-18px;min-width:270px;background:var(--nuit);color:#F3EAE0;border:1px solid rgba(179,148,104,.22);border-top:2px solid var(--laiton);padding:10px 0;display:none;box-shadow:0 18px 40px rgba(33,25,21,.12)}
.sub a{display:block;padding:10px 20px}
.sub a:hover{background:rgba(179,148,104,.14)}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.burger{display:none;background:none;border:1px solid currentColor;padding:10px 12px;cursor:pointer;font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:inherit}
/* Accueil : en-tête transparent sur la photo, opaque au défilement */
.entete-hero{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.entete-hero .logo-texte small{color:rgba(255,255,255,.8)}
.entete-hero .mono-logo{color:var(--laiton-clair)}
.entete-hero.scrolle,.entete-hero.ouvert{background:rgba(33,25,21,.9);border-color:rgba(179,148,104,.22);color:#F3EAE0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.entete-hero.scrolle .logo-texte small,.entete-hero.ouvert .logo-texte small{color:var(--laiton-clair)}
.entete-hero.scrolle .mono-logo,.entete-hero.ouvert .mono-logo{color:var(--laiton-clair)}
.entete.scrolle .entete-in{min-height:68px}

/* Accueil : grand visuel */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;color:#fff;text-align:center;overflow:hidden;background:var(--nuit)}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 52%,rgba(33,25,21,.5),rgba(33,25,21,.28) 75%),linear-gradient(180deg,rgba(33,25,21,.5),rgba(33,25,21,.15) 40%,rgba(33,25,21,.7))}
.hero-in{position:relative;z-index:2;padding:120px 20px 90px;max-width:900px}
.mono-hero{width:54px;height:68px;margin:0 auto 22px;color:var(--laiton-clair)}
.hero-sur{font-family:var(--sans);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;margin:0 0 1.2em;color:var(--laiton-clair)}
.hero h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.25);margin-bottom:.5em}
.hero h1 .accent{display:block;font-size:.92em;margin-top:.1em;letter-spacing:.01em}
.hero-chapo{font-style:italic;font-size:clamp(1.05rem,2vw,1.3rem);max-width:560px;margin:0 auto 2em;color:rgba(255,255,255,.88)}
.hero-defiler{position:absolute;z-index:2;left:50%;bottom:28px;transform:translateX(-50%);width:26px;height:42px;border:1px solid rgba(255,255,255,.6);border-radius:14px}
.hero-defiler span{position:absolute;left:50%;top:9px;width:2px;height:8px;margin-left:-1px;border-radius:2px;background:#fff}

/* Bandeau de mots qui défile */
.defile{background:var(--nuit);color:var(--laiton-clair);overflow:hidden;padding:20px 0;border-top:1px solid rgba(179,148,104,.25)}
.defile-in{display:flex;align-items:center;gap:34px;width:max-content;font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2vw,1.4rem);white-space:nowrap}
.defile .ico{width:16px;height:16px;color:var(--laiton)}

/* Sections */
.section{padding:clamp(70px,10vw,130px) 0}
.section-nude{background:var(--nude)}
.section-creme{background:var(--creme)}
.section-nuit{background:var(--nuit);color:#E9DED2}
.section-nuit h2,.section-nuit h3{color:#fff}
.section-nuit p{color:#CDBFB2}
.section-nuit-2{background:var(--nuit-2)}
.chapo{max-width:640px;margin:0 auto 50px;text-align:center;font-size:1.15rem;color:var(--texte-doux)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--laiton-texte);margin-bottom:1.1em}
.eyebrow .ico{width:18px;height:18px;color:var(--laiton)}
.eyebrow-clair{color:var(--laiton-clair)}
.titre-section{text-align:center;margin-bottom:10px}
.titre-section h2{margin-bottom:.3em}
.section-nuit .ornement,.section-nuit .chapo{color:var(--laiton-clair)}

/* Arches */
.arches{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.arches-3{grid-template-columns:repeat(3,1fr);margin-top:40px}
.arche{text-decoration:none;text-align:center;display:block}
.arche-img{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;border-radius:999px 999px 0 0;background:var(--nude)}
.arche-img::after{content:"";position:absolute;inset:10px 10px 0;border:1px solid rgba(217,195,165,.55);border-bottom:0;border-radius:999px 999px 0 0;opacity:0;transition:opacity .6s var(--douce)}
.arche-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--douce),filter 1s}
.arche:hover .arche-img img{transform:scale(1.07)}
.arche:hover .arche-img::after{opacity:1}
.arche-ico{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:46px;height:46px;border-radius:50%;background:rgba(33,25,21,.55);display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .6s var(--douce)}
.arche-ico .ico{width:22px;height:22px;color:var(--laiton-clair)}
.arche:hover .arche-ico{transform:translateX(-50%) translateY(-6px)}
.arche-nom{display:block;font-style:italic;font-size:1.3rem;padding:18px 0 10px;border-bottom:1px solid var(--nude-fonce)}
.arche-prix{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux);padding-top:9px}
.arches-mini{grid-template-columns:repeat(4,1fr);gap:20px}
.arches-mini .arche-nom{font-size:1.1rem}

/* Étapes avec icônes (déroulé) */
.etapes-ico{list-style:none;margin:28px 0 0;padding:0}
.etapes-ico li{display:flex;gap:20px;align-items:flex-start;padding:20px 0;border-top:1px solid rgba(217,195,165,.18)}
.etapes-ico .ico{width:38px;height:38px;padding:8px;border:1px solid rgba(217,195,165,.4);border-radius:50%;color:var(--laiton-clair)}
.etapes-ico h3{font-size:.85rem;letter-spacing:.2em;margin:4px 0 .4em}
.etapes-ico p{margin:0;font-size:1rem}

/* Citation sur photo */
.signature{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden;background:var(--nuit);text-align:center}
.signature-img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;will-change:transform}
.signature::after{content:"";position:absolute;inset:0;background:rgba(33,25,21,.55)}
.signature-in{position:relative;z-index:2;margin:0;padding:90px 24px;max-width:820px;color:#fff}
.mono-signature{width:38px;height:48px;margin:0 auto 26px;color:var(--laiton-clair)}
.signature-in p{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,3.8vw,2.6rem);line-height:1.35;margin-bottom:.8em}
.signature-in cite{font-style:normal;font-family:var(--sans);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--laiton-clair)}

/* Galerie */
.galerie{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px;margin-top:40px}
.galerie figure{margin:0;overflow:hidden;background:var(--nude)}
.galerie img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--douce)}
.galerie figure:hover img{transform:scale(1.06)}
.galerie .g-large{grid-column:span 2;grid-row:span 2}
.galerie .g-haute{grid-row:span 2}
.galerie .g-large-h{grid-column:span 2}
.galerie-3{grid-template-columns:repeat(3,1fr);grid-auto-rows:340px;margin-top:0}
.galerie-3 figure:nth-child(2){border-radius:999px 999px 0 0}

/* Infos pratiques / engagements */
.infos-pratiques{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.infos-pratiques > div{padding:40px 28px;border:1px solid var(--nude-fonce);background:var(--blanc);transition:transform .6s var(--douce),box-shadow .6s var(--douce)}
.infos-pratiques > div:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(33,25,21,.08)}
.infos-pratiques .ico{width:44px;height:44px;margin:0 auto 18px}
.infos-pratiques p{margin:0;color:var(--texte-doux)}
.infos-clair > div{background:transparent;border-color:rgba(217,195,165,.25)}
.infos-clair .ico{color:var(--laiton-clair)}
.infos-clair p{color:#CDBFB2}

/* Avis */
.avis-band{text-align:center}
.avis-slide{display:none;max-width:860px;margin:0 auto;padding:0}
.avis-slide.actif{display:block;animation:fondu .8s var(--douce)}
.avis-titre{font-family:var(--sans);font-weight:300;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.15rem,2.4vw,1.7rem);line-height:1.4;margin-bottom:1em}
.avis-auteur{font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-doux)}
.avis-nav{display:flex;justify-content:center;gap:24px;margin-top:20px}
.avis-nav button{background:none;border:1px solid var(--nude-fonce);border-radius:50%;width:48px;height:48px;font-size:1.2rem;cursor:pointer;color:var(--texte);transition:background .3s,color .3s}
.avis-nav button:hover{background:var(--brun);color:#fff;border-color:var(--brun)}

/* Bloc image + texte */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.duo-img{position:relative;border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:4/5;background:var(--nude)}
.duo-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--douce)}
.duo-img:hover img{transform:scale(1.04)}
.duo-inverse .duo-img{order:2}
.duo-carre .duo-img{border-radius:0;aspect-ratio:3/2}
.section-nuit .duo-img{background:var(--nuit-2)}

/* Bandeau photo en tête de page */
.page-titre{position:relative;text-align:center;padding:clamp(110px,15vw,180px) 0 clamp(70px,10vw,120px);overflow:hidden;background:var(--nuit);color:#fff}
.page-titre-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-titre::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(33,25,21,.55),rgba(33,25,21,.72))}
.page-titre-in{position:relative;z-index:2}
.page-titre h1{color:#fff}
.mono-titre{width:34px;height:43px;margin:0 auto 18px;color:var(--laiton-clair)}
.page-titre-chapo{max-width:640px;margin:0 auto;font-size:1.15rem;font-style:italic;color:rgba(255,255,255,.88)}
.fil{font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--laiton-clair);margin-bottom:22px}
.fil a{text-decoration:none;border-bottom:1px solid rgba(217,195,165,.45)}

/* Listes et cartes */
.liste{list-style:none;padding:0;margin:0 0 1.4em}
.liste li{padding:14px 0 14px 30px;position:relative;border-bottom:1px solid var(--nude)}
.liste li::before{content:"";position:absolute;left:0;top:1.3em;width:7px;height:7px;border:1px solid var(--laiton);transform:rotate(45deg)}
.etapes{counter-reset:e;list-style:none;padding:0;margin:0 0 1.4em}
.etapes li{counter-increment:e;padding:16px 0 16px 58px;position:relative;border-bottom:1px solid var(--nude)}
.etapes li::before{content:counter(e,decimal-leading-zero);position:absolute;left:0;top:14px;width:38px;height:38px;border:1px solid var(--laiton);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:.85rem;color:var(--brun)}
.note{background:var(--creme);border-left:2px solid var(--laiton);padding:16px 20px;font-size:.98rem;color:var(--texte-doux)}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.carte{border:1px solid var(--nude-fonce);padding:34px;background:var(--blanc);transition:box-shadow .6s var(--douce),transform .6s var(--douce)}
.carte:hover{box-shadow:0 22px 44px rgba(33,25,21,.08);transform:translateY(-4px)}
.carte > .ico{width:40px;height:40px;margin-bottom:16px}
.carte-image{padding:0;overflow:hidden}
.carte-image > img{width:100%;aspect-ratio:16/10;object-fit:cover}
.carte-corps{padding:30px 34px}
.carte-corps > .ico{width:34px;height:34px;margin-bottom:12px}
.li-ico{display:flex;gap:12px;align-items:flex-start}
.li-ico .ico{width:20px;height:20px;margin-top:4px}
.h-ico{display:flex;align-items:center;gap:10px}
.h-ico .ico{width:22px;height:22px}
.puces{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0 0 26px}
.puces li{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--nude-fonce);border-radius:999px;background:var(--creme)}
.puces .ico{width:17px;height:17px}
.bande-image{margin:0;height:clamp(260px,40vw,480px);overflow:hidden}
.bande-image img{width:100%;height:100%;object-fit:cover}
.legal-ico{margin:0 0 10px;color:var(--laiton)}
.legal-ico .ico{width:42px;height:42px}

/* Tarifs */
.tarifs{width:100%;border-collapse:collapse;margin:0 0 30px}
.tarifs th,.tarifs td{padding:18px 6px;border-bottom:1px solid var(--nude-fonce);text-align:left;vertical-align:baseline}
.tarifs th{font-family:var(--sans);font-weight:300;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-doux)}
.tarifs td:last-child,.tarifs th:last-child{text-align:right;white-space:nowrap}
.tarifs tbody tr{transition:background .3s}
.tarifs tbody tr:hover{background:rgba(235,225,215,.45)}
.tarifs .nom{font-size:1.15rem}
.tarifs .prix{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--brun)}
.tarifs small{display:block;color:var(--texte-doux);font-size:.88rem;font-style:normal}

/* FAQ */
.faq-grille{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,80px);align-items:start}
.faq-visuel{position:sticky;top:110px}
.faq-visuel img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 0 0}
.faq-encart{display:flex;gap:14px;align-items:center;margin:18px 0 0;padding:18px 20px;background:var(--creme);border-left:2px solid var(--laiton);font-size:1rem}
.faq-encart .ico{width:30px;height:30px}
details.q{border-bottom:1px solid var(--nude-fonce);padding:6px 0}
details.q summary{cursor:pointer;list-style:none;font-family:var(--sans);font-weight:300;font-size:.95rem;letter-spacing:.04em;padding:16px 40px 16px 0;position:relative}
details.q summary::-webkit-details-marker{display:none}
details.q summary::after{content:"+";position:absolute;right:4px;top:12px;width:28px;height:28px;border:1px solid var(--nude-fonce);border-radius:50%;display:grid;place-items:center;font-size:1.1rem;line-height:1;color:var(--laiton);transition:transform .4s var(--douce)}
details.q[open] summary::after{transform:rotate(45deg)}
details.q div{padding:0 0 16px;color:var(--texte-doux)}

/* Texte légal */
.legal h2{font-size:1.25rem;margin-top:2em}
.legal h3{font-size:.95rem;margin-top:1.6em}
.legal p,.legal li{font-size:1rem}
.a-completer{background:#FFF3CD;padding:1px 6px;border-radius:2px}

/* Appel à réserver (bas de chaque page) */
.appel{position:relative;padding:clamp(90px,12vw,150px) 0;text-align:center;overflow:hidden;background:var(--nuit);color:#fff}
.appel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.appel::after{content:"";position:absolute;inset:0;background:rgba(33,25,21,.62)}
.appel-in{position:relative;z-index:2;width:min(760px,100% - 40px);margin-inline:auto}
.appel h2{color:#fff}
.appel .actions{justify-content:center;margin-top:28px}
.mono-appel{width:36px;height:46px;margin:0 auto 20px;color:var(--laiton-clair)}

/* Pied de page */
.pied{background:var(--nuit);color:#E3D6C9;padding:80px 0 30px;font-size:.98rem;border-top:1px solid rgba(179,148,104,.25)}
.pied a{text-decoration:none;border-bottom:1px solid rgba(237,228,222,.25);transition:border-color .3s,color .3s}
.pied a:hover{border-color:var(--laiton-clair);color:#fff}
.pied-grille{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px}
.pied h2{font-size:.7rem;letter-spacing:.26em;color:var(--laiton-clair);margin-bottom:1.3em}
.pied ul{list-style:none;margin:0;padding:0}
.pied li{margin-bottom:.6em}
.pied .ico{color:var(--laiton)}
.logo-pied{border:0!important;color:#fff;margin-bottom:18px}
.logo-pied .logo-texte small{color:var(--laiton-clair)}
.mono-pied{width:34px;height:43px}
.reseaux{display:flex;gap:10px;margin-top:18px}
.reseau{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(217,195,165,.35)!important;border-radius:50%;transition:background .3s,transform .4s var(--douce)!important}
.reseau:hover{background:rgba(179,148,104,.2);transform:translateY(-3px)}
.reseau .ico{width:20px;height:20px;color:var(--laiton-clair)}
.pied-bas{margin-top:56px;padding-top:22px;border-top:1px solid rgba(237,228,222,.14);font-size:.85rem;color:#B9A898;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.pied-bas button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;padding:0}

/* Bandeau cookies (utilisé seulement si des statistiques sont activées) */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:560px;background:#fff;border:1px solid var(--nude-fonce);box-shadow:0 12px 40px rgba(60,40,30,.18);padding:22px;font-size:.95rem}
.cookies[hidden]{display:none}
.cookies .actions{margin-top:14px}
.cookies .btn{padding:12px 18px;flex:1;text-align:center}

/* Barre de réservation mobile */
.barre-mobile{display:none}

/* ===== Animations (seulement si l'utilisateur n'a pas demandé à réduire les animations) ===== */
@keyframes fondu{from{opacity:0}to{opacity:1}}
@keyframes zoomLent{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes monte{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes defile{to{transform:translateX(-50%)}}
@keyframes molette{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}
@keyframes trace{from{stroke-dashoffset:260}to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:no-preference){
  .hero-media,.page-titre-img{animation:zoomLent 14s var(--douce) both}
  .hero-in > *{animation:monte 1.2s var(--douce) both}
  .hero-in > :nth-child(2){animation-delay:.15s}
  .hero-in > :nth-child(3){animation-delay:.3s}
  .hero-in > :nth-child(4){animation-delay:.45s}
  .hero-in > :nth-child(5){animation-delay:.6s}
  .mono-hero path,.mono-titre path{stroke-dasharray:260;animation:trace 2.4s var(--douce) both}
  .page-titre-in > *{animation:monte 1s var(--douce) both}
  .page-titre-in > :nth-child(2){animation-delay:.12s}
  .page-titre-in > :nth-child(3){animation-delay:.24s}
  .page-titre-in > :nth-child(4){animation-delay:.36s}
  .hero-defiler span{animation:molette 2s ease-in-out infinite}
  .defile-in{animation:defile 38s linear infinite}
  .js .reveal{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--douce),transform 1.1s var(--douce);transition-delay:var(--d,0s)}
  .js .reveal.vu{opacity:1;transform:none}
}

/* ===== Effets premium ===== */
/* Sections sombres : arches et galerie */
.section-nuit .arche-nom{color:#F3EAE0;border-color:rgba(217,195,165,.22)}
.section-nuit .arche-prix{color:var(--laiton-clair)}
.section-nuit .arche-img{background:var(--nuit-2)}
.section-nuit .galerie figure{background:var(--nuit-2)}
.section-nuit .btn{color:#F3EAE0}
.section-nuit .btn::before{background:var(--laiton-clair)}
.section-nuit .btn:hover{color:var(--nuit);border-color:var(--laiton-clair)}

/* Titre d'accueil en lignes masquées */
.hero h1 .ligne{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .ligne > span{display:inline-block}
.hero h1 .accent{display:block}

/* Halo ambré derrière le texte (écho du disque lumineux des références) */
.hero-halo{position:absolute;z-index:1;left:50%;top:50%;width:min(78vw,860px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(226,170,98,.30) 0%,rgba(226,170,98,.12) 38%,rgba(226,170,98,0) 68%);pointer-events:none;mix-blend-mode:screen}

/* Balises techniques masquées par défaut (sans JavaScript, rien ne s'affiche) */
.intro,.rideau,.curseur,.grain{display:none}

/* Grain argentique sur toute la page */
.grain{position:fixed;inset:-100%;z-index:120;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>")}

/* Citation : mots qui s'allument */
.citation .mot{display:inline-block;transition:opacity .6s var(--douce),color .6s var(--douce),filter .6s var(--douce)}

/* Lumière qui balaie les arches au survol */
.arche-img::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(110deg,transparent 30%,rgba(255,214,160,.28) 48%,transparent 66%);transform:translateX(-120%);transition:transform 1.3s var(--douce);pointer-events:none}
.arche:hover .arche-img::before{transform:translateX(120%)}
.arche-img{transform-style:preserve-3d;transition:transform .6s var(--douce)}

@media (prefers-reduced-motion:no-preference){
  /* Ouverture : le monogramme se dessine, puis le rideau se lève en arche */
  .js:not(.intro-vu) .intro{display:grid;place-content:center;justify-items:center;position:fixed;inset:0;z-index:200;background:var(--nuit);color:var(--laiton-clair);text-align:center;animation:introLeve .6s .55s cubic-bezier(.76,0,.24,1) forwards}
  .mono-intro{width:70px;height:88px;color:var(--laiton-clair)}
  .mono-intro path{stroke-dasharray:260;stroke-dashoffset:260;animation:trace 1.4s .1s var(--douce) forwards}
  .intro-nom{font-family:var(--sans);font-weight:300;letter-spacing:.5em;text-transform:uppercase;font-size:.9rem;margin:26px 0 6px;opacity:0;animation:fondu .8s .7s forwards}
  .intro-sous{font-style:italic;font-size:.95rem;color:rgba(217,195,165,.7);margin:0;opacity:0;animation:fondu .8s .9s forwards}
  .intro.fin{animation:introLeve .7s cubic-bezier(.76,0,.24,1) forwards}
  .js:not(.intro-vu){--intro:.75s}

  /* Rideau de transition entre les pages */
  .js .rideau{display:grid;place-items:center;position:fixed;inset:0;z-index:190;background:var(--nuit);transform:translateY(105%);border-radius:50% 50% 0 0/14% 14% 0 0;pointer-events:none}
  .mono-rideau{width:46px;height:58px;color:var(--laiton-clair);opacity:0}
  .js.sortie .rideau{animation:rideauEntre .65s cubic-bezier(.76,0,.24,1) forwards}
  .js.sortie .mono-rideau{animation:fondu .4s .3s forwards}
  .js.entree .rideau{transform:none;border-radius:0;animation:rideauSort .9s .05s cubic-bezier(.76,0,.24,1) forwards}

  /* Grain animé */
  .js .grain{display:block;animation:grain 1.2s steps(6) infinite}

  /* Grand visuel : ouverture en arche + titre ligne à ligne + halo qui respire */
  .hero-media{animation:archeOuvre 2s calc(var(--intro,0s) + .1s) cubic-bezier(.65,0,.2,1) both,zoomLent 16s calc(var(--intro,0s) + .1s) var(--douce) both}
  .hero-halo{animation:fondu 2s calc(var(--intro,0s) + .8s) both,respire 8s calc(var(--intro,0s) + 2.8s) ease-in-out infinite}
  .hero-in > *{animation:monte 1.2s var(--douce) both;animation-delay:calc(var(--intro,0s) + .9s)}
  .hero-in > h1{animation:none}
  .hero h1 .ligne > span{animation:ligneMonte 1.3s cubic-bezier(.2,.7,.1,1) both;animation-delay:calc(var(--intro,0s) + 1.1s)}
  .hero h1 .ligne + .ligne > span{animation-delay:calc(var(--intro,0s) + 1.25s)}
  .hero-in > :nth-child(1){animation-delay:calc(var(--intro,0s) + .7s)}
  .hero-in > :nth-child(2){animation-delay:calc(var(--intro,0s) + .95s)}
  .hero-in > :nth-child(4){animation-delay:calc(var(--intro,0s) + 1.45s)}
  .hero-in > :nth-child(5){animation-delay:calc(var(--intro,0s) + 1.6s)}
  .mono-hero path{animation-delay:calc(var(--intro,0s) + .6s)}

  /* Titres de section : révélation par masque */
  .js .titre-section.reveal h2{clip-path:inset(0 0 100% 0);transform:translateY(40%);transition:clip-path 1.3s cubic-bezier(.2,.7,.1,1),transform 1.3s cubic-bezier(.2,.7,.1,1)}
  .js .titre-section.reveal.vu h2{clip-path:inset(-10% -5% -20% -5%);transform:none}
  .js .titre-section.reveal .ornement span{transform:scaleX(0);transition:transform 1.2s .3s var(--douce)}
  .js .titre-section.reveal.vu .ornement span{transform:scaleX(1)}

  /* Arches : la photo monte dans son arche */
  .js .arche.reveal .arche-img{clip-path:inset(100% 0 0 0 round 999px 999px 0 0);transition:clip-path 1.5s cubic-bezier(.65,0,.2,1),transform .6s var(--douce);transition-delay:var(--d,0s),0s}
  .js .arche.reveal.vu .arche-img{clip-path:inset(0 0 0 0 round 999px 999px 0 0)}
  .js .arche.reveal .arche-img img{transform:scale(1.3);transition:transform 1.8s cubic-bezier(.2,.7,.1,1) var(--d,0s)}
  .js .arche.reveal.vu .arche-img img{transform:scale(1)}
  .js .arche.reveal.vu:hover .arche-img img{transform:scale(1.07);transition-delay:0s}

  /* Images : profondeur au défilement */
  .js .parallaxe{transform:translate3d(0,var(--py,0px),0) scale(1.14);transition:none!important;will-change:transform}

  /* Citation : mots éteints puis allumés */
  .js .citation .mot{opacity:.16;filter:blur(1px)}
  .js .citation .mot.on{opacity:1;filter:none;color:#FFF3E3}

  /* Galerie : légère rotation à l'apparition */
  .js .galerie .reveal{transform:translateY(40px) scale(.96)}
  .js .galerie .reveal.vu{transform:none}
}

/* Curseur personnalisé : seulement avec une souris */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .js .curseur{display:block;position:fixed;left:0;top:0;z-index:210;pointer-events:none}
  .curseur-point{position:fixed;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--laiton)}
  .curseur-anneau{position:fixed;left:-20px;top:-20px;width:40px;height:40px;border:1px solid rgba(179,148,104,.7);border-radius:50%;display:grid;place-items:center;transition:width .4s var(--douce),height .4s var(--douce),left .4s var(--douce),top .4s var(--douce),background .4s,border-color .4s}
  .curseur-anneau em{font-style:normal;font-family:var(--sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--nuit);opacity:0;transition:opacity .3s}
  .curseur.lien .curseur-anneau{width:64px;height:64px;left:-32px;top:-32px;background:rgba(179,148,104,.12)}
  .curseur.voir .curseur-anneau{width:86px;height:86px;left:-43px;top:-43px;background:rgba(217,195,165,.92);border-color:transparent}
  .curseur.voir .curseur-anneau em{opacity:1}
  .curseur.voir .curseur-point{opacity:0}
}

@keyframes introLeve{0%{transform:none;border-radius:0}100%{transform:translateY(-105%);border-radius:0 0 50% 50%/0 0 22% 22%}}
@keyframes rideauEntre{from{transform:translateY(105%)}to{transform:none;border-radius:0}}
@keyframes rideauSort{from{transform:none}to{transform:translateY(-105%);border-radius:0 0 50% 50%/0 0 14% 14%}}
@keyframes archeOuvre{from{clip-path:inset(22% 34% 0 34% round 999px 999px 0 0)}to{clip-path:inset(0 0 0 0 round 0 0 0 0)}}
@keyframes ligneMonte{from{transform:translateY(110%)}to{transform:none}}
@keyframes respire{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.12);opacity:.7}}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-2%,-3%)}80%{transform:translate(4%,2%)}100%{transform:translate(0,0)}}

@media (max-width:1240px){
  .burger{display:inline-block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--nuit);color:#F3EAE0;flex-direction:column;align-items:stretch;gap:0;padding:10px 20px 24px;border-bottom:1px solid rgba(179,148,104,.22);max-height:calc(100vh - 76px);overflow:auto}
  .entete.ouvert .nav{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid rgba(179,148,104,.16)}
  .nav a::after,.has-sub > a::after{display:none}
  .sub{position:static;display:block;border:0;box-shadow:none;padding:0 0 0 14px;min-width:0}
  .sub a{padding:10px 0}
  .nav .btn{margin-top:14px;text-align:center}
}
@media (max-width:980px){
  .arches,.arches-mini{grid-template-columns:repeat(2,1fr)}
  .arches-3{grid-template-columns:repeat(3,1fr);gap:14px}
  .duo,.deux,.faq-grille{grid-template-columns:1fr}
  .duo-inverse .duo-img{order:0}
  .faq-visuel{position:static;max-width:420px}
  .pied-grille{grid-template-columns:1fr 1fr}
  .galerie{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}
  .infos-pratiques{grid-template-columns:1fr}
}
@media (max-width:620px){
  body{font-size:17px}
  .logo-texte{font-size:1.02rem;letter-spacing:.2em}
  .logo-texte small{font-size:.68rem}
  .mono-logo{width:24px;height:30px}
  .arches{gap:16px}
  .arches-3{grid-template-columns:1fr 1fr}
  .arches-3 .arche:last-child{grid-column:span 2;max-width:50%;justify-self:center;width:100%}
  .arche-nom{font-size:1.1rem}
  .arche-ico{width:38px;height:38px;bottom:10px}
  .galerie-3{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .galerie-3 figure:nth-child(3){grid-column:span 2}
  .pied-grille{grid-template-columns:1fr}
  .signature{min-height:440px}
  .barre-mobile{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(33,25,21,.94);border-top:1px solid rgba(179,148,104,.25);padding:10px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .barre-mobile .btn-plein{background:var(--laiton);border-color:var(--laiton);color:var(--nuit)}
  .barre-mobile .btn{display:flex;text-align:center}
  body{padding-bottom:70px}
  .cookies{bottom:84px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.entete,.pied,.barre-mobile,.cookies,.appel{display:none}}

/* ===== Décor clair (ivoire, crème, sable) : le brun est réservé au texte et aux filets ===== */
:root{--ivoire:#FBF3E9;--sable:#EFDFCB}
.entete,.entete-hero.scrolle,.entete-hero.ouvert{background:rgba(251,243,233,.92);color:var(--texte);border-bottom:1px solid var(--nude);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.logo-texte small,.entete-hero.scrolle .logo-texte small,.entete-hero.ouvert .logo-texte small{color:var(--laiton-texte)}
.mono-logo,.entete-hero.scrolle .mono-logo,.entete-hero.ouvert .mono-logo{color:var(--laiton)}
.entete-hero{background:transparent;border-color:transparent;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
.entete-hero .logo-texte small{color:rgba(255,255,255,.85)}
.entete-hero .mono-logo{color:var(--laiton-clair)}
.nav .btn::before{background:var(--brun)}
.nav .btn:hover{color:#fff}
.entete-hero:not(.scrolle):not(.ouvert) .nav .btn::before{background:#fff}
.entete-hero:not(.scrolle):not(.ouvert) .nav .btn:hover{color:var(--nuit)}
.sub{background:var(--ivoire);color:var(--texte);border:1px solid var(--nude);border-top:2px solid var(--laiton)}
.sub a:hover{background:var(--creme)}

/* Bandeau de mots */
.defile{background:var(--sable);color:var(--brun);border-top:1px solid var(--nude);border-bottom:1px solid var(--nude)}
.defile .ico{color:var(--laiton)}

/* Bandeaux photo des pages : voile ivoire, texte foncé */
.page-titre{background:var(--creme);color:var(--texte)}
.page-titre::after{background:radial-gradient(ellipse 46% 52% at 50% 56%,rgba(248,239,226,.84),rgba(244,230,212,.42) 62%,rgba(236,214,186,.08) 100%)}
.page-titre h1{color:var(--texte)}
.page-titre-chapo{color:var(--texte-doux)}
.fil{color:var(--laiton-texte)}
.fil a{border-color:rgba(126,100,67,.35)}
.mono-titre{color:var(--laiton)}

/* Bandeau « Réserver » : voile clair */
.appel{background:var(--creme);color:var(--texte)}
.appel::after{background:radial-gradient(ellipse 50% 58% at 50% 50%,rgba(248,239,226,.88),rgba(244,230,212,.48) 65%,rgba(236,214,186,.12) 100%)}
.appel h2{color:var(--texte)}
.mono-appel{color:var(--laiton)}

/* Pied de page sable */
.pied{background:var(--sable);color:var(--texte);border-top:1px solid var(--nude)}
.pied a{border-color:rgba(90,66,53,.22)}
.pied a:hover{border-color:var(--laiton);color:var(--brun)}
.pied h2{color:var(--laiton-texte)}
.pied .ico{color:var(--laiton)}
.logo-pied{color:var(--texte)}
.logo-pied .logo-texte small{color:var(--laiton-texte)}
.reseau{border-color:rgba(179,148,104,.45)!important}
.reseau:hover{background:rgba(179,148,104,.14)}
.reseau .ico{color:var(--laiton)}
.pied-bas{color:var(--texte-doux);border-color:var(--nude)}
.pied .btn-clair{color:var(--texte);border-color:var(--texte)}
.pied .btn-clair::before{background:var(--brun)}
.pied .btn-clair:hover{color:#fff;border-color:var(--brun)}

/* Ouverture et rideau en ivoire */
.js:not(.intro-vu) .intro{background:var(--ivoire);color:var(--laiton)}
.mono-intro{color:var(--laiton)}
.intro-nom{color:var(--texte)}
.intro-sous{color:var(--laiton-texte)}
.js .rideau{background:var(--ivoire)}
.mono-rideau{color:var(--laiton)}
.grain{opacity:.045}

@media (max-width:1240px){
  .nav{background:var(--ivoire);color:var(--texte);border-bottom:1px solid var(--nude)}
  .nav a{border-bottom:1px solid var(--nude)}
  .sub{border:0;background:transparent}
}
@media (max-width:620px){
  .barre-mobile{background:rgba(251,243,233,.95);border-top:1px solid var(--nude)}
  .barre-mobile .btn-plein{background:var(--brun);border-color:var(--brun);color:#fff}
}
.etapes-ico li{border-top:1px solid var(--nude-fonce)}
.etapes-ico .ico{color:var(--laiton);border-color:var(--nude-fonce)}

/* ===== Pages retravaillées ===== */
.faq-visuel img{height:auto}
.lien-fleche{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--brun);margin-top:18px;border-bottom:1px solid var(--nude-fonce);padding-bottom:6px;transition:gap .4s var(--douce),border-color .4s}
.lien-fleche .ico{width:18px;height:18px}
.lien-fleche:hover{gap:16px;border-color:var(--laiton)}

/* Carte des soins (tarifs) */
.menu{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:44px}
.menu-soin{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:center;padding:24px;background:var(--blanc);border:1px solid var(--nude);transition:box-shadow .6s var(--douce),transform .6s var(--douce)}
.menu-soin:hover{box-shadow:0 24px 50px rgba(33,25,21,.07);transform:translateY(-4px)}
.menu-img{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:999px 999px 0 0;background:var(--nude)}
.menu-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--douce)}
.menu-soin:hover .menu-img img{transform:scale(1.06)}
.menu-corps .eyebrow{margin-bottom:.6em}
.menu-ligne{display:flex;align-items:baseline;gap:12px;padding:10px 0}
.menu-nom{font-size:1.08rem}
.menu-nom small{display:block;font-size:.85rem;color:var(--texte-doux)}
.menu-points{flex:1;border-bottom:1px dotted var(--nude-fonce);transform:translateY(-4px)}
.menu-prix{font-style:italic;font-size:1.3rem;color:var(--brun);white-space:nowrap}

/* Cures */
.cures{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
.cures-solo{grid-template-columns:minmax(0,560px);justify-content:center}
.cure{background:var(--blanc);border:1px solid var(--nude);padding:32px 34px;position:relative;overflow:hidden}
.cure::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--laiton-clair),var(--laiton),var(--laiton-clair))}
.cure-tete{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.cure-tete .ico{width:22px;height:22px}
.cure-tete h3{margin:0;font-size:.85rem;letter-spacing:.18em}
.cure-formule{display:grid;grid-template-columns:1fr auto;align-items:baseline;padding:16px 0;border-top:1px solid var(--nude)}
.cure-nom{font-size:1.08rem}
.cure-prix{font-style:italic;font-size:1.5rem;color:var(--brun)}
.cure-detail{grid-column:1/-1;font-family:var(--sans);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--laiton-texte);margin-top:4px}

/* Carte cadeau dessinée */
.cadeau-visuel{position:relative}
.carte-cadeau{position:absolute;right:-6%;bottom:8%;width:min(78%,380px);aspect-ratio:1.6;padding:24px 26px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(135deg,#FFFDF9 0%,#F4ECE2 55%,#EADCCB 100%);border:1px solid rgba(179,148,104,.55);box-shadow:0 30px 60px rgba(33,25,21,.18),inset 0 0 0 6px rgba(255,253,249,.7),inset 0 0 0 7px rgba(179,148,104,.35);transform:rotate(-4deg);color:var(--texte)}
.carte-cadeau::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%);opacity:.7;pointer-events:none}
.mono-carte{width:28px;height:35px;color:var(--laiton);margin-bottom:8px}
.cc-titre{font-family:var(--sans);font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--laiton-texte);margin:0 0 4px}
.cc-marque{font-family:var(--sans);font-weight:300;font-size:1.25rem;letter-spacing:.28em;text-transform:uppercase;margin:0}
.cc-sous{font-style:italic;font-size:.9rem;color:var(--texte-doux);margin:4px 0 12px}
.cc-ligne{display:flex;gap:18px;width:100%;margin:0;font-family:var(--sans);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--laiton-texte)}
.cc-ligne span{flex:1;border-bottom:1px solid rgba(179,148,104,.5);padding-bottom:4px;text-align:left}

/* Ressentis (page drainage) */
.ressentis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:10px 0 24px}
.ressentis > div{padding:24px 20px;border:1px solid var(--nude);background:var(--creme);text-align:center}
.ressentis .ico{width:34px;height:34px;margin:0 auto 12px}
.ressentis p{margin:0;font-size:.98rem}

/* Pages légales avec sommaire */
.legal-grille{display:grid;grid-template-columns:260px minmax(0,760px);gap:64px;justify-content:center;align-items:start}
.sommaire{position:sticky;top:110px;padding:24px 22px;background:var(--creme);border-left:2px solid var(--laiton)}
.sommaire ol{list-style:none;margin:0;padding:0;counter-reset:s}
.sommaire li{counter-increment:s;font-size:.9rem;line-height:1.4;padding:7px 0;border-bottom:1px solid var(--nude)}
.sommaire li::before{content:counter(s,decimal-leading-zero);font-family:var(--sans);font-size:.62rem;color:var(--laiton-texte);margin-right:10px}
.sommaire a{text-decoration:none}
.sommaire a:hover{color:var(--brun);text-decoration:underline}
.legal h2{scroll-margin-top:100px}

@media (prefers-reduced-motion:no-preference){
  .js .carte-cadeau{animation:flotte 7s ease-in-out infinite}
}
@keyframes flotte{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-2.5deg) translateY(-10px)}}

@media (max-width:980px){
  .menu,.cures{grid-template-columns:1fr}
  .legal-grille{grid-template-columns:1fr;gap:30px}
  .sommaire{position:static}
  .carte-cadeau{right:4%}
}
@media (max-width:620px){
  .menu-soin{grid-template-columns:96px 1fr;gap:18px;padding:18px}
  .ressentis{grid-template-columns:1fr}
  .carte-cadeau{width:84%;right:8%;bottom:-8%;padding:18px}
  .cadeau-visuel{margin-bottom:40px}
  .cure{padding:26px 22px}
}

/* ===== Logo BADRATI (remplace le monogramme) ===== */
.logo-img{display:block;height:auto;max-width:100%}
.logo{flex-direction:column;align-items:flex-start;gap:5px}
.logo-tete{width:150px}
.logo-clair{display:none}
.logo-sous{font-family:var(--sans);font-size:.55rem;letter-spacing:.26em;text-transform:uppercase;color:var(--laiton-texte);white-space:nowrap}
.entete-hero:not(.scrolle):not(.ouvert) .logo-sombre{display:none}
.entete-hero:not(.scrolle):not(.ouvert) .logo-clair{display:block}
.entete-hero:not(.scrolle):not(.ouvert) .logo-sous{color:rgba(255,255,255,.85)}
.logo-pied .logo-tete{width:170px}
.logo-pied{margin-bottom:18px}
.logo-hero{width:min(330px,72vw);margin:0 auto 28px}
.logo-signature{width:150px;margin:0 auto 26px}
.logo-titre{width:118px;margin:0 auto 18px}
.logo-appel{width:132px;margin:0 auto 18px}
.logo-intro{width:min(340px,70vw)}
.logo-rideau{width:150px;opacity:0}
.logo-carte{width:62%;margin:2px auto 0}
.carte-cadeau .cc-marque{font-size:.62rem;letter-spacing:.5em;margin-top:6px}
.intro-sous{font-family:var(--sans);font-style:normal;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;margin-top:18px}
@media (prefers-reduced-motion:no-preference){
  .logo-intro{animation:devoile .5s .05s cubic-bezier(.65,0,.2,1) both}
  .intro-sous{animation:fondu .3s .2s forwards!important}
  .js.sortie .logo-rideau{animation:fondu .4s .3s forwards}
  .logo-hero{animation:devoile 1.4s calc(var(--intro,0s) + .6s) cubic-bezier(.65,0,.2,1) both}
}
@keyframes devoile{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media (max-width:620px){.logo-tete{width:118px}.logo-sous{font-size:.5rem;letter-spacing:.2em}}

/* ===== Sans voile ni halo sur les photos ===== */
/* Bandeaux du haut et bloc « Réserver » : photo nette, texte posé sur un cartouche plein */
.page-titre::after,.appel::after{display:none}
.page-titre-in,.appel-in{width:min(720px,100% - 40px);margin-inline:auto;background:var(--ivoire);padding:clamp(28px,4vw,46px) clamp(24px,5vw,64px);box-shadow:0 24px 60px rgba(33,25,21,.14)}
.page-titre{padding:clamp(90px,12vw,150px) 0 clamp(60px,8vw,100px)}
/* Grand visuel d'accueil : un simple dégradé régulier pour la lisibilité, sans halo */
.hero::after{background:linear-gradient(180deg,rgba(33,25,21,.42),rgba(33,25,21,.38) 50%,rgba(33,25,21,.6))}
/* Plus de reflet lumineux qui balaie les arches */
.arche-img::before{display:none}
.logo .logo-img{height:auto}
.logo .logo-tete{width:160px}
.logo-pied .logo-tete{width:180px}
@media (max-width:620px){.logo .logo-tete{width:124px}}

/* ===== Ajustements : logo plus petit, réseaux sociaux en logos ===== */
.logo .logo-tete{width:118px}
.logo-sous{font-size:.5rem;letter-spacing:.22em}
.entete-in{min-height:70px}
@media (max-width:620px){.logo .logo-tete{width:96px}.logo-sous{font-size:.45rem;letter-spacing:.16em}}
.reseaux-contact{margin:6px 0 18px}
.reseaux-contact .reseau,.reseaux-menu .reseau{border:1px solid var(--nude-fonce)!important;color:var(--brun)}
.reseaux-contact .reseau .ico,.reseaux-menu .reseau .ico{color:var(--laiton)}
.reseaux-contact .reseau:hover,.reseaux-menu .reseau:hover{background:var(--creme)}
.reseaux-menu{display:none}
@media (max-width:1240px){.reseaux-menu{display:flex;gap:10px;justify-content:center;margin-top:18px}.nav .reseaux-menu a{border:1px solid var(--nude-fonce)!important;padding:0}}

/* ===== Logo aligné sur « Drainage & madérothérapie » (même largeur) et plus à gauche ===== */
.entete-in{width:100%;padding-inline:clamp(16px,2.4vw,34px)}
.logo{gap:6px}
.logo .logo-tete{width:140px}
.logo-sous{font-size:8.5px;letter-spacing:.075em;margin-right:-.075em;line-height:1}
.logo-pied .logo-tete{width:180px}
.logo-pied .logo-sous{font-size:10.9px}
@media (max-width:620px){
  .logo .logo-tete{width:120px}
  .logo-sous{font-size:7.3px;letter-spacing:.075em}
}
/* Aucun effet à l'arrivée sur une page intérieure : bandeau et titre affichés directement */
.page-titre-img,.page-titre-in > *{animation:none!important}
/* Accueil : plus d'animation d'ouverture, le grand visuel et le titre s'affichent directement */
.intro{display:none!important}
.hero-media,.hero-in > *,.hero h1 .ligne > span,.logo-hero{animation:none!important}

/* ===== Barre de navigation : tout aligné sur le mot BADRATI ===== */
.has-sub{display:flex;align-items:center}
.has-sub > a{display:block}
.nav{align-self:center}
.logo{position:relative;align-self:center}
.logo .logo-sous{position:absolute;left:0;top:100%;margin-top:6px}
.entete-in{min-height:78px;padding-bottom:10px}
.entete.scrolle .entete-in{min-height:72px}
@media (max-width:1240px){.has-sub{display:block}}

/* Curseur : aucun effet, curseur normal du navigateur */
.curseur{display:none!important}
