/* ═══════════════════════════════════════════════════════
   EMOVERE — Claire de Fay
   Concept : la page est une nuit qui devient un matin.
   Le fond s'éclaircit section après section, du bordeaux
   nocturne jusqu'au blanc chaud. Le rail latéral est un
   hypnogramme parcouru par une comète au fil du scroll.
   ═══════════════════════════════════════════════════════ */

:root{
  /* ── Palette : blanc + noir + 3 couleurs ──────────────
     Corail (énergie), émeraude (calme), terracotta (chaleur).
     Le fond reste blanc, le texte noir ; la couleur vient
     par touches et par quelques blocs pleins. */
  --coral:      #E87A4E;   /* action, énergie */
  --coral-ink:  #C85A2C;   /* corail lisible en petit texte sur blanc */
  --coral-soft: #F0A277;   /* corail clair, lisible sur bloc foncé */
  --emerald:    #43917C;   /* calme, secondaire, rail */
  --emerald-ink:#2F6C5B;   /* émeraude lisible en petit texte */
  --deep:       #2E6152;   /* blocs colorés (émeraude profond) */
  --terra:      #9C5446;   /* profondeur chaude */
  --paper:      #FBF5EF;   /* cartes / sections crème très clair */
  --stone:      #E9E0D6;   /* réserve en attendant les vraies photos */

  /* Anciennes variables remappées : toute la mise en page
     existante continue de fonctionner sans y toucher. */
  --ink:      var(--deep);
  --wine:     var(--terra);
  --blood:    var(--coral);
  --red:      var(--coral);
  --orange:   var(--terra);
  --amber:    var(--emerald);
  --sand:     #FFE9D3;
  --shell:    #FFFFFF;

  --text:     #1C1917;
  --muted:    #6B615C;
  --hair:     rgba(28,25,23,.14);

  --serif: 'Instrument Serif', Georgia, serif;
  --sans:  'Instrument Sans', system-ui, -apple-system, sans-serif;

  --grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='120' height='120' filter='url(%23n)'/></svg>");
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }
body{
  margin:0; background:#fff; color:var(--text);
  font-family:var(--sans); font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; width:100%; max-width:100%;
}
img,svg,iframe{ max-width:100%; }
a{ color:inherit; }

.skip{ position:absolute; left:-9999px; }
.skip:focus{ left:12px; top:12px; z-index:999; background:var(--ink); color:var(--shell); padding:10px 16px; }
:focus-visible{ outline:2px solid var(--red); outline-offset:3px; }

/* ── Typographie ───────────────────────────────────── */
.h2{
  font-family:var(--serif); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.3rem,5vw,3.4rem); line-height:1.02; letter-spacing:.01em;
  margin:0 0 1.4rem;
}
.h2--light{ color:var(--shell); }
.hl{ color:var(--amber); }
.eyebrow{
  display:block; font-size:.68rem; font-weight:500; letter-spacing:.16em;
  text-transform:uppercase; color:var(--blood); margin:0 0 1rem;
}
.eyebrow--warm{ color:var(--amber); }
.lede{ font-size:1.06rem; color:var(--muted); max-width:56ch; }
.note{ font-size:.85rem; color:var(--muted); opacity:.85; max-width:62ch; }
p{ margin:0 0 1.1rem; }
em{ font-style:italic; }

/* ── Grille ────────────────────────────────────────── */
.wrap{ width:100%; max-width:1140px; margin:0 auto; padding:0 clamp(20px,5vw,56px); }
.wrap--narrow{ max-width:780px; }
.band{ padding:clamp(72px,13vw,200px) 0; position:relative; }

/* Sections claires : blanc pur. Le rythme vient des blocs
   sombres de ponctuation, pas d'un dégradé de fond. */
#reconnaissance,#test,#apropos,#outils,#niveaux,
#deroulement,#pourqui,#avis,#tarifs,#faq,#contact{ background:#fff; }

/* ── Boutons ───────────────────────────────────────── */
.btn{
  display:inline-block; font-family:var(--sans); font-size:.78rem; font-weight:500;
  letter-spacing:.09em; text-transform:uppercase; text-decoration:none;
  padding:15px 28px; border-radius:44px; border:1px solid transparent;
  cursor:pointer; transition:transform .2s ease, background .2s ease, color .2s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn--solid{ background:var(--blood); color:var(--shell); }
.btn--solid:hover{ background:var(--wine); }
.btn--ghost{ background:none; color:var(--text); border-color:var(--hair); }
.btn--light{ background:var(--shell); color:var(--wine); }

/* ═══ RAIL HYPNOGRAMME ═══ */
.rail{
  position:fixed; top:0; right:clamp(12px,2.2vw,30px); z-index:40;
  width:40px; height:100vh; pointer-events:none;
}
.rail__svg{ width:40px; height:100%; display:block; }
.rail__ghost{ fill:none; stroke:var(--hair); stroke-width:1; }
.rail__live{ fill:none; stroke:var(--blood); stroke-width:1.4; stroke-dasharray:2400; stroke-dashoffset:2400; }
.rail__comet{ position:absolute; left:0; top:0; width:40px; height:0; }
.rail__head{
  position:absolute; left:50%; top:0; width:7px; height:7px; margin:-3.5px 0 0 -3.5px;
  border-radius:50%; background:var(--amber); box-shadow:0 0 12px 3px rgba(249,180,76,.55);
}
.rail__tail{
  position:absolute; left:50%; bottom:0; width:1.5px; height:110px; margin-left:-.75px;
  background:linear-gradient(to top, rgba(249,180,76,0), rgba(249,180,76,.75));
}
.rail__stage{
  position:absolute; left:-6px; bottom:24px; transform:rotate(180deg);
  writing-mode:vertical-rl; font-size:.6rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--muted); opacity:.55;
}
@media (max-width:1180px){ .rail{ display:none; } }

/* ═══ NAV ═══ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px clamp(20px,4vw,44px); transition:background .3s ease, padding .3s ease;
}
.nav--stuck{ background:rgba(255,255,255,.92); backdrop-filter:blur(10px); padding-top:11px; padding-bottom:11px; box-shadow:0 1px 0 rgba(28,25,23,.08); }
.nav__mark{
  font-family:var(--serif); font-size:1.35rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--shell); text-decoration:none;
}
.nav__links{ display:flex; align-items:center; gap:26px; }
.nav__links a{
  font-size:.7rem; font-weight:500; letter-spacing:.11em; text-transform:uppercase;
  color:rgba(255,246,236,.82); text-decoration:none; transition:color .2s;
}
.nav__links a:hover{ color:var(--shell); }
.nav__cta{
  background:var(--shell); color:var(--wine) !important;
  padding:9px 18px; border-radius:40px;
}
.nav__burger{
  display:none; background:none; border:0; cursor:pointer; padding:8px; width:40px;
}
.nav__burger span{ display:block; height:1.5px; background:var(--shell); margin:5px 0; transition:transform .3s; }

/* ═══ 01 · HERO (image plein écran) ═══ */
.hero{ position:relative; min-height:100svh; overflow:hidden; display:flex;
  background:linear-gradient(160deg,#F6CDA6 0%,#E87A4E 45%,#9C5446 78%,#2E6152 100%); }
.hero__img{
  position:absolute; inset:0; z-index:0;
  background-color:#E87A4E;
  background-image:url('images/hero.jpg'),
    linear-gradient(160deg,#F6CDA6 0%,#E87A4E 45%,#9C5446 78%,#2E6152 100%);
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
/* voile chaud : lisibilité du titre, plus dense en bas à gauche */
.hero__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(to top, rgba(26,19,15,.66) 0%, rgba(26,19,15,.18) 42%, rgba(26,19,15,0) 72%),
    linear-gradient(to right, rgba(26,19,15,.55) 0%, rgba(26,19,15,.12) 46%, rgba(26,19,15,0) 78%);
}
.hero__grain{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  opacity:.13; mix-blend-mode:overlay; background-image:var(--grain);
}
.hero__body{
  position:relative; z-index:3; align-self:flex-start;
  width:100%; max-width:1180px; margin:0 auto;
  padding:clamp(120px,18vh,200px) clamp(24px,5vw,56px) 0;
}
.hero__title{
  font-family:var(--serif); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.6rem,8vw,6rem); line-height:.94; letter-spacing:.005em;
  color:var(--shell); margin:0 0 1.2rem; text-shadow:0 2px 30px rgba(26,19,15,.4);
}
.rotor{ display:inline-block; overflow:hidden; vertical-align:bottom;
  height:1em; min-width:clamp(260px,48vw,540px); }
.rotor__word{ display:block; color:var(--amber); transition:transform .38s cubic-bezier(.7,0,.2,1); }
.hero__sub{ font-size:clamp(.96rem,1.7vw,1.12rem); color:rgba(255,246,236,.86); max-width:46ch; margin:0 0 2rem; text-shadow:0 1px 16px rgba(26,19,15,.5); }
.hero__cta{
  display:inline-flex; align-items:center; gap:14px;
  background:var(--shell); color:var(--wine); text-decoration:none;
  padding:15px 16px 15px 28px; border-radius:44px;
  font-size:.82rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  transition:transform .2s ease, background .2s ease;
}
.hero__cta:hover{ transform:translateY(-2px); background:#fff; }
.hero__arrow{ display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--wine); color:var(--shell); font-size:1rem; }

/* ═══ 02 · RECONNAISSANCE ═══ */
.grid-6{ display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1px; background:var(--hair); border-block:1px solid var(--hair); }
.sym{ background:#fff; padding:clamp(26px,3.4vw,40px); }
.sym h3{ font-family:var(--serif); font-size:1.32rem; text-transform:uppercase; letter-spacing:.01em; font-weight:400; margin:0 0 .6rem; }
.sym p{ font-size:.92rem; color:var(--muted); margin:0; }

/* ═══ 02 · RECONNAISSANCE + TEST ═══ */
.recog__title{
  font-family:var(--serif); font-weight:400; text-transform:uppercase;
  font-size:clamp(2.2rem,5.5vw,3.6rem); line-height:1; letter-spacing:.01em;
  color:var(--text); margin:0; hyphens:none; overflow-wrap:normal;
}
.recog__stage{
  margin-top:2.2rem; min-height:4.6em;
  display:flex; align-items:flex-start;
}
.recog__line{
  font-family:var(--sans); font-weight:500;
  font-size:clamp(1.15rem,2.6vw,1.7rem); line-height:1.32; letter-spacing:.005em;
  color:var(--text); margin:0; max-width:30ch;
  transition:opacity .5s ease, transform .5s ease;
}
.recog__line span{ color:var(--muted); opacity:.6; }

.fold{ margin-top:2.4rem; }
.fold__btn{
  width:100%; display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  background:var(--blood); color:var(--shell); border:0; border-radius:44px;
  padding:18px 26px; cursor:pointer; font-family:var(--sans);
  font-size:.82rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  transition:background .2s ease;
}
.fold__btn:hover{ background:var(--wine); }
.fold__meta{ font-size:.68rem; letter-spacing:.1em; opacity:.7; font-weight:400; }
.fold__chev{ margin-left:auto; font-size:1.1em; transition:transform .4s ease; }
.fold__btn[aria-expanded="true"] .fold__chev{ transform:rotate(180deg); }
.fold__panel{ overflow:hidden; max-height:0; transition:max-height .55s cubic-bezier(.4,0,.2,1); }
.fold__intro{ font-size:.95rem; color:var(--muted); max-width:56ch; margin:1.8rem 0 0; }

.quiz{ margin:1.4rem 0 0; }
.quiz__list{ margin:0; padding:0; }
.quiz__q{ padding:1.4rem 0 0; }
.quiz__label{ display:block; font-size:1.02rem; font-weight:500; margin:0 0 .9rem; color:var(--text); }
.quiz__opts{ display:flex; flex-wrap:wrap; gap:8px; }
.quiz__opt{
  border:1px solid var(--hair); background:none; border-radius:40px;
  padding:9px 17px; font-family:var(--sans); font-size:.82rem; color:var(--muted);
  cursor:pointer; transition:all .18s ease;
}
.quiz__opt:hover{ border-color:var(--blood); color:var(--text); }
.quiz__opt[aria-pressed="true"]{ background:var(--blood); border-color:var(--blood); color:var(--shell); }
.quiz__foot{ display:flex; flex-wrap:wrap; gap:12px; margin-top:2rem; align-items:center; }
.quiz__err{ color:var(--red); font-size:.85rem; }

.result{ margin-top:2rem; padding:clamp(26px,4vw,40px); background:#FBF4EC; border-radius:14px; }
.result__score{ font-family:var(--serif); font-size:3.4rem; line-height:1; color:var(--blood); }
.result__score small{ font-size:1.1rem; color:var(--muted); margin-left:6px; }
.result__title{ font-family:var(--serif); font-size:1.7rem; text-transform:uppercase; font-weight:400; letter-spacing:.01em; margin:.8rem 0 .6rem; }
.result__text{ color:var(--muted); }
.result__legal{ font-size:.76rem; color:var(--muted); opacity:.8; margin:1.4rem 0 0; }

/* ═══ 04 · QUI JE SUIS (bandeau + carte) ═══ */
.about{ position:relative; padding:0 0 clamp(60px,9vw,120px); }
.about__banner{
  height:clamp(360px,50vw,660px); background:#E9E0D6;
  background-image:url('images/about-sommeil.jpg');
  background-size:cover; background-position:center;
}
.about__card{
  position:relative; z-index:2;
  width:min(760px,92%); margin:clamp(-160px,-16vw,-220px) auto 0;
  background:#FBF4EC; padding:clamp(34px,5vw,60px);
  border-radius:2px;
}
.about__title{
  font-family:var(--serif); font-weight:400; text-transform:uppercase;
  font-size:clamp(1.7rem,3.8vw,2.7rem); line-height:1.04; letter-spacing:.01em;
  margin:0 0 1.4rem;
}
.about__card p{ font-size:1rem; color:var(--muted); }
.about__sign{
  font-family:var(--serif); font-style:italic; font-size:1.5rem;
  color:var(--blood); margin:1.6rem 0 0;
}

/* ═══ 06 · OUTILS (accordéons + photo) ═══ */
.tools{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(32px,5vw,72px); align-items:start; }
.tools__title{
  font-family:var(--serif); font-weight:400; text-transform:uppercase;
  font-size:clamp(1.8rem,4vw,3rem); line-height:1.02; letter-spacing:.01em;
  color:var(--text); margin:0 0 1.4rem;
}
.tools__title span{ color:var(--amber); }
.tools__intro{ font-size:1rem; color:var(--muted); max-width:52ch; margin:0 0 2.2rem; }

.acc{ border-top:1px solid var(--hair); }
.acc__item{ border-bottom:1px solid var(--hair); }
.acc__item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:1.25rem 0; font-family:var(--serif); font-weight:400;
  font-size:clamp(1.15rem,2.2vw,1.45rem); line-height:1.2; letter-spacing:.005em; color:var(--text);
}
.acc__item summary::-webkit-details-marker{ display:none; }
.acc__ic{ position:relative; flex:0 0 30px; width:30px; height:30px; border:1px solid var(--blood); border-radius:50%; }
.acc__ic::before,.acc__ic::after{
  content:""; position:absolute; top:50%; left:50%; background:var(--blood);
  transform:translate(-50%,-50%); transition:opacity .25s ease, transform .25s ease;
}
.acc__ic::before{ width:11px; height:1.5px; }
.acc__ic::after{ width:1.5px; height:11px; }
.acc__item[open] .acc__ic::after{ opacity:0; transform:translate(-50%,-50%) rotate(90deg); }
.acc__body{ padding:0 0 1.4rem; }
.acc__body p{ font-size:.95rem; color:var(--muted); margin:0; max-width:56ch; }

.tools__media{
  position:sticky; top:96px; aspect-ratio:4/5;
  background:#E9E0D6 center/cover no-repeat; background-image:url('images/outils-cabinet.jpg');
  border-radius:0;
}

/* ═══ 06b · ONDE / RESPIRATION ═══ */
.breath{ position:relative; background:#fff; overflow:hidden; padding:clamp(60px,9vw,110px) clamp(20px,5vw,56px); }
.breath__grain{ position:absolute; inset:0; opacity:.12; mix-blend-mode:overlay; background-image:var(--grain); pointer-events:none; }
.breath__inner{ position:relative; z-index:1; max-width:1000px; margin:0 auto; }
.breath__title{
  font-family:var(--serif); font-weight:400; text-transform:uppercase; letter-spacing:.01em;
  font-size:clamp(1.7rem,4vw,3rem); line-height:1.02; color:var(--shell);
  text-align:center; margin:0 auto; max-width:22ch;
}
.breath__svg{ width:100%; height:auto; display:block; margin:clamp(20px,3vw,36px) 0 clamp(16px,2vw,24px); }
.breath__cols{ display:flex; flex-wrap:wrap; gap:clamp(24px,4vw,48px); }
.breath__col{ flex:1; min-width:230px; }
.breath__k{ display:block; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin-bottom:.7rem; }
.breath__col p{ font-size:.95rem; line-height:1.6; color:rgba(255,246,236,.76); margin:0; }

/* ═══ 07 · NIVEAUX ═══ */
.levels__head{ max-width:30ch; }
.levels__head span{ color:var(--amber); }
.levels{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(18px,3vw,28px); margin-top:2.6rem; align-items:start; }
.level{ position:relative; padding:clamp(30px,3.6vw,44px); border:1px solid var(--hair); border-radius:18px; background:var(--shell); overflow:hidden; }
.level--deep{ background:var(--ink); border-color:transparent; }
.level--deep h3, .level--deep p{ color:var(--shell); }
.level--deep p{ color:rgba(255,246,236,.78); }
.level__num{
  position:absolute; top:clamp(18px,2.4vw,28px); right:clamp(20px,2.8vw,32px);
  font-family:var(--serif); font-size:clamp(3rem,6vw,4.6rem); line-height:1;
  color:var(--blood); opacity:.16; z-index:0; pointer-events:none;
}
.level--deep .level__num{ color:var(--amber); opacity:.28; }
.level__tag{ position:relative; z-index:1; display:inline-block; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--blood); margin-bottom:1rem; }
.level--deep .level__tag{ color:var(--amber); }
.level h3{ position:relative; z-index:1; font-family:var(--serif); font-size:1.55rem; text-transform:uppercase; font-weight:400; letter-spacing:.01em; margin:0 0 1rem; max-width:14ch; }
.level p{ position:relative; z-index:1; font-size:.95rem; color:var(--muted); }
@media (min-width:760px){
  .level--deep{ margin-top:clamp(32px,5vw,64px); }
}

/* ═══ 08 · DÉROULEMENT (cartes photo révélées) ═══ */
.flow__head{ max-width:30ch; }
.flow__head span{ color:var(--amber); }
.scards{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:2.6rem; }
.scard{
  position:relative; overflow:hidden; border-radius:0;
  aspect-ratio:3/4; background:#E9E0D6 center/cover no-repeat;
  display:flex; align-items:flex-end; isolation:isolate;
}
.scard__shade{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(26,19,15,.92) 0%, rgba(26,19,15,.55) 34%, rgba(26,19,15,.08) 62%, rgba(26,19,15,0) 100%);
}
.scard__body{ position:relative; z-index:2; padding:clamp(20px,2.4vw,26px); width:100%; }
.scard__k{ display:block; font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin-bottom:.5rem; }
.scard__title{
  font-family:var(--serif); font-weight:400; text-transform:uppercase; letter-spacing:.01em;
  font-size:clamp(1.25rem,1.7vw,1.5rem); line-height:1.08; color:var(--shell); margin:0;
}
.scard__more{
  display:grid; grid-template-rows:0fr; opacity:0;
  transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1), opacity .4s ease;
}
.scard__more > p{ overflow:hidden; margin:.7rem 0 0; font-size:.9rem; line-height:1.5; color:rgba(255,246,236,.86); }
.scard:hover .scard__more,
.scard:focus-within .scard__more{ grid-template-rows:1fr; opacity:1; }
.scard__hint{ display:none; align-items:center; justify-content:center; gap:6px; margin:1.2rem 0 0; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }

@media (hover:hover) and (max-width:1000px){
  .scards{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  /* Mobile : carrousel horizontal à défilement magnétique, sans JS.
     Une carte à la fois, on swipe au doigt. Le détail reste visible. */
  .scards{
    display:flex; grid-template-columns:none;
    overflow-x:auto; scroll-snap-type:x mandatory;
    gap:12px; margin-inline:calc(clamp(20px,5vw,56px) * -1);
    padding-inline:clamp(20px,5vw,56px); padding-bottom:6px;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .scards::-webkit-scrollbar{ display:none; }
  .scard{
    flex:0 0 82%; scroll-snap-align:center; aspect-ratio:3/4;
  }
  .scard__more{ grid-template-rows:1fr; opacity:1; }
  .scard__hint{ display:flex; }
}

/* ═══ ATELIERS (bandeau photo + rectangle centré) ═══ */
.atl{ position:relative; display:grid; place-items:center; padding:clamp(56px,9vw,120px) clamp(20px,5vw,56px); overflow:hidden; }
.atl__bg{
  position:absolute; inset:0; z-index:0; background:#E9E0D6 no-repeat;
  background-image:url('images/atelier-groupe.jpg');
  background-size:cover; background-position:center 22%;
}
.atl__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(252,237,180,.12), rgba(26,19,15,.28)); }
.atl__panel{
  position:relative; z-index:1; width:min(620px,100%);
  background:#FBF4EC; padding:clamp(34px,5vw,60px); border-radius:2px; text-align:center;
}
.atl__title{
  font-family:var(--serif); font-weight:400; text-transform:uppercase; letter-spacing:.01em;
  font-size:clamp(1.6rem,3.2vw,2.4rem); line-height:1.06; color:var(--text); margin:.5rem 0 1rem;
}
.atl__desc{ font-size:1rem; color:var(--muted); margin:0 0 1.2rem; }
.atl__meta{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--blood); margin:0 0 1.8rem; }
.atl__cta{ display:inline-block; }

/* ═══ 11b · CITATION (section rupture) ═══ */
.quote{ position:relative; background:#fff; padding:clamp(80px,14vw,190px) clamp(24px,6vw,80px); }
.quote__inner{ position:relative; z-index:1; max-width:none; margin:0 auto; text-align:center; }
.quote__text{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(2.4rem,6.5vw,4.4rem); line-height:1.14; letter-spacing:.005em;
  color:var(--terra); margin:0;
}
.quote__cite{
  display:block; margin-top:1.4rem; font-style:normal; font-family:var(--sans);
  font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
}

/* ═══ 12 · TARIFS (cartes) ═══ */
.pr__head{ max-width:26ch; }
.pr__head span{ color:var(--amber); }
.pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:2.6rem 0 1.8rem; align-items:stretch; }
.pcard{
  position:relative; display:flex; flex-direction:column;
  background:#FBF4EC; border:1px solid var(--hair); border-radius:20px;
  padding:clamp(28px,3vw,40px) clamp(24px,2.6vw,32px);
}
.pcard--feat{ background:var(--ink); border-color:transparent; }
.pcard__badge{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--amber); color:var(--wine); font-size:.62rem; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase; padding:6px 16px; border-radius:40px; white-space:nowrap;
}
.pcard__name{
  font-family:var(--serif); font-weight:400; text-transform:uppercase; letter-spacing:.01em;
  font-size:1.5rem; text-align:center; margin:0 0 .4rem; color:var(--text);
}
.pcard--feat .pcard__name{ color:var(--shell); }
.pcard__price{
  font-family:var(--serif); font-weight:400; font-size:clamp(2.6rem,4.4vw,3.4rem);
  line-height:1; text-align:center; color:var(--blood); margin:0 0 1.2rem;
}
.pcard--feat .pcard__price{ color:var(--amber); }
.pcard__desc{ font-size:.92rem; color:var(--muted); text-align:center; margin:0 0 1.4rem; }
.pcard--feat .pcard__desc{ color:rgba(255,246,236,.76); }
.pcard__unit{
  font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; text-align:center;
  color:var(--muted); margin:0 0 1rem; padding-bottom:1.2rem; border-bottom:1px solid var(--hair);
}
.pcard--feat .pcard__unit{ color:var(--amber); border-color:rgba(255,246,236,.2); }
.pcard__list{ list-style:none; margin:0 0 1.8rem; padding:0; flex:1; }
.pcard__list li{ position:relative; font-size:.92rem; color:var(--muted); padding:.55rem 0 .55rem 1.9rem; }
.pcard--feat .pcard__list li{ color:rgba(255,246,236,.82); }
.pcard__list li::before{
  content:""; position:absolute; left:0; top:.7rem; width:12px; height:7px;
  border-left:2px solid var(--blood); border-bottom:2px solid var(--blood);
  transform:rotate(-45deg);
}
.pcard--feat .pcard__list li::before{ border-color:var(--amber); }
.pcard__cta{
  display:block; text-align:center; text-decoration:none;
  background:var(--blood); color:var(--shell); border-radius:44px; padding:14px;
  font-size:.76rem; font-weight:500; letter-spacing:.09em; text-transform:uppercase;
  transition:background .2s ease, transform .2s ease;
}
.pcard__cta:hover{ background:var(--wine); transform:translateY(-2px); }
.pcard--feat .pcard__cta{ background:var(--amber); color:var(--wine); }
.pcard--feat .pcard__cta:hover{ background:var(--sand); }

/* ═══ 13 · FAQ (image fixe + questions) ═══ */
.faqx{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(32px,5vw,64px); align-items:start; }
.faqx__media{
  position:sticky; top:96px; aspect-ratio:4/5; border-radius:0;
  background:#E9E0D6 center/cover no-repeat; background-image:url('images/faq-sommeil.jpg');
}
.faqx__title{ max-width:20ch; }
.faqx__title span{ color:var(--amber); }
.faqx__lede{ font-size:1rem; color:var(--muted); margin:0 0 .6rem; max-width:52ch; }
.faq{ margin-top:2rem; border-top:1px solid var(--hair); }
.qa{ border-bottom:1px solid var(--hair); }
.qa summary{
  cursor:pointer; list-style:none; padding:1.35rem 2.4rem 1.35rem 0; position:relative;
  font-family:var(--serif); font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.25;
}
.qa summary::-webkit-details-marker{ display:none; }
.qa summary::after{ content:"+"; position:absolute; right:2px; top:1.2rem; font-size:1.3rem; color:var(--blood); transition:transform .25s; }
.qa[open] summary::after{ transform:rotate(45deg); }
.qa div{ padding:0 2.4rem 1.5rem 0; }
.qa p{ font-size:.95rem; color:var(--muted); margin:0; }
/* Repli : par défaut on ne montre que les 4 premières questions */
.faq:not(.is-open) .qa:nth-child(n+5){ display:none; }
.faq__more{
  margin-top:1.6rem; background:none; border:1px solid var(--blood); color:var(--blood);
  border-radius:44px; padding:12px 26px; cursor:pointer; font-family:var(--sans);
  font-size:.74rem; font-weight:500; letter-spacing:.09em; text-transform:uppercase; transition:all .2s ease;
}
.faq__more:hover{ background:var(--blood); color:var(--shell); }
@media (max-width:820px){
  .faqx{ grid-template-columns:1fr; }
  .faqx__media{ position:static; aspect-ratio:16/9; }
}

/* ═══ 14 · CONTACT ═══ */
.contact{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(28px,4vw,56px); margin-top:2.4rem; }
.contact__map{ border:1px solid var(--hair); border-radius:4px; overflow:hidden; min-height:420px; }
.contact__map iframe{ width:100%; height:100%; min-height:420px; border:0; display:block; filter:saturate(.75) sepia(.12); }
.info{ padding-bottom:1.2rem; margin-bottom:1.2rem; border-bottom:1px solid var(--hair); }
.info h3{ font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--blood); margin:0 0 .4rem; font-weight:500; }
.info p{ margin:0; font-size:.95rem; color:var(--muted); }
.info a{ text-decoration:none; }
.hours h3{ font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--blood); margin:0 0 .6rem; font-weight:500; }
.hours ul{ list-style:none; margin:0 0 .8rem; padding:0; }
.hours li{ display:flex; justify-content:space-between; font-size:.88rem; color:var(--muted); padding:.32rem 0; }
.hours li.is-today{ color:var(--text); font-weight:500; }
.hours li.is-today span:first-child::before{ content:"● "; color:var(--red); font-size:.6em; vertical-align:middle; }
.hours__note{ font-size:.8rem; color:var(--muted); opacity:.8; margin:0 0 1.4rem; }

/* ═══ FOOTER ═══ */
.foot{ background:var(--ink); color:rgba(255,246,236,.72); padding:clamp(56px,7vw,90px) 0 28px; font-size:.9rem; }
.foot__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:32px; }
.foot__mark{ font-family:var(--serif); font-size:1.5rem; text-transform:uppercase; letter-spacing:.04em; color:var(--shell); margin:0 0 .6rem; }
.foot h4{ font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin:0 0 .7rem; font-weight:500; }
.foot p{ margin:0 0 .4rem; }
.foot a{ text-decoration:none; }
.foot a:hover{ color:var(--shell); }
.foot__legal{ max-width:1140px; margin:44px auto 0; padding:22px clamp(20px,5vw,56px) 0; border-top:1px solid rgba(255,246,236,.14); font-size:.76rem; opacity:.65; }

/* ═══ BOUTON APPEL MOBILE (désactivé pour l'instant) ═══ */
.callbtn{ display:none !important; }

/* ═══ RÉVÉLATIONS AU SCROLL ═══ */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-in{ opacity:1; transform:none; }

/* ═══ RESPONSIVE ═══ */
@media (max-width:920px){
  .contact,.tools{ grid-template-columns:1fr; }
  .tools__media{ position:static; aspect-ratio:16/10; order:-1; margin-bottom:1.6rem; }
}
/* Tarifs : resserrés mais gardés sur une ligne jusqu'au vrai mobile */
@media (max-width:920px){
  .pgrid{ gap:12px; }
  .pcard{ padding:26px 18px; }
  .pcard__name{ font-size:1.2rem; }
  .pcard__price{ font-size:clamp(2rem,5vw,2.6rem); }
  .pcard__desc,.pcard__list li{ font-size:.85rem; }
  .pcard__list li{ padding-left:1.6rem; }
}
@media (max-width:600px){
  .pgrid{ grid-template-columns:1fr; max-width:400px; margin-inline:auto; gap:16px; }
  .pcard{ padding:clamp(28px,3vw,40px) clamp(24px,2.6vw,32px); }
  .pcard--feat{ order:-1; }
  .pcard__name{ font-size:1.5rem; }
  .pcard__desc,.pcard__list li{ font-size:.92rem; }
}
@media (max-width:760px){
  .nav__links{
    position:fixed; inset:0; background:var(--ink); flex-direction:column;
    justify-content:center; gap:24px; opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .3s ease;
  }
  .nav__links.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
  .nav__links a{ font-size:.95rem; }
  .nav__burger{ display:block; position:relative; z-index:2; }
  .hero__body{ padding-top:96px; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
}

/* ═══════════════════════════════════════════════════════
   FINITIONS PALETTE — blanc + noir + corail / émeraude / terracotta
   (ajouts en fin de fichier, la mise en page n'est pas touchée)
   ═══════════════════════════════════════════════════════ */

/* Rail : hypnogramme en émeraude (comète retirée) */
.rail__live{ stroke:var(--emerald); stroke-width:1.6; }

/* Corail lisible quand c'est du petit texte sur blanc */
.eyebrow, .info h3, .hours h3, .level__tag, .atl__meta{ color:var(--coral-ink); }
.eyebrow--warm{ color:var(--emerald-ink); }
.faq__more{ border-color:var(--coral-ink); color:var(--coral-ink); }
.faq__more:hover{ background:var(--coral-ink); color:#fff; }
.quiz__err{ color:var(--coral-ink); }
.hours li.is-today span:first-child::before{ color:var(--coral-ink); }

/* Blocs émeraude profond : accents chauds et lisibles */
.level--deep .level__tag, .level--deep .level__num{ color:var(--coral-soft); }
.pcard--feat .pcard__price{ color:var(--coral-soft); }
.pcard--feat .pcard__unit{ color:var(--coral-soft); border-color:rgba(255,249,244,.22); }
.pcard--feat .pcard__list li::before{ border-color:var(--coral-soft); }
.pcard--feat .pcard__cta{ background:var(--coral); color:#fff; }
.pcard--feat .pcard__cta:hover{ background:var(--coral-soft); }
.pcard__badge{ background:var(--coral); color:#fff; }

/* Respiration en version claire */
.breath__title{ color:var(--text); }
.breath__k{ color:var(--emerald-ink); }
.breath__col p{ color:var(--muted); }
.breath__grain{ opacity:.05; }

/* Nav collée : texte sombre sur fond blanc */
.nav--stuck .nav__mark{ color:var(--text); }
.nav--stuck .nav__links:not(.is-open) a{ color:#4A423C; }
.nav--stuck .nav__links:not(.is-open) a:hover{ color:var(--text); }
.nav--stuck .nav__burger span{ background:var(--text); }
.nav--stuck .nav__cta{ background:var(--coral); color:#fff !important; }
.nav__links.is-open + .nav__burger span{ background:#fff; }

/* HERO — traitement moderne : sur-titre, actions, indice de scroll */
.hero__kicker{
  display:block; font-family:var(--sans); font-size:clamp(.7rem,1.4vw,.82rem);
  font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  color:#FBE4C8; margin:0 0 1.1rem; text-shadow:0 1px 12px rgba(26,19,15,.55);
}
.rotor__word{ color:#FCEBD2; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:.3rem; }
.hero__link{
  display:inline-flex; align-items:center; gap:8px; color:#fff; text-decoration:none;
  font-size:.78rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase;
  padding:13px 2px; border-bottom:1px solid rgba(255,255,255,.5); transition:border-color .2s ease;
}
.hero__link:hover{ border-color:#fff; }
.hero__scroll{
  position:absolute; left:50%; bottom:24px; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:10px; pointer-events:none;
  color:rgba(255,255,255,.82); font-size:.58rem; letter-spacing:.22em; text-transform:uppercase;
}
.hero__scroll span{
  display:block; width:1.5px; height:40px; border-radius:2px;
  background:linear-gradient(to bottom, rgba(255,255,255,.85), rgba(255,255,255,0));
  animation:scrollcue 2.4s ease-in-out infinite;
}
@keyframes scrollcue{
  0%,100%{ transform:scaleY(.35); transform-origin:top; opacity:.45; }
  50%{ transform:scaleY(1); opacity:1; }
}
@media (max-width:760px){ .hero__scroll{ display:none; } }

/* ═══════════════════════════════════════════════════════
   HERO illustré jour / nuit en 3 calques (remplace l'ancien hero)
   ═══════════════════════════════════════════════════════ */
.hero{ position:relative; height:100svh; min-height:100svh; overflow:hidden; display:block; background:#0C3B42; }
.hero__stage{ position:absolute; inset:0; z-index:0; }
@keyframes hfloaty{ 0%,100%{ transform:translate3d(0,0,0) scale(1); } 50%{ transform:translate3d(0,-10px,0) scale(1.012); } }
.hlyr{ position:absolute; inset:0; will-change:transform; }
.hlyr--sky{ z-index:1; } .hlyr--mont{ z-index:3; } .hlyr--femme{ z-index:4; }
.himg{ position:absolute; inset:0; background-size:cover; background-repeat:no-repeat; opacity:0; transition:opacity .9s ease; }
.hlyr--sky .himg{ background-position:center; }
.hlyr--mont .himg, .hlyr--femme .himg{ background-position:center bottom; }
.sky-day{ background-image:url('images/jour-ciel.webp'); }
.sky-night{ background-image:url('images/nuit-ciel.webp'); }
.mont-day{ background-image:url('images/jour-montagne.webp'); }
.mont-night{ background-image:url('images/nuit-montagne.webp'); }
.femme-day{ background-image:url('images/jour-femme.webp'); }
.femme-night{ background-image:url('images/nuit-femme.webp'); }
body.is-day  .himg.-day  { opacity:1; }
body.is-night .himg.-night{ opacity:1; }

.hsparks{ position:absolute; inset:0; z-index:2; pointer-events:none; opacity:0; transition:opacity .9s ease; }
body.is-night .hsparks{ opacity:1; }
.hsparks i{ position:absolute; width:3px; height:3px; border-radius:50%; background:#fff;
  box-shadow:0 0 7px 1px rgba(255,255,255,.6); animation:htw 4.5s ease-in-out infinite; }
@keyframes htw{ 0%,100%{ opacity:.1; transform:scale(.5); } 50%{ opacity:.95; transform:scale(1); } }

.hero__scrim2{ position:absolute; inset:0; z-index:5; pointer-events:none;
  background:linear-gradient(to bottom, rgba(8,20,24,.42) 0%, rgba(8,20,24,.08) 34%, rgba(8,20,24,0) 60%); }

.hero__head{ position:absolute; z-index:6; top:clamp(96px,15vh,180px); left:50%; transform:translate(-50%,0);
  width:100%; max-width:920px; padding:0 24px; text-align:center; will-change:transform,opacity; }
.hero .hero__title{ font-family:var(--serif); font-weight:400; text-transform:none; color:#fff; line-height:1.0; margin:0;
  font-size:clamp(3rem,7vw,5.8rem); letter-spacing:.01em; text-shadow:0 2px 28px rgba(8,20,24,.55); }
.hero .hero__title em{ font-style:italic; text-transform:none; }
.hero .rotor{ display:inline-block; overflow:hidden; height:1em; vertical-align:bottom; min-width:0; }
.hero .rotor__word{ display:block; color:#FCEBD2; }
.hero__lede{ font-size:clamp(.94rem,1.35vw,1.05rem); line-height:1.6; color:rgba(255,255,255,.96);
  max-width:50ch; margin:1.4rem auto 0; text-shadow:0 1px 16px rgba(8,20,24,.7); }
.hero__lede b{ color:#fff; font-weight:600; }

.hero__scroll2{ position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:6;
  display:flex; flex-direction:column; align-items:center; gap:9px; color:rgba(255,255,255,.85);
  font-size:.56rem; letter-spacing:.26em; text-transform:uppercase; pointer-events:none; }
.hero__scroll2 span{ display:block; width:1.5px; height:36px; border-radius:2px;
  background:linear-gradient(to bottom,rgba(255,255,255,.85),rgba(255,255,255,0)); animation:hcue 2.4s ease-in-out infinite; }
@keyframes hcue{ 0%,100%{ transform:scaleY(.35); transform-origin:top; opacity:.45; } 50%{ transform:scaleY(1); opacity:1; } }

/* bouton jour / nuit dans la nav */
.nav__mode{ display:grid; place-items:center; width:40px; height:40px; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(6px);
  transition:background .2s, border-color .2s; margin-left:8px; }
.nav__mode:hover{ background:rgba(255,255,255,.3); }
.nav__mode svg{ width:18px; height:18px; stroke:#fff; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
body.is-day  .nav__mode .ico-moon{ display:none; }
body.is-night .nav__mode .ico-sun { display:none; }
.nav--stuck .nav__mode{ background:rgba(28,25,23,.06); border-color:rgba(28,25,23,.16); }
.nav--stuck .nav__mode svg{ stroke:var(--text); }

@media (prefers-reduced-motion:reduce){ .hero__stage,.hsparks i,.hero__scroll2 span{ animation:none!important; } }

/* Retouches : texte blanc dans la carte verte + plan contact visible même sans iframe */
.level--deep h3, .level--deep p{ color:#fff; }
.contact__map{ position:relative; background:#E8F1ED; }
.contact__maplink{ position:absolute; inset:0; z-index:0; display:grid; place-items:center; text-align:center;
  padding:24px; color:var(--emerald-ink); font-size:.92rem; font-weight:500; text-decoration:underline; }
.contact__map iframe{ position:relative; z-index:1; }

/* Nuit = vidéo en fond ; jour = calques illustrés */
.hvid{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .9s ease; z-index:2; will-change:transform; }
body.is-day  .hvid--day  { opacity:1; }
body.is-night .hvid--night{ opacity:1; }

/* ═══ THÈME JOUR / NUIT : accents chauds (corail) le jour, froids (bleu) la nuit ═══ */
body.is-day  { --coral:#E87A4E; --coral-ink:#C85A2C; --coral-soft:#F0A277; --deep:#2E6152; }
body.is-night{ --coral:#2C7A88; --coral-ink:#21606C; --coral-soft:#83B2BE; --deep:#1E4C57; }
/* survols cohérents avec l'accent du moment (au lieu du terracotta fixe) */
.btn--solid:hover, .fold__btn:hover, .pcard__cta:hover{ background:var(--coral-ink); }
/* transition douce quand on bascule */
.btn--solid, .btn--light, .fold__btn, .pcard__cta, .pcard__badge, .quiz__opt,
.eyebrow, .info h3, .hours h3, .level__tag, .atl__meta, .faq__more, .nav__cta{
  transition:background-color .5s ease, color .5s ease, border-color .5s ease;
}

/* Bouton de la carte tarif vedette : fond clair pour bien ressortir sur le bloc foncé (jour comme nuit) */
.pcard--feat .pcard__cta{ background:#fff; color:var(--coral-ink); }
.pcard--feat .pcard__cta:hover{ background:#FBF5EF; }

/* ═══ Illustrations des blocs : bascule jour / nuit ═══ */
body.is-day  .scard--1{ background-image:url('images/etape-1-jour.webp'); }
body.is-night .scard--1{ background-image:url('images/etape-1-nuit.webp'); }
body.is-day  .scard--2{ background-image:url('images/etape-2-jour.webp'); }
body.is-night .scard--2{ background-image:url('images/etape-2-nuit.webp'); }
body.is-day  .scard--3{ background-image:url('images/etape-3-jour.webp'); }
body.is-night .scard--3{ background-image:url('images/etape-3-nuit.webp'); }
body.is-day  .scard--4{ background-image:url('images/etape-4-jour.webp'); }
body.is-night .scard--4{ background-image:url('images/etape-4-nuit.webp'); }
body.is-day  .atl__bg{ background-image:url('images/atelier-groupe-jour.webp'); }
body.is-night .atl__bg{ background-image:url('images/atelier-groupe-nuit.webp'); }
body.is-day  .faqx__media{ background-image:url('images/faq-sommeil-jour.webp'); }
body.is-night .faqx__media{ background-image:url('images/faq-sommeil-nuit.webp'); }

/* Mot animé du hero : vert charte le jour (lisible sur ciel clair), crème la nuit */
body.is-day  .hero .rotor__word{ color:#2F6C5B; }
body.is-night .hero .rotor__word{ color:#FCEBD2; }

/* ═══ Avis (carrousel) ═══ */
.avis{ background:var(--paper); padding:clamp(56px,9vw,110px) clamp(20px,5vw,56px); }
.avis__wrap{ max-width:920px; margin:0 auto; text-align:center; }
.avis__track{ position:relative; min-height:11em; margin-top:1.6rem; }
.avis__item{ position:absolute; left:0; right:0; top:50%; transform:translateY(-50%); margin:0;
  opacity:0; visibility:hidden; transition:opacity .6s ease; }
.avis__item.is-active{ opacity:1; visibility:visible; }
.avis__text{ font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(1.35rem,3.2vw,2.15rem); line-height:1.32; color:var(--terra);
  max-width:26ch; margin:0 auto; }
.avis__cite{ display:block; margin-top:1.4rem; font-family:var(--sans); font-size:.76rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--coral-ink); font-style:normal; }
.avis__nav{ display:flex; flex-direction:column; align-items:center; gap:1.3rem; margin-top:2.2rem; }
.avis__dots{ display:flex; gap:10px; }
.avis__dots button{ width:9px; height:9px; border-radius:50%; border:0; background:var(--hair);
  cursor:pointer; padding:0; transition:background .25s ease, transform .25s ease; }
.avis__dots button.is-active{ background:var(--coral); transform:scale(1.3); }
.avis__more{ font-size:.82rem; font-weight:500; letter-spacing:.03em; color:var(--coral-ink);
  text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px; transition:color .2s ease; }
.avis__more:hover{ color:var(--text); }

/* ═══ Bouton "Prendre rendez-vous" flottant ═══ */
.book{ position:fixed; right:clamp(16px,3vw,28px); bottom:clamp(16px,3vw,28px); z-index:40;
  background:var(--coral); color:#fff; text-decoration:none; padding:14px 24px; border-radius:44px;
  font-size:.76rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  box-shadow:0 10px 30px rgba(26,19,15,.28); transform:translateY(20px); opacity:0; pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, background .3s ease; }
.book.is-shown{ opacity:1; transform:none; pointer-events:auto; }
.book:hover{ background:var(--coral-ink); }

/* ═══ Pages légales ═══ */
.legal{ max-width:760px; margin:0 auto; padding:clamp(90px,14vh,150px) clamp(20px,5vw,28px) 90px; }
.legal__back{ display:inline-block; margin-bottom:2rem; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; color:var(--coral-ink); text-decoration:none; }
.legal__back:hover{ color:var(--text); }
.legal h1{ font-family:var(--serif); font-weight:400; font-size:clamp(2rem,5vw,3rem); line-height:1.06; margin:0 0 1.6rem; color:var(--text); }
.legal h2{ font-family:var(--sans); font-weight:600; font-size:1.02rem; margin:2.4rem 0 .5rem; color:var(--text); }
.legal p, .legal li{ color:var(--muted); line-height:1.7; font-size:.97rem; }
.legal ul{ padding-left:1.2rem; }
.legal a{ color:var(--coral-ink); }
.legal .upd{ font-size:.82rem; color:var(--muted); opacity:.8; margin-top:3rem; }

/* ═══════════════ PEAUFINAGES ═══════════════ */

/* Avis : empilement en grille (plus de vide, plus de chevauchement) */
.avis{ padding:clamp(46px,7vw,80px) clamp(20px,5vw,56px); }
.avis__track{ display:grid; min-height:0; margin-top:.4rem; }
.avis__item{ grid-area:1/1; position:static; top:auto; transform:none;
  opacity:0; visibility:hidden; transition:opacity .5s ease; }
.avis__item.is-active{ opacity:1; visibility:visible; }
.avis__nav{ margin-top:1.6rem; }

/* Cartes étapes : overlay plus couvrant pour lire le texte + étape visible */
.scard__shade{ background:linear-gradient(to top, rgba(18,12,8,.90) 0%, rgba(18,12,8,.68) 40%, rgba(18,12,8,.42) 68%, rgba(18,12,8,.16) 100%); }
.scard__k{ color:#F3C9A6; }

/* Tarifs : 2 blocs (présentiel / distanciel) au lieu de 3 */
.pgrid--2{ grid-template-columns:repeat(2,1fr); max-width:760px; margin-inline:auto; }

/* Contact : 3 colonnes (carte / infos / horaires) + carte plus petite */
.contact{ grid-template-columns:1.05fr .82fr .74fr; align-items:start; }
.contact__map{ min-height:300px; }
@media (max-width:900px){ .contact{ grid-template-columns:1fr; } .contact__map{ min-height:260px; } }

/* Mode JOUR : plus de voile sombre, texte foncé lisible, accent orange soleil */
body.is-day .hero__scrim2{ background:none; }
body.is-day .hero .hero__title{ color:#2A2521; text-shadow:none; }
body.is-day .hero .rotor__word{ color:#C85A2C; }
body.is-day .hero__lede{ color:#4A423C; text-shadow:none; }
body.is-day .hero__lede b{ color:#2A2521; }
body.is-day .hero__scroll2{ color:#6A5E54; }
body.is-day .nav:not(.nav--stuck) .nav__mark{ color:#2A2521; }
body.is-day .nav:not(.nav--stuck) .nav__links:not(.is-open) a{ color:#4A423C; }
body.is-day .nav:not(.nav--stuck) .nav__burger span{ background:#2A2521; }
body.is-day .nav:not(.nav--stuck) .nav__mode svg{ stroke:#2A2521; }
body.is-day .nav:not(.nav--stuck) .nav__mode{ background:rgba(28,20,16,.06); border-color:rgba(28,20,16,.20); }

/* Mobile */
@media (max-width:760px){
  /* courbe respiratoire bord à bord */
  .breath__svg{ width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); }
  /* bouton soleil/lune parfaitement centré */
  .nav__mode{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); margin:0; }
}

@media (max-width:760px){ .pgrid--2{ grid-template-columns:1fr; max-width:420px; margin-inline:auto; } }

/* Contact repassé en 2 colonnes (horaires retirés) */
.contact{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }

/* ═══ SIMULATION mode JOUR : textes ROSE + halo/accents CORAIL ═══ */
/* le corail (halo, soleil, boutons) reste la couleur chaude */
body.is-day{ --coral:#E87A4E; --coral-ink:#C85A2C; --coral-soft:#F0A277; }
/* les TEXTES passent en rose framboise */
body.is-day .hero .hero__title{ color:#C94F6B; text-shadow:none; }
body.is-day .hero .rotor__word{ color:#C94F6B; }
body.is-day .hero__lede{ color:#7A4C56; }
body.is-day .hero__lede b{ color:#C94F6B; }
body.is-day .hl{ color:#C94F6B; }
body.is-day .eyebrow,
body.is-day .info h3,
body.is-day .level__tag,
body.is-day .atl__meta,
body.is-day .avis__cite,
body.is-day .faq__more,
body.is-day .avis__more{ color:#C94F6B; }

/* ═══ PALETTE FINALE jour/nuit : plus de vert ni d'orange dans l'UI ═══ */
/* Jour = ROSE partout (boutons, titres, accents) ; Nuit = BLEU partout */
body.is-day  { --coral:#C94F6B; --coral-ink:#A83A55; --coral-soft:#E58AA0; --amber:#C94F6B; }
body.is-night{ --coral:#2C7A88; --coral-ink:#21606C; --coral-soft:#83B2BE; --amber:#2C7A88; }
/* le hero garde des textes bien lisibles */
body.is-day .hero .hero__title{ color:#C94F6B; }
body.is-day .hero .rotor__word{ color:#C94F6B; }
body.is-day .hero__lede{ color:#7A4C56; }
body.is-day .hero__lede b{ color:#C94F6B; }
body.is-night .hero .rotor__word{ color:#FCEBD2; }
/* diagramme de respiration : suit l'accent (rose / bleu) */
.bwave{ stop-color:var(--amber); }
.breath__svg{ color:var(--amber); }

/* ═══ Blocs foncés + mini-titres en ORANGE (accents restent rose) — jour ═══ */
body.is-day{ --deep:#A85433; }                    /* footer + carte "Travail en profondeur" en orange terracotta */
body.is-day .breath__k{ color:#C85A2C; }          /* mini-titres sous le diagramme en orange */
/* intitulés lisibles sur le fond orange */
body.is-day .foot h4,
body.is-day .level--deep .level__tag,
body.is-day .level--deep .level__num{ color:#F6D2AE; }

/* FIX : les blocs foncés lisent --ink (résolu en haut), on le force directement */
body.is-day  { --ink:#A85433; }   /* footer + carte foncée : orange terracotta le jour */
body.is-night{ --ink:#1E4C57; }   /* et bleu profond la nuit */
