/* Backstage Hair Design, noir éditorial, d'après le kit de marque.
   Palette, typographies et logo repris du kit sans écart.
   Règle de mouvement: une animation déplace ce qui est déjà visible,
   elle ne révèle jamais. Aucun opacity:0 sur du contenu. */

:root{
  /* kit */
  --noir:#1F1F1F;
  --charbon:#3A3A3A;
  --nude:#D7C9BE;
  --taupe:#A58C7A;
  --blanc:#FFFFFF;
  /* dérivés */
  --creme:#F4EEE6;            /* le crème du logo, texte sur fond noir */
  --creme-doux:rgba(244,238,230,.66);
  --nude-clair:#EFE7E0;
  --filet:rgba(244,238,230,.16);
  --filet-noir:rgba(31,31,31,.14);

  --serif:"Playfair Display",Georgia,serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;

  --r:2px;                     /* verrou de forme: angles nets */
  --t:.42s cubic-bezier(.22,.61,.36,1);
  --t-lent:1.1s cubic-bezier(.22,.61,.36,1);
  --nav-h:82px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--noir);color:var(--creme);
  font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.72;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;line-height:1.16;letter-spacing:.005em}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--taupe);outline-offset:3px}
[hidden]{display:none !important}

.wrap{width:min(1220px,calc(100% - 48px));margin-inline:auto}
.wrap--etroit{width:min(880px,calc(100% - 48px))}

/* ---------- typographie ---------- */
.h1{font-size:clamp(2.6rem,6.4vw,5rem)}
.h2{font-size:clamp(1.95rem,3.7vw,3rem)}
.h3{font-size:clamp(1.28rem,1.9vw,1.6rem)}
.lead{font-size:clamp(1.02rem,1.35vw,1.14rem);color:var(--creme-doux);max-width:62ch}
.mini{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe)}
em{font-style:italic}

/* ---------- boutons: monochromes au repos, taupe au survol ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
  padding:16px 30px;border-radius:var(--r);border:1px solid transparent;cursor:pointer;
  text-decoration:none;white-space:nowrap;
  transition:background var(--t),color var(--t),border-color var(--t),transform var(--t);
}
.btn--plein{background:var(--creme);color:var(--noir)}
.btn--plein:hover{background:var(--taupe);color:var(--noir);transform:translateY(-2px)}
.btn--ligne{border-color:var(--filet);color:var(--creme);background:transparent}
.btn--ligne:hover{border-color:var(--taupe);color:var(--taupe);transform:translateY(-2px)}
.btn--noir{background:var(--noir);color:var(--creme)}
.btn--noir:hover{background:var(--taupe);color:var(--noir);transform:translateY(-2px)}
.btn--ligne-noir{border-color:var(--filet-noir);color:var(--noir);background:transparent}
.btn--ligne-noir:hover{border-color:var(--noir);background:var(--noir);color:var(--creme);transform:translateY(-2px)}

/* ---------- navigation ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
  padding:16px clamp(20px,3.4vw,44px);min-height:var(--nav-h);
  background:transparent;transition:background var(--t),box-shadow var(--t),padding var(--t);
}
.nav.scrolled{background:var(--noir);box-shadow:0 1px 0 var(--filet);padding-top:10px;padding-bottom:10px}
.nav__brand{display:flex;align-items:center;justify-self:start;text-decoration:none;position:relative;z-index:120}
.nav__logo{width:auto;height:52px;transition:height var(--t)}
.nav.scrolled .nav__logo{height:44px}

.nav__links{display:flex;align-items:center;gap:clamp(20px,2.4vw,36px);justify-self:center}
.nav__links a{
  font-family:var(--serif);font-size:.98rem;letter-spacing:.04em;text-decoration:none;
  color:var(--creme);position:relative;padding:4px 0;transition:color var(--t);
}
.nav__links a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-1px;height:1px;
  background:var(--taupe);transition:right var(--t);
}
.nav__links a:hover::after,.nav__links a.active::after{right:0}
.nav__links a.active{color:var(--taupe)}

.nav__fin{display:flex;align-items:center;gap:14px;justify-self:end;position:relative;z-index:120}
.nav__cta{padding:13px 24px}
.nav__links .nav__cta--menu{display:none}

.nav__burger{
  display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;
  position:relative;padding:0;
}
.nav__burger span{
  position:absolute;left:11px;right:11px;height:1.5px;background:var(--creme);
  transition:transform var(--t),opacity var(--t);
}
.nav__burger span:nth-child(1){top:16px}
.nav__burger span:nth-child(2){top:21.5px}
.nav__burger span:nth-child(3){top:27px}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:72% 50%;
  animation:kenburns 26s ease-in-out infinite alternate;
}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.11)}}
.hero__voile{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg,var(--noir) 6%,rgba(31,31,31,.86) 34%,rgba(31,31,31,.42) 56%,rgba(31,31,31,.12) 78%),
    linear-gradient(to top,rgba(31,31,31,.72),transparent 42%);
}
.hero__in{position:relative;z-index:2;width:100%;padding:calc(var(--nav-h) + 40px) 0 72px}
/* pas de ch ici: l'unité se calcule sur le 16px du conteneur, pas sur la
   taille du H1, ce qui écrasait le titre à ~300px et le cassait en 6 lignes. */
.hero__texte{max-width:min(640px,94%)}
.hero .h1{margin-bottom:22px;max-width:11ch}
.hero__sous{font-size:clamp(1rem,1.4vw,1.16rem);color:var(--creme-doux);max-width:44ch;margin-bottom:34px}
.hero__btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- bandeau de faits ---------- */
.faits{border-top:1px solid var(--filet);border-bottom:1px solid var(--filet)}
.faits__grille{display:grid;grid-template-columns:repeat(3,1fr)}
.faits__item{padding:34px 26px;border-right:1px solid var(--filet)}
.faits__item:last-child{border-right:0}
.faits__item dt{font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:9px}
.faits__item dd{margin:0;font-family:var(--serif);font-size:1.16rem;color:var(--creme)}

/* ---------- sections ---------- */
.section{padding:clamp(72px,9vw,126px) 0}
.section--nude{background:var(--nude);color:var(--noir)}
.section--nude .lead{color:rgba(31,31,31,.78)}
.section--nude .mini{color:var(--charbon)}
.section__tete{margin-bottom:clamp(38px,5vw,62px);max-width:70ch}
.section__tete .h2{margin-bottom:18px}

/* filet + monogramme, l'ornement unique du site */
.filet-mono{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.filet-mono::after{content:"";flex:1;height:1px;background:var(--filet)}
.section--nude .filet-mono::after{background:var(--filet-noir)}
.filet-mono__b{font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--taupe)}

/* ---------- split (méthode) ---------- */
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(34px,5vw,74px);align-items:center}
.split__media{position:relative;overflow:hidden;border-radius:var(--r)}
.split__media img{width:100%;height:clamp(380px,52vw,560px);object-fit:cover;transition:transform var(--t-lent)}
.split__media:hover img{transform:scale(1.04)}
.split__texte p + p{margin-top:18px}
.split__liste{margin-top:30px;border-top:1px solid var(--filet)}
.section--nude .split__liste{border-top-color:var(--filet-noir)}
.split__liste li{padding:15px 0;border-bottom:1px solid var(--filet);display:flex;gap:14px;align-items:baseline}
.section--nude .split__liste li{border-bottom-color:var(--filet-noir)}
.split__liste b{font-family:var(--serif);font-weight:400;color:var(--taupe);font-size:.95rem;min-width:22px}

/* ---------- duo éditorial: titre à gauche, texte à droite ---------- */
.duo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(26px,4.6vw,76px);align-items:start}
.duo__texte p + p{margin-top:18px}

/* ---------- index des prestations ---------- */
.presta{border-top:1px solid var(--filet)}
.section--nude .presta{border-top-color:var(--filet-noir)}
.presta__l{
  display:grid;grid-template-columns:44px 1fr auto;gap:clamp(16px,2.4vw,32px);align-items:center;
  padding:clamp(22px,2.6vw,30px) 0;border-bottom:1px solid var(--filet);
  text-decoration:none;position:relative;transition:padding-left var(--t);
}
.section--nude .presta__l{border-bottom-color:var(--filet-noir)}
.presta__l:hover{padding-left:12px}
.presta__n{font-family:var(--serif);font-size:.9rem;color:var(--taupe)}
.section--nude .presta__n{color:var(--charbon)}
.presta__nom{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.85rem);transition:color var(--t)}
.presta__l:hover .presta__nom{color:var(--taupe)}
.presta__dit{display:block;font-family:var(--sans);font-size:.92rem;font-weight:300;color:var(--creme-doux);margin-top:6px;max-width:58ch}
.section--nude .presta__dit{color:rgba(31,31,31,.74)}
.presta__fl{width:30px;height:10px;color:var(--taupe);transition:transform var(--t)}
.presta__l:hover .presta__fl{transform:translateX(8px)}

/* ---------- groupes de prestations (page prestations) ----------
   Aucune photo ici (Jad, 2026-09-18): la page se tient sur la typographie et
   les filets. Chaque groupe = un titre numéroté, une phrase à gauche, la liste
   nommée des prestations à droite sur deux colonnes. */
/* sans ça, une arrivée sur #onglerie passe sous la barre fixe */
.gp{scroll-margin-top:calc(var(--nav-h) + 24px)}
.gp + .gp{margin-top:clamp(46px,5.4vw,78px);padding-top:clamp(46px,5.4vw,78px);border-top:1px solid var(--filet)}
.gp__tete{display:flex;align-items:baseline;gap:clamp(12px,1.6vw,20px);margin-bottom:clamp(22px,2.6vw,32px)}
.gp__n{font-family:var(--serif);font-size:.92rem;color:var(--taupe);flex:none}
.gp__titre{font-size:clamp(1.45rem,2.7vw,2.15rem);flex:none}
.gp__tete::after{content:"";flex:1;height:1px;background:var(--filet);align-self:center}
.gp__corps{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(26px,4.4vw,74px);align-items:start}
.gp__intro{font-size:.99rem;color:var(--creme-doux);max-width:46ch}
.gp__btn{margin-top:26px}
.gp__liste{columns:2;column-gap:clamp(22px,3vw,44px)}
.gp__liste li{
  break-inside:avoid;padding:12px 0;border-bottom:1px solid var(--filet);
  font-size:.95rem;color:var(--creme);
}

/* ---------- avis ---------- */
.avis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--filet)}
.section--nude .avis{background:var(--filet-noir)}
.avis__c{background:var(--noir);padding:clamp(28px,3vw,38px);display:flex;flex-direction:column}
.section--nude .avis__c{background:var(--nude)}
.avis__q{font-family:var(--serif);font-size:1.04rem;line-height:1.66;font-style:italic}
.avis__n{margin-top:auto;padding-top:22px;font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}

/* ---------- instagram ---------- */
.ig__tete{display:flex;flex-wrap:wrap;gap:18px;align-items:baseline;justify-content:space-between;margin-bottom:30px}
.ig__compte{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);transition:color var(--t)}
.ig__compte svg{display:block;width:17px;height:17px;flex:none}
.ig__compte:hover{color:var(--creme)}
.section--nude .ig__compte:hover{color:var(--noir)}

.ig{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1vw,14px)}
.ig--bande{grid-template-columns:repeat(6,1fr)}
.ig__p{position:relative;display:block;overflow:hidden;border-radius:var(--r);background:var(--charbon);aspect-ratio:4/5}
.ig__p img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;transition:transform var(--t-lent)}
.ig__p::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top,rgba(31,31,31,.76),rgba(31,31,31,0) 52%);
  opacity:0;transition:opacity var(--t);
}
.ig__p:hover img{transform:scale(1.06)}
.ig__p:hover::after{opacity:1}
.ig__voir{
  position:absolute;left:14px;right:14px;bottom:15px;z-index:2;text-align:center;
  font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--creme);
  opacity:0;transform:translateY(8px);transition:opacity var(--t),transform var(--t);
}
.ig__p:hover .ig__voir{opacity:1;transform:none}
.ig__play{
  position:absolute;top:11px;right:11px;z-index:2;width:25px;height:25px;border-radius:50%;
  background:rgba(31,31,31,.58);display:flex;align-items:center;justify-content:center;
}
.ig__play svg{display:block;width:10px;height:10px;fill:var(--creme)}
@media (hover:none){
  .ig__p::after{opacity:1}
  .ig__voir{opacity:1;transform:none}
}
.ig__pied{margin-top:38px;text-align:center}

/* ---------- bandeau CTA ---------- */
.cta{background:var(--nude);color:var(--noir);text-align:center}
.cta .h2{margin-bottom:18px}
.cta__sous{color:rgba(31,31,31,.72);max-width:56ch;margin:0 auto 32px}
.cta__btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* ---------- entête de page intérieure ----------
   Même principe que le hero: la photo passe sous un voile en dégradé qui part
   du noir plein à gauche, là où se pose le texte. Pas de ken burns ici, le hero
   garde le mouvement pour lui. */
.pagetete{
  position:relative;overflow:hidden;
  padding:calc(var(--nav-h) + clamp(58px,7vw,96px)) 0 clamp(42px,5vw,64px);
  border-bottom:1px solid var(--filet);
}
.pagetete__media{position:absolute;inset:0;z-index:0}
.pagetete__media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.pagetete__voile{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(100deg,var(--noir) 4%,rgba(31,31,31,.9) 32%,rgba(31,31,31,.62) 60%,rgba(31,31,31,.34) 100%),
    linear-gradient(to top,rgba(31,31,31,.88),rgba(31,31,31,0) 62%);
}
.pagetete .wrap{position:relative;z-index:2}
.pagetete .h1{font-size:clamp(2.2rem,4.6vw,3.5rem);margin-bottom:16px}

/* ---------- contact ---------- */
.contact{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,4.4vw,64px);align-items:stretch}
.coord li{padding:20px 0;border-bottom:1px solid var(--filet);display:grid;grid-template-columns:24px 1fr;gap:16px;align-items:start}
.coord li:first-child{border-top:1px solid var(--filet)}
.coord svg{display:block;width:19px;height:19px;color:var(--taupe);margin-top:3px}
.coord dt{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:5px}
.coord dd{margin:0;color:var(--creme)}
.coord a{text-decoration:none;transition:color var(--t)}
.coord a:hover{color:var(--taupe)}
.horaires{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;font-size:.95rem}
.horaires span:nth-child(odd){color:var(--creme-doux)}
.carte-map{position:relative;min-height:440px;border-radius:var(--r);overflow:hidden;background:var(--charbon)}
.carte-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- pied ---------- */
.pied{background:var(--noir);border-top:1px solid var(--filet);padding:clamp(56px,6vw,80px) 0 0}
.pied__haut{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:clamp(30px,4vw,60px);padding-bottom:50px}
.pied__logo{height:88px;width:auto;margin-bottom:18px}
.pied__mot{font-size:.94rem;color:var(--creme-doux);max-width:36ch}
.pied h4{font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:18px}
.pied li{margin-bottom:11px;font-size:.94rem;color:var(--creme-doux)}
.pied a{text-decoration:none;transition:color var(--t)}
.pied a:hover{color:var(--taupe)}
.pied__contact li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}
.pied__contact svg{display:block;width:16px;height:16px;color:var(--taupe);margin-top:4px}
.pied__soc{display:flex;gap:11px;margin-top:20px}
.pied__soc a{
  width:40px;height:40px;border:1px solid var(--filet);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:border-color var(--t),background var(--t),color var(--t);
}
.pied__soc svg{display:block;width:17px;height:17px}
.pied__soc a:hover{border-color:var(--taupe);background:var(--taupe);color:var(--noir)}
.pied__bas{border-top:1px solid var(--filet);padding:22px 0 26px}
.pied__bas-in{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;font-size:.76rem;color:var(--creme-doux)}
.pied__bas a{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:600;text-decoration:none;color:var(--creme-doux)}

/* ---------- modale de réservation ---------- */
.rsv{
  position:fixed;inset:0;z-index:140;display:none;align-items:flex-start;justify-content:center;
  padding:24px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.rsv.ouvert{display:flex}
.rsv__fond{position:absolute;inset:0;background:rgba(10,10,10,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.rsv__carte{
  position:relative;display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:minmax(0,1fr);
  width:min(940px,calc(100vw - 40px));margin:auto;
  max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
  background:var(--noir);border:1px solid var(--filet);border-radius:var(--r);overflow:hidden;
  box-shadow:0 50px 90px -40px rgba(0,0,0,.8);
}
.rsv__aside{min-height:0;overflow-y:auto;position:relative;background:var(--charbon)}
.rsv__aside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rsv__aside-in{position:relative;z-index:2;padding:34px 30px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(to top,rgba(31,31,31,.92),rgba(31,31,31,.28))}
.rsv__aside h3{font-size:1.5rem;margin-bottom:10px}
.rsv__aside p{font-size:.9rem;color:var(--creme-doux)}
.rsv__corps{display:flex;flex-direction:column;overflow-y:auto;min-height:0;-webkit-overflow-scrolling:touch;padding:30px clamp(22px,3vw,34px) 30px}
.rsv__corps > *{flex-shrink:0}
.rsv__fermer{
  position:absolute;top:13px;right:13px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;
  background:rgba(31,31,31,.8);color:var(--creme);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background var(--t),color var(--t);
}
.rsv__fermer:hover{background:var(--taupe);color:var(--noir)}
.rsv__fermer svg{display:block;width:15px;height:15px}
.rsv__etapes{display:flex;gap:7px;margin-bottom:20px}
.rsv__etapes i{width:30px;height:2px;background:var(--filet);display:block}
.rsv__etapes i.on{background:var(--taupe)}
.rsv__t{font-family:var(--serif);font-size:1.32rem;margin-bottom:6px}
.rsv__aide{font-size:.86rem;color:var(--creme-doux);margin-bottom:20px}
.rsv__packs{display:flex;flex-direction:column;gap:1px;background:var(--filet);border:1px solid var(--filet);border-radius:var(--r);overflow:hidden;max-height:290px;overflow-y:auto}
.rsv__pack{
  display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;
  background:var(--noir);border:0;padding:14px 17px;cursor:pointer;color:var(--creme);
  font-family:var(--sans);font-size:.94rem;font-weight:300;
  transition:background var(--t),padding-left var(--t);
}
.rsv__pack:hover{background:var(--charbon);padding-left:22px}
.rsv__pack[aria-pressed="true"]{background:var(--charbon);padding-left:22px}
.rsv__pack[aria-pressed="true"]::before{content:"";width:7px;height:7px;background:var(--taupe);border-radius:50%;flex:none}
.rsv__compte{margin-top:13px;font-size:.78rem;color:var(--taupe);letter-spacing:.06em}
.rsv__champ{margin-top:20px}
.rsv__champ label{display:block;font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-bottom:9px}
.rsv__champ input[type="date"]{
  -webkit-appearance:none;appearance:none;width:100%;
  min-height:48px;line-height:1.3;padding:0 14px;font-size:16px;
  font-family:var(--sans);color:var(--creme);
  background:var(--charbon);border:1px solid var(--filet);border-radius:var(--r);
}
.rsv__champ input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
.rsv__champ input[type="date"]::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer;filter:invert(1)}
.rsv__chips{display:flex;flex-wrap:wrap;gap:10px}
.rsv__chip{
  font-family:var(--sans);font-weight:500;font-size:.82rem;letter-spacing:.04em;
  padding:11px 20px;border:1px solid var(--filet);border-radius:var(--r);
  background:transparent;color:var(--creme);cursor:pointer;
  transition:background var(--t),color var(--t),border-color var(--t);
}
.rsv__chip:hover{border-color:var(--taupe);color:var(--taupe)}
.rsv__chip[aria-pressed="true"]{background:var(--creme);border-color:var(--creme);color:var(--noir)}
.rsv__recap{margin-top:22px;padding:18px 20px;border:1px solid var(--filet);border-radius:var(--r);background:var(--charbon)}
.rsv__recap dt{font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
.rsv__recap dd{margin:4px 0 13px;font-size:.94rem}
.rsv__recap dd:last-child{margin-bottom:0}
.rsv__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.rsv__btns .btn{flex:1 1 190px;min-width:0}
.rsv__note{margin-top:16px;font-size:.78rem;color:var(--creme-doux)}

@media (max-width:1020px){
  .rsv__carte{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);
    max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
  .rsv__aside{height:170px}
  .rsv__aside-in{padding:22px}
}
@media (max-width:680px){
  .rsv{padding:0}
  .rsv__carte{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);width:100vw;margin:0;
    height:100vh;max-height:100vh;height:100dvh;max-height:100dvh;border:0}
  .rsv__packs{max-height:none}
}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .gp__corps{grid-template-columns:1fr;gap:clamp(22px,3vw,30px)}
  .gp__intro{max-width:62ch}
  .avis{grid-template-columns:repeat(2,1fr)}
  .ig--bande{grid-template-columns:repeat(3,1fr)}
  .contact{grid-template-columns:1fr}
  .carte-map{min-height:360px}
  .pied__haut{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .split,.duo{grid-template-columns:1fr}
  .duo{gap:22px}
  .split__media img{height:clamp(300px,58vw,420px)}
  .faits__grille{grid-template-columns:1fr}
  .faits__item{border-right:0;border-bottom:1px solid var(--filet);padding:24px 0}
  .faits__item:last-child{border-bottom:0}
}
@media (max-width:860px){
  /* le burger doit rester à droite: sans la colonne du milieu,
     une grille 1fr auto 1fr recentre .nav__fin au milieu de la barre. */
  .nav{grid-template-columns:1fr auto}
  .nav__burger{display:block}
  .nav__fin .nav__cta{display:none}
  .nav__links{
    position:fixed;top:0;left:0;width:100vw;height:100dvh;
    flex-direction:column;justify-content:center;gap:26px;
    background:var(--noir);z-index:90;
    transform:translateX(100%);transition:transform var(--t);
  }
  .nav__links.nav-open{transform:none}
  .nav__links a{font-size:1.5rem}
  .nav__links .nav__cta--menu{display:inline-flex;margin-top:14px}
  .wrap,.wrap--etroit{width:calc(100% - 40px)}
}
@media (max-width:760px){
  .hero__voile{background:
    linear-gradient(to top,var(--noir) 14%,rgba(31,31,31,.86) 42%,rgba(31,31,31,.46) 70%,rgba(31,31,31,.2) 100%)}
  /* en colonne étroite le dégradé latéral ne protège plus le texte */
  .pagetete__voile{background:
    linear-gradient(to top,var(--noir) 10%,rgba(31,31,31,.9) 46%,rgba(31,31,31,.7) 78%,rgba(31,31,31,.5) 100%)}
  .avis{grid-template-columns:1fr}
  .ig,.ig--bande{grid-template-columns:repeat(2,1fr)}
  .pied__haut{grid-template-columns:1fr;gap:38px}
  .presta__l{grid-template-columns:30px 1fr;row-gap:4px}
  .presta__fl{display:none}
  .hero__btns .btn{flex:1 1 100%}
}
@media (max-width:560px){
  /* deux colonnes de ~200px coupent "Restructuration du sourcil" en trois lignes */
  .gp__liste{columns:1}
  /* sur une colonne, le filet du dernier item doublait celui du groupe suivant */
  .gp__liste li:last-child{border-bottom:0}
}
@media (max-width:480px){
  /* nowrap sur un libellé long ("Envoyer une photo sur WhatsApp") pousse le
     bouton à 372px et fait déborder la page: sous 480px il passe à la ligne. */
  .btn{white-space:normal;text-align:center;padding-left:22px;padding-right:22px}
  .cta__btns .btn,.hero__btns .btn{width:100%}
}
@media (max-width:420px){
  .nav__logo{height:44px}
  .faits__item dd{font-size:1.05rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .hero__media img{animation:none}
}
