@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/polices/inter-latin.3100e775e8.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/polices/inter-latin-ext.34b9c504ca.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Inter Secours';src:local('Arial'),local('Helvetica Neue'),local('Liberation Sans'),local('DejaVu Sans');size-adjust:105.98%;ascent-override:91.41%;descent-override:22.76%;line-gap-override:0%;}
* { scrollbar-width: none; }
*::-webkit-scrollbar { display: none; width: 0; height: 0; }
:root{
  --or: #E4DACA;
  --or-clair: #F2ECE1;
  --or-eclat: #FBF7F1;
  --or-profond: #8A7F6C;
  --sur-or: #12100C;
  --sur-degrade: #14100A;
  --rouge: #E8B04B;
  --pastille: #C4111F;
  --sur-pastille: #FFFFFF;
  --rouge-clair: #F7D58F;
  --vert: #4ADE80;
  --signal-ouvert: #30D158;
  --signal-bientot: #FF9F0A;
  --signal-ferme: #FF453A;
  --dispo-libre: #30D158;
  --dispo-plein: #FF453A;
  --lien-systeme: #0A84FF;
  --blanc-pur: #FFFFFF;
  --noir-pur: #000000;
  --bloc-encre: #111111;
  --bloc-1: #7DD8A0;
  --bloc-2: #F2A6CE;
  --bloc-3: #F5B183;
  --bloc-4: #8FC9E8;
  --bloc-5: #E8D48A;
  --bloc-6: #C9DC8A;
  --bloc-7: #EFA9A0;
  --bloc-8: #9FD9D2;
  --bloc-absence: #C3CDD6;
  --degrade-or: linear-gradient(135deg,#B8860B 0%,#F7E7A1 52%,#D4AF37 100%);
  --degrade-or-vif: linear-gradient(100deg,#8A6A12,#B8860B 34%,#FFF1C4 50%,#F7E7A1 66%,#D4AF37);
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='170'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='170' height='170' filter='url(%23g)'/%3E%3C/svg%3E");
  --police-titres: -apple-system,BlinkMacSystemFont,'Inter','Inter Secours','Segoe UI',Roboto,sans-serif;
  --police-corps: -apple-system,BlinkMacSystemFont,'Inter','Inter Secours','Segoe UI',Roboto,sans-serif;
  --t-corps: 17px;
  --lh-corps: 1.5;
  --t-section: clamp(25px,5.2vw,50px);
  --t-grand: 34px;
  --t-carte: 22px;
  --t-nom: 17px;
  --t-secondaire: 15px;
  --t-bouton: 15px;
  --t-petit: 13px;
  --t-mini: 12px;
  --t-champ: 17px;
  --r-bouton: 999px;
  --r-action: 14px;
  --r-ligne: 8px;
  --r-carte: 11px;
  --r-ilot: 14px;
  --r-pastille: 999px;
  --v-texte: 4px;
  --v-ligne: 8px;
  --v-groupe: 14px;
  --v-ilot: 14px;
  --v-dedans: 18px;
  --v-dedans-tel: 12px;
  --h-commande: 34px;
  --h-action: 50px;
  --icone: 18px;
  --v-deroulant: 12px;
  --marge-ecran: 18px;
  --marge-ecran-large: 22px;
  --marge-ecran-tres-large: 32px;
  --cible-tactile: 44px;
}
:root{ --marge: var(--marge-ecran); }
@media (min-width: 768px){
  :root{ --marge: var(--marge-ecran-large); }
}
@media (min-width: 1440px){
  :root{ --marge: var(--marge-ecran-tres-large); }
}
:root{
  color-scheme: dark;
  --fond: #000000;
  --fond-2: #2C2C2E;
  --carte: #1C1C1E;
  --carte-bord: #38383A;
  --survol: #242426;
  --texte: #F6F4F1;
  --texte-2: #A5A5AC;
  --or-texte: #E4DACA;
  --rouge-texte: #F0BE6A;
  --vert-texte: #4ADE80;
  --bordure: rgba(246,244,241,.09);
  --bordure-or: rgba(228,218,202,.28);
  --voile-or: rgba(228,218,202,.10);
  --voile-or-fort: rgba(228,218,202,.26);
  --voile-rouge: rgba(232,176,75,.14);
  --voile-vert: rgba(74,222,128,.14);
  --halo-haut: #0C0B09;
  --halo-bas: #000000;
  --fond-halo: rgba(212,175,55,.08);
  --fond-grain: rgba(255,255,255,.022);
  --voile-hero: rgba(0,0,0,0.812);
  --neon: 0 0 8px rgba(212,175,55,.30),0 0 24px rgba(240,190,106,.18),0 0 52px rgba(212,175,55,.14);
  --ombre-toile: 0 18px 40px rgba(0,0,0,.65);
  --degrade-texte: linear-gradient(135deg,#E8B04B 0%,#F7E7A1 55%,#E4DACA 100%);
  --survol-halo: 0 10px 30px -8px rgba(228,218,202,.34), 0 0 0 1px rgba(228,218,202,.28);
  --survol-dedans: inset 0 -40px 44px -40px rgba(228,218,202,.30);
  --survol-trait: rgba(228,218,202,.50);
}
:root{ --u: 1px; }
:root[data-app]{
  --u: 1px;
  --t-corps: calc(17 * var(--u));
  --t-nom: calc(17 * var(--u));
  --t-secondaire: calc(15 * var(--u));
  --t-bouton: calc(15 * var(--u));
  --t-petit: calc(13 * var(--u));
  --t-mini: calc(12 * var(--u));
  --t-carte: calc(22 * var(--u));
  --t-grand: calc(34 * var(--u));
  --t-champ: calc(17 * var(--u));
  --h-action: calc(50 * var(--u));
  --icone: calc(18 * var(--u));
}
html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
body{-webkit-user-select:none;user-select:none}
input,textarea,select,[contenteditable]:not([contenteditable="false"]){-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
body:not(.bo) a[href]{-webkit-touch-callout:default}
img,video,picture,canvas{-webkit-user-drag:none;-webkit-touch-callout:none}
:root[data-app],:root[data-app] body{overscroll-behavior:none}
*{scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.22s}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}
::view-transition-old(root){animation-name:pg-sort}
::view-transition-new(root){animation-name:pg-entre}
:root[data-pg-sens=retour]::view-transition-old(root){animation-name:pg-sort-r}
:root[data-pg-sens=retour]::view-transition-new(root){animation-name:pg-entre-r}
@keyframes pg-sort{to{opacity:0;transform:translateX(-18px);filter:blur(6px)}}
@keyframes pg-entre{from{opacity:0;transform:translateX(18px);filter:blur(6px)}}
@keyframes pg-sort-r{to{opacity:0;transform:translateX(18px);filter:blur(6px)}}
@keyframes pg-entre-r{from{opacity:0;transform:translateX(-18px);filter:blur(6px)}}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
:root[data-anim=aucune]::view-transition-group(*),:root[data-anim=aucune]::view-transition-old(*),:root[data-anim=aucune]::view-transition-new(*){animation:none!important}
.bo-cal-btn {
  cursor: pointer;
  text-align: start;
  min-height: var(--cible-tactile);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bo-cal-btn[data-vide] { color: var(--texte-2); }
.bo-cal {
  position: fixed;
  z-index: 60;
  width: min(336px, calc(100vw - 16px));
  padding: 12px;
  background: var(--carte);
  border: 1px solid var(--carte-bord);
  border-radius: var(--r-ilot);
  box-shadow: 0 24px 60px rgb(0 0 0 / .55);
  animation: bo-cal-arrive .16s ease-out backwards;
}
@keyframes bo-cal-arrive { from { opacity: 0; translate: 0 6px; } }
@media (prefers-reduced-motion: reduce) { .bo-cal { animation: none; } }
body > .bo-cal { z-index: 3500; }
.bo-cal-tete { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; gap: 4px; }
.bo-cal-fl, .bo-cal-titre, .bo-cal-j, .bo-cal-m, .bo-cal-pil {
  font: inherit;
  color: var(--texte);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
}
.bo-cal-fl { width: 44px; height: 44px; border-radius: 999px; padding: 0; display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.bo-cal-fl svg { display: block; flex: none; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.bo-cal-titre {
  height: 44px;
  border-radius: 999px;
  font-family: var(--police-titres);
  font-weight: 600;
  font-size: 15px;
  text-transform: capitalize;
}
.bo-cal-fl:hover, .bo-cal-titre:hover, .bo-cal-j:hover, .bo-cal-m:hover, .bo-cal-pil:hover,
.bo-cal-fl:focus-visible, .bo-cal-titre:focus-visible, .bo-cal-j:focus-visible,
.bo-cal-m:focus-visible, .bo-cal-pil:focus-visible { box-shadow: var(--survol-halo); outline: none; }
.bo-cal-grille { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; margin-block-start: 6px; }
.bo-cal-grille[data-vue="mois"], .bo-cal-grille[data-vue="annees"] { grid-template-columns: repeat(3, 1fr); gap: 6px; }
.bo-cal-sem {
  display: grid;
  place-items: center;
  height: 28px;
  font-size: var(--t-mini);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--texte-2);
}
.bo-cal-j { height: 44px; min-width: 44px; border-radius: 999px; font-size: 14px; font-variant-numeric: tabular-nums; }
.bo-cal-j[data-autre] { color: var(--texte-2); opacity: .55; }
.bo-cal-j[aria-current="date"] { border-color: var(--or-texte); }
.bo-cal-j[aria-pressed="true"], .bo-cal-m[aria-pressed="true"] {
  background: var(--or-texte);
  border-color: var(--or-texte);
  color: var(--sur-or);
  font-weight: 700;
  opacity: 1;
}
.bo-cal-j:disabled { opacity: .25; cursor: not-allowed; }
.bo-cal-j { position: relative; }
.bo-cal-pt {
  position: absolute;
  inset-block-end: 5px;
  inset-inline-start: 50%;
  width: 6px; height: 6px;
  margin-inline-start: -3px;
  border-radius: 50%;
  pointer-events: none;
}
.bo-cal-j[data-dispo="1"] .bo-cal-pt { background: var(--vert, #4ADE80); }
.bo-cal-j[data-dispo="0"] .bo-cal-pt { background: var(--rouge, #FF2E4D); }
.bo-cal-j[aria-pressed="true"] .bo-cal-pt { box-shadow: 0 0 0 1.5px var(--sur-or); }
.bo-cal-grille[data-points="attente"] .bo-cal-j:not([data-autre]) { transition: opacity .2s; }
.bo-cal-m { height: 48px; border-radius: 14px; font-size: 14px; text-transform: capitalize; background: var(--fond-2); border-color: var(--carte-bord); }
.bo-cal-pied { display: flex; gap: 8px; justify-content: flex-end; margin-block-start: 8px; }
.bo-cal.bo-cal-ligne {
  position: static; z-index: auto; inline-size: auto; max-inline-size: none; box-sizing: border-box;
  display: flex; flex-direction: column; flex: 1 1 auto; margin: 0; box-shadow: none; animation: none;
}
.bo-cal-ligne .bo-cal-grille { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.bo-cal-ligne .bo-cal-grille[data-vue="mois"], .bo-cal-ligne .bo-cal-grille[data-vue="annees"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bo-cal-ligne .bo-cal-j { inline-size: min(100%, 44px); min-inline-size: 0; justify-self: center; }
.bo-cal-ligne .bo-cal-tete { grid-template-columns: 44px minmax(0, 1fr) 44px; }
.bo-cal-ligne .bo-cal-pied { margin-block-start: auto; padding-block-start: 8px; }
.bo-cal-m:disabled { opacity: .25; cursor: not-allowed; }
.bo-cal-pil { min-height: 44px; padding-inline: 16px; border-radius: 999px; border-color: var(--carte-bord); font-size: 13px; font-weight: 600; }
:is(.champ-in, .me-champ).bo-cal-natif {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}
:is(.champ-in, .me-champ).bo-cal-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
:is(.champ-in, .me-champ).bo-cal-btn[aria-expanded="true"] { border-color: var(--bordure-or, var(--survol-trait)); }
:is(.champ-in, .me-champ).bo-cal-btn[data-vide] { color: color-mix(in srgb, var(--texte-2) 75%, transparent); }
.bo-cal-ic { flex: none; color: var(--texte-2); }
*, *::before, *::after { box-sizing: border-box; }
html {

  scroll-behavior: smooth;

}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}
body {
  margin: 0;
  background: var(--fond);
  color: var(--texte);
  font-family: var(--police-corps);
  font-size: var(--t-corps);
  font-weight: 400;
  line-height: var(--lh-corps);
  -webkit-font-smoothing: antialiased;

  overflow-x: hidden;
}
img, svg, video { max-width: 100%; display: block; }
img { height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 {
  font-family: var(--police-titres);

  font-weight: 700;
  line-height: 1.14;
  margin: 0;
  letter-spacing: -0.02em;
}
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
:focus-visible {
  outline: 2px solid var(--or-texte);
  outline-offset: 3px;
  border-radius: var(--r-bouton);
}
:root {

  --h-menu: clamp(46px, 12vw, 52px);

  --vitesse: 1;             
  --logo-arrivee: 2;        
  --puzzle-x: 22vw;         
  --puzzle-y: 14vh;         
  --puzzle-echelle: 1.35;   
  --montee: 34px;           

  --photos-visibles: .70;

  --voile-demi: 245px;
  --e-entree: cubic-bezier(.22, 1, .36, 1);
  --d-entree: calc(1.15s * var(--vitesse));        
  --d-entree-courte: calc(.92s * var(--vitesse));  
  --pas-entree: calc(.12s * var(--vitesse));       
  --d-mot: calc(1.25s * var(--vitesse));           
  --pas-mot: calc(.1s * var(--vitesse));           
  --d-barre: calc(1s * var(--vitesse));            
  --d-logo: calc(1.6s * var(--vitesse));           

  --d-puzzle: calc(1.6s * var(--vitesse));

  --d-lb: 1.5s;
  --e-loupe: cubic-bezier(.5, 0, .16, 1);

  --d-glisse: .42s;

  --lb-l: min(100%, calc((100dvh - 2 * var(--marge) - 46px) * 9 / 16));

  --d-survol: 280ms;
  --d-diapo: 5s;         
  --pas-puzzle: calc(62ms * var(--vitesse));       

  --vign: clamp(150px, 40vw, 210px);

  --pad-ilot: var(--v-dedans);

  --h-vign: calc((var(--vign) - 8px) * 16 / 9 + 8px);

  --h-gal: calc(2px + 2 * var(--pad-ilot) + var(--h-vign) + 4px);
  --l-barre: 1400px;

  --v-barre: min(var(--marge), 20px);
  --h-barre: calc(var(--h-menu) + 2 * var(--v-barre));
  --largeur-max: 1180px;

  --h-sep: 74px;
  --v-sep-bas: clamp(18px, 3vh, 34px);

  --v-sep-haut: clamp(28px, 3.4vh, 44px);
}
@media (min-width: 768px) { :root { --h-menu: clamp(50px, 4.6vw, 56px); } }
.lu-seulement {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.saut-contenu {
  position: fixed;
  top: var(--v-ilot); left: var(--marge);
  z-index: 2000;
  transform: translateY(-200%);
  background: var(--carte);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-bouton);
  padding-inline: var(--v-dedans);
  padding-block: 10px;
  font-size: var(--t-nom);
  font-weight: 600;
  transition: transform .18s ease;
}
.saut-contenu:focus { transform: translateY(0); }
.piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.piege input { width: 1px; height: 1px; min-height: 0; padding: 0; border: 0; }
.ilot {
  background: var(--carte);
  border: 1px solid var(--carte-bord);
  border-radius: var(--r-ilot);
  box-shadow: var(--ombre-toile);

  padding-inline: var(--pad-ilot);
  padding-block: var(--pad-ilot);

}
.sec-wrap > .ilot + .ilot,
.sec-wrap > .ilot + .label { margin-top: var(--v-ilot); }
.ligne {
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  padding-inline: var(--v-dedans);
  padding-block: 12px;
}
.btn, .cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--v-ligne);

  min-height: var(--h-action);
  padding-inline: 18px;
  padding-block: 0;

  border-radius: var(--r-action);
  font-family: var(--police-corps);
  font-size: var(--t-nom);
  font-weight: 600;
  letter-spacing: .02em;
  border: 1px solid transparent;
  transition: transform .16s ease, background-color .18s ease,
              border-color .18s ease, box-shadow .18s ease;
  text-align: center;
}
.btn .ic, .cta .ic { width: var(--icone); height: var(--icone); flex: none; }
.btn-pri {
  background: var(--degrade-or);
  color: var(--sur-degrade);
  border-color: var(--or-profond);
  font-weight: 700;
}
.btn-sec {
  background: var(--fond-2);
  color: var(--texte);
  border-color: var(--bordure);
}
.btn-ligne {
  background: transparent;
  color: var(--or-texte);
  border-color: var(--bordure-or);
}
.btn:hover, .cta:hover { transform: translateY(-1px); }
.btn-sec:hover { background: var(--survol); border-color: var(--bordure-or); }
.btn:active, .cta:active { transform: translateY(0); }
.btn[disabled], .cta[disabled] {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
  background: var(--fond-2);
  color: var(--texte-2);
  border-color: var(--bordure);
}
.cta-hero {
  position: relative;

  overflow: clip;
  isolation: isolate;

  background: var(--degrade-or);
  color: var(--sur-degrade);
  border: 1px solid var(--or-profond);
  font-weight: 700;

  font-size: var(--t-corps);
  padding-inline: clamp(18px, 4.8vw, 24px);
  min-height: var(--h-action);
  letter-spacing: .015em;

  box-shadow: 0 2px 5px -2px rgb(0 0 0 / .38),
              0 18px 38px -18px rgb(0 0 0 / .55);
  transition: box-shadow .3s var(--e-entree), translate .3s var(--e-entree),
              border-color .3s var(--e-entree);
}
.cta-hero::after {
  content: "";
  position: absolute;
  inset-block: -60%;
  inset-inline-start: 0;
  width: 34%;
  z-index: -1;

  background: linear-gradient(90deg, transparent,
    color-mix(in srgb, var(--sur-degrade) 30%, transparent), transparent);
  transform: skewX(-18deg) translateX(-140%);
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .cta-hero::after { animation: cta-lueur 7s ease-in-out 2.2s infinite; }
  @keyframes cta-lueur {
    0%   { transform: skewX(-18deg) translateX(-140%); }

    12%  { transform: skewX(-18deg) translateX(430%); }
    100% { transform: skewX(-18deg) translateX(430%); }
  }
}
.cta-hero:hover { border-color: var(--or-texte); }
.cta-hero:active {
  translate: 0 1px;
  box-shadow: 0 1px 3px -2px rgb(0 0 0 / .38),
              0 9px 20px -14px rgb(0 0 0 / .55);
}
.cta-hero .ic {
  width: 16px; height: 16px;
  transition: translate .3s var(--e-entree);
}
.cta-hero:hover .ic { translate: 3px 0; }
.pastille, .point-vert {
  width: 8px; height: 8px;
  border-radius: var(--r-pastille);
  flex: none;
}
.pastille { background: var(--sur-or); animation: battement 2.4s ease-in-out infinite; }
.point-vert { background: var(--vert-texte); box-shadow: 0 0 0 3px var(--voile-vert); }
.cta-hero .point-vert {
  flex: none;
  box-shadow: 0 0 0 2px var(--fond);
}
@keyframes battement { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
#hdr {
  position: fixed;

  inset-inline: 0;
  margin-inline: auto;
  width: min(calc(100% - 2 * var(--marge)), var(--l-barre));
  top: var(--v-barre);
  z-index: 1000;
  height: var(--h-menu);
  display: grid;

  grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr);
  align-items: center;
  gap: var(--v-groupe);
  padding-inline: var(--v-dedans);
  padding-block: 0;
  background: color-mix(in srgb, var(--fond) 72%, transparent);
  backdrop-filter: blur(16px) saturate(130%);
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ilot);

  box-shadow: 0 14px 38px -16px rgb(0 0 0 / .55);
}
#hdr.a-defile {
  background: color-mix(in srgb, var(--fond) 88%, transparent);
  border-color: var(--bordure-or);

  box-shadow: 0 18px 48px -16px rgb(0 0 0 / .68);
}
@media (prefers-reduced-motion: no-preference) {
  html.js #hdr {
    animation: barre-arrive var(--d-barre) var(--e-entree) backwards;
  }
  @keyframes barre-arrive { from { opacity: 0; scale: .93; } }
}
@media (prefers-reduced-motion: no-preference) {
  #hdr {
    transition: translate .34s cubic-bezier(.22, .61, .36, 1),
                background .3s ease, border-color .3s ease, box-shadow .3s ease;
  }

  #hdr.rangee { translate: 0 calc(-100% - var(--v-barre) - 2px); box-shadow: none; }
  #hdr.rangee:focus-within { translate: none; }
}
.burger {
  display: none;
  width: var(--cible-tactile); height: var(--cible-tactile);
  align-items: center; justify-content: center;
  color: var(--texte);
  border-radius: var(--r-bouton);
  flex: none;
}
.burger .ic { width: 22px; height: 22px; }
.logo { display: flex; align-items: center; flex: none;
        min-height: var(--cible-tactile); }
.logo-barre { width: auto; height: 26px; }
@media (min-width: 768px) { .logo-barre { height: 30px; } }
.nav-center {
  display: flex;
  align-items: center;
  gap: 2px;
  width: max-content;
  max-width: 100%;

}
#hdr > .logo { justify-self: start; }
#hdr > .hdr-right { justify-self: end; }
#hdr > .burger { justify-self: start; }
.nb {
  display: flex;
  align-items: center;

  min-width: var(--cible-tactile);
  justify-content: center;
  min-height: var(--cible-tactile);
  padding-inline: 8px;
  padding-block: 0;
  border-radius: var(--r-bouton);
  font-size: var(--t-mini);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--texte-2);
  white-space: nowrap;
  transition: color .18s ease, background-color .18s ease;
}
.nb:hover { color: var(--texte); background: var(--survol); }
.nb.on { color: var(--or-texte); background: var(--voile-or); }
.hdr-right { display: flex; align-items: center; gap: 10px;
             flex: none; margin-inline-start: auto; }
.hdr-social { display: flex; gap: 2px; }
.sbtn {

  width: var(--cible-tactile); height: var(--cible-tactile);
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-bouton);
  color: var(--texte-2);
  transition: color .18s ease, background-color .18s ease;
}
.sbtn:hover { color: var(--or-texte); background: var(--survol); }
.sbtn .ic { width: 15px; height: 15px; }
.hdr-cta {
  position: relative;
  min-height: 34px;
  padding-inline: 16px;
  font-size: 12px;

  border-radius: var(--r-action);
  flex: none;
}
.hdr-cta::before { content: ""; position: absolute; inset: -5px 0; }
.hdr-cta .ic { width: 15px; height: 15px; }
#hdr .sbtn { width: 36px; }
@media (pointer: coarse) { #hdr .sbtn { width: var(--cible-tactile); } }
#hdr .hdr-right > * { flex-shrink: 0; }
.mk-lang { position: relative; }
.lg-bouton {
  display: flex; align-items: center; gap: 5px;
  height: var(--cible-tactile);
  padding-inline: 10px;
  border-radius: var(--r-bouton);
  border: 1px solid var(--bordure);
  background: var(--fond-2);
  color: var(--texte-2);
  font-size: var(--t-mini); font-weight: 700; letter-spacing: .06em;
}
.lg-bouton .ic { width: 13px; height: 13px; }
.lg-bouton:hover { color: var(--or-texte); border-color: var(--bordure-or); }
.lg-liste {
  position: absolute;
  top: calc(100% + var(--v-ligne));
  inset-inline-end: 0;
  min-width: 180px;
  background: var(--carte);
  border: 1px solid var(--carte-bord);
  border-radius: var(--r-carte);
  box-shadow: var(--ombre-toile);
  padding-inline: var(--v-ligne);
  padding-block: var(--v-ligne);
  display: grid;
  gap: 2px;
  z-index: 1100;
}
.lg-liste[hidden] { display: none; }
.lg-poignee { display: none; }
.lg-lien {
  display: flex; align-items: center; gap: var(--v-ligne);
  min-height: var(--cible-tactile);
  padding-inline: 12px;
  border-radius: var(--r-ligne);
  font-size: var(--t-nom);
  color: var(--texte-2);
  transition: color .18s ease, background-color .18s ease;
}
.lg-lien:hover { background: var(--survol); color: var(--texte); }
.lg-lien.on { color: var(--or-texte); background: var(--voile-or); font-weight: 600; }
.lg-lien .lg-code {
  font-size: var(--t-mini); font-weight: 700; letter-spacing: .08em;
  opacity: .7; min-width: 22px;
}
#mob-nav {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: var(--fond);
  padding-inline: var(--marge);
  padding-block: 0;
  display: flex;
  flex-direction: column;

  transform: translateY(-100%);
  transition: transform .34s cubic-bezier(.22,.61,.36,1), visibility .34s;
  visibility: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
#mob-nav[hidden] { display: flex; }
#mob-nav.ouvert { transform: translateY(0); visibility: visible; }
.mob-haut {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--h-barre);
  flex: none;
  margin-block-start: var(--h-barre);
}
.mob-x {
  width: var(--cible-tactile); height: var(--cible-tactile);
  display: flex; align-items: center; justify-content: center;
  color: var(--texte);
  border-radius: var(--r-bouton);
}
.mob-liste {
  display: grid;
  gap: var(--v-ligne);
  padding-block: var(--v-groupe);
}
.mb {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 48px;
  padding-inline: var(--v-dedans);
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  font-family: var(--police-titres);
  font-size: 17px; font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--texte);

  opacity: 0;
  transform: translateY(10px);
}
#mob-nav.ouvert .mb { animation: entree .34s ease forwards; }
.mb.on { color: var(--or-texte); border-color: var(--bordure-or); background: var(--voile-or); }
.mb .ic { width: var(--icone); height: var(--icone); color: var(--texte-2); }
.mob-bas {
  display: flex; gap: var(--v-ligne);
  justify-content: center;
  padding-block-start: var(--v-groupe);
  padding-block-end: var(--v-groupe);
}
.mob-bas .sbtn { width: 48px; height: 48px; }
.mob-bas .sbtn .ic { width: 22px; height: 22px; }
@keyframes entree { to { opacity: 1; transform: translateY(0); } }
#mkLangSuggest {
  position: fixed;
  inset-inline: var(--marge);
  bottom: var(--marge);
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: var(--v-groupe);
  background: var(--carte);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-carte);
  box-shadow: var(--ombre-toile);
  padding-inline: var(--v-dedans);
  padding-block: 12px;
  font-size: var(--t-nom);
  max-width: 420px;
  margin-inline: auto;
}
#mkLangSuggest[hidden] { display: none; }
html:has(#mkLangSuggest:not([hidden])) {
  scroll-padding-block-end: calc(var(--marge) + var(--cible-tactile) + 26px + var(--v-ligne));
}
.ls-txt { flex: 1; color: var(--texte-2); }
.ls-oui {
  color: var(--or-texte);
  font-weight: 700;
  min-height: var(--cible-tactile);
  display: flex; align-items: center;
}
.ls-x {
  width: var(--cible-tactile); height: var(--cible-tactile);
  display: flex; align-items: center; justify-content: center;
  color: var(--texte-2);
}
.ls-x .ic { width: 16px; height: 16px; }
#stage { padding-top: var(--h-barre); position: relative; z-index: 1; }
.sec {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;

  perspective: 1400px;
  perspective-origin: 50% 50%;

  min-height: calc(100svh - var(--h-barre));

  justify-content: center;
  padding-inline: var(--marge);

  padding-block-start: clamp(28px, 6vh, 64px);

  padding-block-end: calc(var(--v-sep-haut) + var(--h-sep) + var(--v-sep-bas));
  scroll-margin-top: calc(var(--h-barre) + var(--v-ilot));
}
.univers-chaine > .sec {
  padding-block-end: clamp(28px, 6vh, 64px);
}
.univers-chaine > .sec.u-marge {
  padding-block-end: max(clamp(28px, 6vh, 64px), var(--u-marge, 0px));
}
.univers-chaine > .u-colle {
  position: sticky;

  top: var(--u-top, 0px);

  z-index: 1;
}
.univers-chaine > .u-devant:not(.u-colle) {
  position: relative;
  z-index: 1;

  background: var(--fond);
}
@media (prefers-reduced-motion: no-preference) {
  html.js .univers-chaine > .u-colle { will-change: filter, transform; }

  html.js .univers-chaine > .u-devant { background: transparent; }
}
.sec-wrap {
  width: 100%;
  max-width: var(--largeur-max);

  --profondeur: 2400px;
  perspective: var(--profondeur);

  perspective-origin: 50% 50%;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;

  gap: var(--v-groupe);

  flex: 0 1 auto;
}
.sec-wrap > .ilot,
.sec-wrap > .sec-inner,
.sec-wrap > form,
.sec-wrap > ol,
.sec-wrap > .contact-foot,
.sec-wrap > .faq-fin,
.sec-wrap > .faq-outils,
.sec-wrap > .faq-vide {
  width: 100%;
  align-self: stretch;

  min-width: 0;
}
.label, .faq-label {
  display: inline-flex;
  align-items: center;
  gap: var(--v-ligne);
  align-self: center;

  min-height: 32px;
  padding-inline: 16px;
  padding-block: 0;
  border-radius: var(--r-pastille);
  background: var(--fond-2);
  border: 1px solid var(--bordure-or);
  font-size: var(--t-mini);
  font-weight: 700;
  letter-spacing: .22em;

  text-indent: .22em;
  text-transform: uppercase;
  color: var(--or-texte);
  white-space: nowrap;
  transition: border-color .22s ease, background-color .22s ease;
}
.faq-label { margin-bottom: var(--v-ligne); }
.label::before, .faq-label::before {
  content: "";
  width: 5px; height: 5px;
  border-radius: var(--r-pastille);
  background: var(--or-texte);
  flex: none;
  text-indent: 0;
}
.sec-h, .sec-intro, .flash-lead-txt {
  text-align: center;
  margin-inline: auto;
}
.sec-h {
  font-size: var(--t-section);

  max-width: 22ch;
  text-wrap: balance;
}
.accent {
  background: var(--degrade-or);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.sec-intro, .flash-lead-txt {
  color: var(--texte-2);
  max-width: 62ch;
}
.sec-sep {

  position: absolute;
  inset-inline: var(--marge);
  bottom: var(--v-sep-bas);
  height: var(--h-sep);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--v-groupe);

  opacity: var(--sep-vu, 1);
  transition: opacity .18s linear;
  will-change: opacity;
}
.sec-sep::before, .sec-sep::after {
  content: "";
  height: 1px;

  background: linear-gradient(to right, transparent, var(--bordure-or) 78%);
}
.sec-sep::after { background: linear-gradient(to left, transparent, var(--bordure-or) 78%); }
.next-section-arrow {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: var(--v-texte);
  min-height: var(--cible-tactile);
  padding-inline: var(--v-dedans);
  color: var(--texte-2);
  transition: color .2s ease, transform .2s ease;
}
.next-section-arrow:hover { color: var(--or-texte); transform: translateY(2px); }
.sec-name {
  font-size: var(--t-mini); font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
}
.sec-chev .ic { width: 22px; height: 22px; animation: flotte 2.6s ease-in-out infinite; }
@keyframes flotte { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }
#fond {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;

}
.fond-p {
  position: absolute;
  inset: 0;
  will-change: transform;
}
.fond-halo {
  position: absolute;
  width: 92vmax;
  height: 92vmax;
  border-radius: 50%;

  background: radial-gradient(circle at center,
              var(--fond-halo) 0%, transparent 58%);
  will-change: transform;
}
.fond-halo-1 {
  top: -30vmax; left: -24vmax;
  animation: derive-1 47s ease-in-out infinite alternate;
}
.fond-halo-2 {
  bottom: -36vmax; right: -26vmax;
  animation: derive-2 71s ease-in-out infinite alternate;
}
@keyframes derive-1 {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(14vmax, 9vmax, 0) scale(1.12); }
}
@keyframes derive-2 {
  from { transform: translate3d(0, 0, 0) scale(1.08); }
  to   { transform: translate3d(-16vmax, -7vmax, 0) scale(1); }
}
.fond-grain {
  position: absolute;
  inset: 0;

  background-color: var(--fond-grain);
  -webkit-mask-image: var(--grain);
          mask-image: var(--grain);
  -webkit-mask-size: 170px 170px;
          mask-size: 170px 170px;
  -webkit-mask-mode: alpha;
          mask-mode: alpha;
}
.sec-wrap > * {
  transition-property: opacity, translate, rotate, scale, letter-spacing;
  transition-duration: var(--d-entree-courte), var(--d-entree), var(--d-entree),
                       var(--d-entree), var(--d-entree-courte);
  transition-timing-function: var(--e-entree);
}
html.js .sec-wrap > * { opacity: 0; translate: 0 var(--montee) -90px; rotate: x 9deg; }
html.js .sec-wrap > .sens-haut { translate: 0 calc(-1 * var(--montee)) -90px; rotate: x -9deg; }
html.js .sec-wrap > .label {
  translate: 0 22px -40px; rotate: x 14deg; letter-spacing: .34em;
}
html.js .sec-wrap > .sec-h { translate: none; rotate: none; }
html.js .sec-wrap > .ilot,
html.js .sec-wrap > .sec-inner,
html.js .sec-wrap > form,
html.js .sec-wrap > ol {
  translate: 0 36px -170px; rotate: x 8deg; scale: .985;
}
html.js .sec.vue .sec-wrap > * {
  opacity: 1;
  translate: none;
  rotate: none;
  scale: none;

}
html.js .sec.vue .sec-wrap > .label { letter-spacing: .22em; }
html.js .sec.vue .sec-wrap > *:nth-child(1) { transition-delay: calc(0 * var(--pas-entree)); }
html.js .sec.vue .sec-wrap > *:nth-child(2) { transition-delay: calc(1 * var(--pas-entree)); }
html.js .sec.vue .sec-wrap > *:nth-child(3) { transition-delay: calc(2 * var(--pas-entree)); }
html.js .sec.vue .sec-wrap > *:nth-child(4) { transition-delay: calc(3 * var(--pas-entree)); }
html.js .sec.vue .sec-wrap > *:nth-child(5) { transition-delay: calc(4 * var(--pas-entree)); }
html.js .sec.vue .sec-wrap > *:nth-child(6) { transition-delay: calc(5 * var(--pas-entree)); }
@media (prefers-reduced-motion: no-preference) {
  html.js .sec.part-haut .sec-wrap > *,
  html.js .sec.part-bas  .sec-wrap > * {

    opacity: .38;
    scale: .96;
  }

  html.js .sec.part-haut .sec-wrap > * { translate: 0 -34px -420px; rotate: x -5deg; }
  html.js .sec.part-bas  .sec-wrap > * { translate: 0  34px -420px; rotate: x  5deg; }

  html.js .sec.defile-voisine:not(.defile-apres).part-bas .sec-wrap > *,
  html.js .sec.defile-voisine:not(.defile-apres).part-haut .sec-wrap > * {
    opacity: 1;
  }

  html.js .sec.part-haut .sec-wrap > *:nth-child(n),
  html.js .sec.part-bas  .sec-wrap > *:nth-child(n) { transition-delay: 0s; }
}
.sec-h .mot {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  padding-block: .14em .1em;
  margin-block: -.14em -.1em;
}
.sec-h .mot-i { display: inline-block; will-change: transform; }
html.js .sec-h .mot-i {
  opacity: 0;
  transform: translate3d(0, 118%, 0) rotateX(-52deg);
  transform-origin: 50% 0%;
}
html.js .sec.vue .sec-h .mot-i {
  opacity: 1;
  transform: none;
  transition: transform var(--d-mot) var(--e-entree) calc(var(--rang) * var(--pas-mot)),
              opacity calc(var(--d-mot) / 2) ease calc(var(--rang) * var(--pas-mot));
}
html:not(.js) .sec-h .mot { overflow: visible; }
.ilot { position: relative; }
.ilot::before {
  content: "";
  position: absolute;
  top: -1px;
  inset-inline: 14%;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--or-texte), transparent);
  transform: scaleX(0);
  transform-origin: 50% 50%;
  pointer-events: none;
}
html.js .sec.vue .ilot::before {
  transform: scaleX(1);
  transition: transform .8s cubic-bezier(.16,.86,.3,1) .28s;
}
html:not(.js) .ilot::before { transform: scaleX(1); }
html.js .sec .sty-card,
html.js .sec .st-item,
html.js .sec .faq-group,
html.js .sec .soin-card {
  opacity: 0;
  transform: translate3d(0, 20px, -70px) rotateX(7deg);
  transition: opacity .5s ease, transform .62s cubic-bezier(.16,.84,.34,1);
}
html.js .sec.vue .sty-card,
html.js .sec.vue .st-item,
html.js .sec.vue .faq-group,
html.js .sec.vue .soin-card { opacity: 1; transform: none; }
html.js .sec.vue .sty-card:nth-child(2),
html.js .sec.vue .st-item:nth-child(2),
html.js .sec.vue .faq-group:nth-child(2),
html.js .sec.vue .soin-card:nth-child(2) { transition-delay: .07s; }
html.js .sec.vue .sty-card:nth-child(3),
html.js .sec.vue .st-item:nth-child(3),
html.js .sec.vue .faq-group:nth-child(3),
html.js .sec.vue .soin-card:nth-child(3) { transition-delay: .14s; }
html.js .sec.vue .sty-card:nth-child(4),
html.js .sec.vue .faq-group:nth-child(4) { transition-delay: .21s; }
html.js .sec.vue .sty-card:nth-child(5) { transition-delay: .28s; }
html.js .sec.vue .faq-group:nth-child(5) { transition-delay: .28s; }
html.js .sec.vue .faq-group:nth-child(6) { transition-delay: .35s; }
html.js .sec.vue .faq-group:nth-child(7) { transition-delay: .42s; }
html.js .g-item {
  opacity: 0;
  transform: translate3d(38px, 0, -120px) rotateY(-12deg) scale(.94);
  transition: opacity .45s ease, transform .68s cubic-bezier(.16,.84,.34,1);
}
html.js .g-item.entree { opacity: var(--g-repos); transform: none; }
html.js .g-item.entree.centre { opacity: 1; }
.logo-hero { will-change: transform; }
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;

  border-radius: inherit;
}
.bg-flow {
  position: absolute;

  inset: -4%;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;

  opacity: var(--photos-visibles);
  pointer-events: none;

  -webkit-mask-image: radial-gradient(125% 95% at 50% 45%, #000 14%, transparent 78%);
          mask-image: radial-gradient(125% 95% at 50% 45%, #000 14%, transparent 78%);
}
@media (max-width: 700px) {

  :root { --photos-visibles: .95; --voile-demi: 215px; }
  .bg-flow { grid-template-columns: repeat(3, 1fr); }
  .bg-flow > .fc:nth-child(n+4) { display: none; }
}
.fc {
  display: flex;
  flex-direction: column;
  gap: 10px;
  animation: bgscroll 65s linear infinite;
  will-change: transform;
}
.fc.rev { animation-direction: reverse; }
@keyframes bgscroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.fi {
  width: 100%;

  aspect-ratio: 9 / 16;
  object-fit: cover;
  filter: grayscale(1) contrast(1.05);
  border-radius: 10px;
}
.hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(120% 92% at 50% 46%, transparent 0%, var(--halo-bas) 92%);
}
.sec-hero .sec-wrap { position: relative; z-index: 2; }
.sec-hero .sec-sep { z-index: 2; }
.sec-hero .hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;

  background: linear-gradient(to bottom,
    transparent 0%, var(--voile-hero) calc(50% - var(--voile-demi)),
    var(--voile-hero) calc(50% + var(--voile-demi)), transparent 100%);
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) { .fc { animation: none; } }
@media (prefers-reduced-motion: no-preference) {
  html.js .fi {
    animation: puzzle var(--d-puzzle) var(--e-entree) backwards;

    animation-delay: calc(var(--p, 0) * var(--pas-puzzle));
  }

  @keyframes puzzle {
    from {
      opacity: 0;
      scale: var(--puzzle-echelle);
      translate: calc(var(--cx, 0) * var(--puzzle-x))
                 calc(var(--cy, 0) * var(--puzzle-y));
    }
  }

  html.js .fc {
    animation-delay: calc(var(--d-puzzle) + var(--rang-max, 11) * var(--pas-puzzle));
  }
}
.sec-hero {
  overflow: hidden;
  margin-block-start: calc(-1 * var(--h-barre));
  min-height: 100svh;

  padding-block-start: calc(var(--h-barre) + clamp(8px, 2vh, 24px));
}
.sec-hero .sec-wrap { text-align: center; gap: var(--v-groupe); }
h1.hero-sup, h2.hero-sup { font-family: inherit; line-height: inherit; }
.hero-sup {
  font-size: 14px; font-weight: 700;
  letter-spacing: .34em; text-transform: uppercase;
  color: var(--texte-2);

  line-height: 1;

  margin-block-start: calc(8px - var(--v-groupe));
}
.hero-title { margin: 0; width: 100%; display: flex; justify-content: center; }
.logo-hero { width: min(78vw, 520px); height: auto; }
@media (prefers-reduced-motion: no-preference) {
  html.js .sec-hero .logo-hero {
    animation: logo-arrive var(--d-logo) var(--e-entree) backwards;
  }

  @keyframes logo-arrive { from { opacity: 0; scale: var(--logo-arrivee); } }
}
.sec-hero .hero-title   { --suit: .04; }
.sec-hero .hero-sup     { --suit: .055; }
.sec-hero .hero-sub     { --suit: .075; }
.sec-hero .cta-hero     { --suit: .10; }
.sec-hero .hero-reviews { --suit: .115; }
.sec-hero .hero-follow  { --suit: .14; }
.hero-sub {

  font-size: var(--t-mini); font-weight: 400;
  letter-spacing: .26em; text-transform: uppercase;
  color: var(--texte-2);

  line-height: 1;

  margin-block-start: calc(13px - var(--v-groupe));
}
.hero-open {
  display: inline-flex; align-items: center; gap: var(--v-ligne);
  font-size: var(--t-secondaire); font-style: normal;
  color: var(--vert-texte);
}
.hero-open i { font-style: normal; }
.hero-reviews {
  display: inline-flex; align-items: center; gap: var(--v-ligne);
  min-height: var(--cible-tactile);
  padding-inline: var(--v-dedans);
  border: 1px solid var(--bordure);
  border-radius: var(--r-pastille);
  background: var(--fond-2);
  font-size: var(--t-secondaire);
  color: var(--texte-2);
  transition: border-color .2s ease;
}
.hero-reviews:hover { border-color: var(--bordure-or); }
.etoiles { display: inline-flex; gap: 2px; }
.etoiles .ic { width: 14px; height: 14px; }
.etoiles-sm .ic { width: 11px; height: 11px; }
.hero-follow { display: inline-flex; align-items: center; gap: var(--v-groupe); }
.s-label {
  font-size: var(--t-mini); font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--texte-2);
}
.socials { display: inline-flex; gap: var(--v-ligne); }
.socials .sbtn {
  border: 1px solid var(--bordure);
  border-radius: var(--r-bouton);
  background: var(--fond-2);
}
.ilot-gal {
  padding-inline: 0;
  overflow: hidden;

  border-radius: var(--r-ilot);

  --h-gal-reserve: var(--h-gal);
  min-block-size: var(--h-gal-reserve);
}
.g-filtres {
  display: flex;
  flex-wrap: nowrap;

  justify-content: safe center;
  gap: var(--v-ligne);
  overflow-x: auto;
  scrollbar-width: none;

  padding-inline: var(--pad-ilot);
  margin-block-end: var(--v-groupe);

  min-block-size: var(--cible-tactile);

  align-self: stretch;
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
}
.g-filtres::-webkit-scrollbar { display: none; }
.g-filtre {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  min-block-size: var(--cible-tactile);
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  white-space: nowrap;
}
.g-filtres { gap: 2px; box-shadow: inset 0 -1px 0 var(--bordure); }
.g-filtre {
  position: relative;
  gap: 7px;
  padding-inline: 12px;
  color: var(--texte-2);
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.005em;
  transition: color .2s var(--e-entree);
}
.g-filtre > span { display: block; line-height: 1.2; }
.g-filtre[data-style=""] > span { text-transform: lowercase; }
.g-filtre[data-style=""] > span::first-letter { text-transform: uppercase; }
.g-filtre::after {
  content: "";
  position: absolute;
  inset-inline: 12px;
  inset-block-end: 0;
  block-size: 2px;
  border-radius: 2px;
  background: var(--fam, var(--or-texte));
  transform: scaleX(0);
  transition: transform .28s cubic-bezier(.2, .8, .2, 1);
}
.g-filtre-pt { inline-size: 6px; block-size: 6px; border-radius: 50%; background: var(--fam); opacity: .9; flex: 0 0 auto; }
.g-filtre:hover, .g-filtre:focus-visible { color: var(--texte); }
.g-filtre:focus-visible { outline: 2px solid var(--or-texte); outline-offset: -4px; border-radius: 6px; }
.g-filtre[aria-pressed="true"] { color: var(--texte); font-weight: 600; }
.g-filtre[aria-pressed="true"]::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) { .g-filtre, .g-filtre::after { transition: none; } }
.g-item { position: relative; }
.g-avant {
  position: absolute;
  inset-block-start: var(--v-ligne);
  inset-inline-end: var(--v-ligne);
  z-index: 2;
  max-inline-size: calc(100% - 2 * var(--v-ligne));
  padding: 5px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--fond) 72%, transparent);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid color-mix(in srgb, var(--or-texte) 55%, transparent);
  color: var(--or-texte);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}
.gal-track {
  perspective: 1100px;

  overflow-x: auto;
  overscroll-behavior-x: contain;

  padding-inline: 0;
  padding-block: 2px;
  scrollbar-width: none;
}
.gal-track::-webkit-scrollbar { display: none; }
.gal-rail {
  display: flex;
  gap: 6px;
  position: relative;
  transform-style: preserve-3d;
  will-change: transform;
}
.g-item {
  flex: 0 0 auto;

  width: var(--vign);
  margin: 0;

  border-radius: 0;
  overflow: hidden;

  padding: 3px;
  background: var(--fond-2);
  border: 1px solid var(--bordure-or);
  transition: transform .38s cubic-bezier(.22,.61,.36,1),
              border-color .3s ease, opacity .3s ease;
}
.g-open {
  display: block;
  width: 100%;
  position: relative;
  border-radius: inherit;
  padding: 0;
  border: 0;
  background: none;
}
@media (max-width: 700px) {
  .sec-gallery > .sec-wrap { gap: 11px; }
  .sec-gallery .sec-intro { line-height: 1.42; }

  :root { --vign: clamp(150px, 38vw, 168px); }
}
@media (max-width: 520px) { :root { --pad-ilot: var(--v-dedans-tel); } }
.g-img {
  width: 100%;
  height: auto;

  outline: 1px solid var(--bordure-or);
  outline-offset: -1px;

  aspect-ratio: 9 / 16;
  object-fit: cover;
}
.g-loupe {
  position: absolute;
  inset-block-end: var(--v-ligne);
  inset-inline-end: var(--v-ligne);

  width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-bouton);
  background: var(--carte);
  border: 1px solid var(--bordure);
  color: var(--texte-2);
  opacity: 0;
  transition: opacity .2s ease;
}
.g-item:hover .g-loupe, .g-open:focus-visible .g-loupe { opacity: 1; }
.g-loupe .ic { width: 15px; height: 15px; }
.g-vid {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity .35s ease;
}
.g-vid[data-joue] { opacity: 1; }
.g-vid-signe {
  position: absolute;
  inset-block-start: var(--v-ligne);
  inset-inline-start: var(--v-ligne);
  width: 26px; height: 26px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-bouton);
  background: var(--carte);
  border: 1px solid var(--bordure);
  color: var(--texte);
}
.g-vid-signe .ic { width: 12px; height: 12px; }
@media (prefers-reduced-motion: reduce) { .g-vid { display: none; } }
.g-item {

  --g-repos: .72;
  opacity: var(--g-repos); transition: opacity .32s var(--e-entree);
}
.g-item.centre { opacity: 1; }
#loadMore { margin-top: var(--v-groupe); margin-inline: auto; }
.g-item.cachee { display: block; }
html.js .g-item.cachee { display: none; }
html.js .fl-item.cachee { display: none; }
#loadMore { display: none; }
html.js #loadMore { display: flex; }
html.js #loadMore[hidden] { display: none; }
.studio-ph {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: var(--v-ligne);
  aspect-ratio: 4 / 3;
  background: var(--fond-2);
  border: 1px dashed var(--bordure);
  border-radius: var(--r-carte);
  color: var(--texte-2);
  font-size: var(--t-secondaire);

  padding-inline: var(--pad-ilot);
  padding-block: var(--pad-ilot);
  text-align: center;
}
.sec-wrap > .lieu { width: 100%; align-self: stretch; min-width: 0; }
html.js .sec-wrap > .lieu { opacity: 1; translate: none; rotate: none; scale: none; }
.lieu { position: relative; --lieu-c: var(--texte-2); }
.lieu-fond {
  position: absolute; inset-block: -72px; inset-inline-start: 50%; width: 100vw; margin-inline-start: -50vw;
  pointer-events: none;
  background: radial-gradient(900px 520px at 50% 0, var(--fond-halo), transparent 70%);
}
.lieu > :where(:not(.lieu-fond):not(.lieu-ombre)) { position: relative; }
.lieu-ombre { display: none; }
.lieu-v2 .lieu-ombre { display: block; }
.lieu .label { align-self: flex-start; }
.lieu .sec-h, .lieu .sec-intro { text-align: start; margin-inline: 0; }
.lieu .sec-intro { margin-block-start: var(--v-groupe); max-width: 34em; }
.lieu-tete .sec-h { margin-block-start: var(--v-groupe); }
.lieu .sec-h { font-size: clamp(40px, 6vw, 64px); letter-spacing: -.035em; line-height: 1.02; max-width: none; }
.lieu-case {
  background: var(--carte);
  border: 1px solid var(--carte-bord);
  border-radius: var(--r-ilot);
  padding-inline: 4px;
  padding-block: 4px;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--lieu-c) 16%, transparent),
              0 0 36px -12px color-mix(in srgb, var(--lieu-c) 42%, transparent),
              0 24px 60px -30px rgba(0,0,0,.8);
  transition: box-shadow .4s ease;
}
[data-etat="ouvert"] { --lieu-c: var(--signal-ouvert); }
[data-etat="bientot"] { --lieu-c: var(--signal-bientot); }
[data-etat="ferme"] { --lieu-c: var(--texte-2); }
.lieu-sig { display: flex; align-items: center; gap: 14px; padding-inline: 14px; padding-block: 14px 13px; }
.lieu-feu { position: relative; width: 12px; height: 12px; flex: none; border-radius: 50%; background: var(--lieu-c); }
.lieu-feu::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--lieu-c);
  animation: lieu-pouls 2.4s ease-out infinite;
}
@keyframes lieu-pouls { 0% { transform: scale(1); opacity: .55; } 80%, 100% { transform: scale(3); opacity: 0; } }
.lieu-sig:not([data-etat]) .lieu-feu::after { animation: none; opacity: 0; }
.lieu-sig-txt { min-width: 0; }
.lieu-l1 { font-size: var(--t-nom); font-weight: 600; line-height: 1.25; color: var(--texte); }
.lieu-mot { color: var(--lieu-c); }
.lieu-sig:not([data-etat]) .lieu-mot { color: var(--texte); }
.lieu-l2:empty { display: none; }
html.js .lieu-sig:not([data-etat]) .lieu-l2 { display: none; }
.lieu-sig[data-etat="ferme"] .lieu-feu::after { animation: none; opacity: 0; }
.lieu-l2 { font-size: var(--t-petit); color: var(--texte-2); margin-block-start: 2px; }
.lieu-ligne {
  display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 4px 12px; align-items: center;
  padding-inline: 14px 10px; padding-block: 10px;
  border-block-start: 1px solid var(--bordure);
}
.lieu-ligne > .ic { width: 20px; height: 20px; color: var(--or-texte); stroke-width: 1.7; }
.lieu-txt { min-width: 0; line-height: 1.3; }
.lieu-txt b { display: block; font-size: 16px; font-weight: 600; color: var(--texte); }
[data-lieu-auj] b { font-variant-numeric: tabular-nums; }
.lieu-txt small { display: block; font-size: var(--t-petit); color: var(--texte-2); margin-block-start: 2px; }
.lieu-fin { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.lieu-puce {
  position: relative; display: inline-flex; align-items: center; gap: 6px;
  height: 36px; padding-inline: 13px; border-radius: var(--r-pastille);
  background: var(--fond-2); border: 1px solid var(--carte-bord);
  font-size: 14px; font-weight: 600; color: var(--texte); white-space: nowrap;
  transition: border-color .2s, box-shadow .25s;
}
.lieu-puce::before { content: ""; position: absolute; inset: -4px -2px; }
.lieu-puce .ic { width: 15px; height: 15px; color: var(--or-texte); stroke-width: 2; }
.lieu-puce:hover { border-color: var(--bordure-or); box-shadow: 0 0 18px -6px var(--bordure-or); }
.lieu-actions {
  display: flex; flex-wrap: wrap; gap: 8px;
  padding-inline: 6px; padding-block: 10px 6px;
  border-block-start: 1px solid var(--bordure);
}
.lieu-actions .btn { flex: 1 1 200px; }
.lieu-actions .btn-pri:hover { box-shadow: var(--neon); }
.lieu-photos { position: relative; min-width: 0; border-radius: var(--r-ilot); }
.lieu-piste { display: flex; height: 100%; scrollbar-width: none; }
.lieu-piste::-webkit-scrollbar { display: none; }
.lieu-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lieu-sans .studio-ph { height: 100%; }
.lieu-tag {
  position: absolute; inset-inline-start: 14px; inset-block-start: 14px;
  display: inline-flex; align-items: center; gap: 6px; height: 30px; padding-inline: 12px;
  border-radius: var(--r-pastille); background: rgba(0,0,0,.55);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  font-size: var(--t-petit); font-weight: 600; color: var(--blanc-pur);
}
.lieu-tag .ic { width: 14px; height: 14px; color: var(--or-texte); }
.lieu-fl, .lieu-points { display: none; }
.lieu-v1 .lieu-photos, .lieu-v3 .lieu-photos { overflow: hidden; background: var(--carte); }
.lieu-v1 .lieu-piste, .lieu-v3 .lieu-piste {
  overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
}
.lieu-v1 .lieu-img, .lieu-v3 .lieu-img { flex: 0 0 100%; scroll-snap-align: center; }
.lieu-v1 .lieu-points, .lieu-v3 .lieu-points {
  display: flex; position: absolute; inset-inline-start: 50%; inset-block-end: 14px; transform: translateX(-50%);
  gap: 6px; padding-inline: 9px; padding-block: 6px; border-radius: var(--r-pastille);
  background: rgba(0,0,0,.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.lieu-points button { position: relative; width: 7px; height: 7px; border-radius: 4px; background: rgba(255,255,255,.4); transition: width .25s, background-color .25s; }
.lieu-points button::before { content: ""; position: absolute; inset: -18px -6px; }
.lieu-points button[aria-current="true"] { width: 20px; background: var(--blanc-pur); }
.lieu-v1 .lieu-fl, .lieu-v3 .lieu-fl {
  display: grid; place-items: center; position: absolute; inset-block-start: 50%;
  width: var(--cible-tactile); height: var(--cible-tactile); margin-block-start: -22px; border-radius: 50%;
  background: rgba(0,0,0,.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  color: var(--blanc-pur); opacity: 0; transition: opacity .2s;
}
.lieu-photos:hover .lieu-fl, .lieu-fl:focus-visible { opacity: 1; }
.lieu-fl .ic { width: 18px; height: 18px; }
.lieu-g { inset-inline-start: 12px; }
.lieu-d { inset-inline-end: 12px; }
.lieu-v2 .lieu-tag, .lieu-v4 .lieu-tag, .lieu-v5 .lieu-tag { display: none; }
.lieu-v1 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 48px; align-items: center; }
.lieu-v1 .lieu-photos { height: 600px; }
.lieu-v1 .lieu-col, .lieu-v5 .lieu-col { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.lieu-v2 {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 40px; align-items: center;
  min-height: 680px; padding-inline: 40px; padding-block: 40px;
  border-radius: 24px; overflow: hidden; isolation: isolate;
}
.lieu-v2 .lieu-col { display: contents; }
.lieu-v2 .lieu-photos { position: absolute; inset: 0; z-index: -2; border-radius: 0; }
.lieu-v2 .lieu-piste { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 100%; gap: 3px; height: 100%; background: var(--noir-pur); }
.lieu-v2 [data-n="1"] .lieu-piste { grid-template-columns: 1fr; }
.lieu-v2 [data-n="2"] .lieu-piste { grid-template-columns: repeat(2, 1fr); }
.lieu-v2 [data-n="3"] .lieu-piste { grid-template-columns: repeat(3, 1fr); }
.lieu-v2 .lieu-img:nth-child(n+5) { display: none; }
.lieu-v2 .lieu-ombre {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(0deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,0) 65%),
              linear-gradient(90deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.3) 50%, rgba(0,0,0,.7) 100%);
}
.lieu-v2 .lieu-tete { grid-column: 1; align-self: end; max-width: 420px; }
.lieu-v2 .lieu-tete .sec-intro { color: rgba(255,255,255,.85); }
.lieu-v2 .lieu-case {
  grid-column: 2; background: rgba(22,22,24,.72);
  backdrop-filter: saturate(1.5) blur(26px); -webkit-backdrop-filter: saturate(1.5) blur(26px);
  border-color: rgba(255,255,255,.14);
}
.lieu-v2 .lieu-puce, .lieu-v2 .lieu-actions .btn-sec { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); }
.lieu-v2 .lieu-actions .btn, .lieu-v3 .lieu-actions .btn { flex-basis: 100%; }
.lieu-v2 .lieu-adr, .lieu-v5 .lieu-adr { grid-template-columns: 20px minmax(0, 1fr); }
.lieu-v2 .lieu-adr .lieu-fin, .lieu-v5 .lieu-adr .lieu-fin { grid-column: 2; justify-content: flex-start; margin-block-start: 4px; }
.lieu-v3 { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.lieu-v3 .lieu-col { display: contents; }
.lieu-v3 .lieu-tete { order: -1; width: 100%; margin-block-end: 14px; text-align: center; }
.lieu-v3 .label { align-self: center; }
.lieu-v3 .sec-h, .lieu-v3 .sec-intro { text-align: center; margin-inline: auto; }
.lieu-v3 .lieu-photos, .lieu-v3 .lieu-case { width: min(560px, 100%); }
.lieu-v3 .lieu-photos { aspect-ratio: 16 / 10; border-radius: 24px; }
.lieu-v3 .lieu-case { border-radius: 24px; padding-inline: 6px; padding-block: 6px; }
.lieu-v4 { display: flex; flex-direction: column; }
.lieu-v4 .lieu-col { display: contents; }
.lieu-v4 .lieu-tete { order: -1; max-width: 760px; margin-block-end: 28px; }
.lieu-v4 .lieu-photos { margin-block-end: 16px; }
.lieu-v4 .lieu-piste {
  display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 30px) / 4); gap: 10px; height: 380px;
  overflow-x: auto; scroll-snap-type: x mandatory;
}
.lieu-v4 [data-n="1"] .lieu-piste { grid-auto-columns: 100%; }
.lieu-v4 [data-n="2"] .lieu-piste { grid-auto-columns: calc((100% - 10px) / 2); }
.lieu-v4 [data-n="3"] .lieu-piste { grid-auto-columns: calc((100% - 20px) / 3); }
.lieu-v4 .lieu-img { border-radius: var(--r-ilot); scroll-snap-align: start; }
@media (min-width: 1101px) {
  .lieu-v4 .lieu-case { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1.35fr) 272px; align-items: stretch; }
  .lieu-v4 .lieu-case > * { border-block-start: 0; }
  .lieu-v4 .lieu-case > * + * { border-inline-start: 1px solid var(--bordure); }
  .lieu-v4 .lieu-sig { padding-inline: 18px; padding-block: 16px; }
  .lieu-v4 .lieu-ligne { grid-template-columns: 20px minmax(0, 1fr); padding-inline: 16px; padding-block: 14px; align-content: center; }
  .lieu-v4 .lieu-fin { grid-column: 2; justify-content: flex-start; margin-block-start: 6px; }
  .lieu-v4 .lieu-actions { flex-direction: column; justify-content: center; padding-inline: 8px; padding-block: 8px; }
  .lieu-v4 .lieu-actions .btn { flex: none; min-height: 46px; padding-inline: 14px; font-size: 16px; }
}
.lieu-v5 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 56px; align-items: start; }
.lieu-v5 .lieu-col { order: -1; position: sticky; inset-block-start: calc(var(--h-barre, 64px) + 40px); gap: 32px; }
.lieu-v5 .sec-h { font-size: clamp(48px, 7.4vw, 96px); letter-spacing: -.045em; line-height: .95; max-width: none; }
.lieu-v5 .sec-intro { font-size: 21px; line-height: 1.45; color: var(--texte); max-width: 22em; }
.lieu-v5 .lieu-piste { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 300px; gap: 12px; padding-block-end: 56px; }
.lieu-v5 [data-n="1"] .lieu-piste { grid-template-columns: 1fr; padding-block-end: 0; }
.lieu-v5 .lieu-img { border-radius: var(--r-ilot); }
.lieu-v5 .lieu-img:nth-child(even) { transform: translateY(56px); }
.lieu-v5 .lieu-img:nth-child(n+5), .lieu-v5 [data-n="3"] .lieu-img:nth-child(3) { display: none; }
.lieu-v5 .lieu-case {
  background: transparent; box-shadow: none;
  border: 0; border-inline-start: 2px solid var(--lieu-c);
  border-radius: 4px var(--r-ilot) var(--r-ilot) 4px;
}
.overlay-lieu .modale { max-width: 440px; border-radius: 22px; gap: 14px; max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; }
.overlay-lieu h3 { font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.lieu-mini {
  border-radius: var(--r-carte); background: var(--fond); border: 1px solid var(--carte-bord);
  padding-inline: 14px; padding-block: 12px; gap: 12px;
  box-shadow: 0 0 28px -12px color-mix(in srgb, var(--lieu-c) 45%, transparent);
}
.lieu-mini .lieu-l1 { font-size: 16px; }
.lieu-semaine { list-style: none; padding: 0; margin: 0; }
.lieu-semaine li {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  min-height: 42px; padding-inline: 12px; border-radius: 10px;
  font-size: var(--t-secondaire); color: var(--texte-2); font-variant-numeric: tabular-nums;
}
.lieu-semaine li + li { margin-block-start: 1px; }
.lieu-jour { display: flex; align-items: center; gap: 8px; }
.lieu-clos { color: var(--texte-2); opacity: .8; }
.lieu-semaine li[aria-current="date"] { background: var(--voile-or); color: var(--texte); box-shadow: inset 0 0 0 1px var(--bordure-or); }
.lieu-semaine li[aria-current="date"] .lieu-jour { font-weight: 600; }
.lieu-semaine li[aria-current="date"] .lieu-h { color: var(--or-texte); font-weight: 600; }
.lieu-auj {
  font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--sur-degrade); background: var(--degrade-or); padding-inline: 7px; padding-block: 2px; border-radius: var(--r-pastille);
}
.overlay-lieu .lieu-note { font-size: var(--t-petit); }
.lieu-acces { list-style: none; padding: 0; margin: 0; border: 1px solid var(--carte-bord); border-radius: var(--r-carte); background: var(--fond); overflow: hidden; }
.lieu-acces li { display: grid; grid-template-columns: 20px 1fr; gap: 12px; align-items: start; padding-inline: 14px; padding-block: 13px; font-size: var(--t-secondaire); color: var(--texte-2); line-height: 1.4; }
.lieu-acces li + li { border-block-start: 1px solid var(--bordure); }
.lieu-acces li b { display: block; color: var(--texte); font-weight: 600; font-size: 16px; }
.lieu-acces li small { display: block; font-size: var(--t-secondaire); color: var(--texte-2); }
.lieu-acces .ic { width: 20px; height: 20px; margin-block-start: 1px; color: var(--or-texte); stroke-width: 1.7; }
html.js .lieu .lieu-fond { opacity: 0; transition: opacity .6s ease; }
html.js .lieu.fond-vu .lieu-fond { opacity: 1; }
.lieu [data-photo] { transform-origin: 0 0; }
.lieu.attente [data-photo] { opacity: 0; }
.lieu.net *, .lieu.net .lieu-fond { transition: none !important; }
.lieu [data-photo].en-vol { transition: transform 720ms cubic-bezier(.22,.8,.2,1), opacity .3s ease; }
html.js .lieu .sec-h .mot-i { transition-delay: calc(380ms + var(--rang) * var(--pas-mot)); }
html.js .lieu .label, html.js .lieu .sec-intro { opacity: 0; transition: opacity .5s ease .28s; }
html.js .lieu.titre-vu .label, html.js .lieu.titre-vu .sec-intro { opacity: 1; }
html.js .lieu .lieu-case { opacity: 0; transform: translateX(48px); transition: transform .55s cubic-bezier(.2,.8,.2,1), opacity .3s ease; }
html.js .lieu.case-vue .lieu-case { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .lieu-feu::after { animation: none; }
  html.js .lieu .lieu-case, .lieu [data-photo] { transform: none !important; }
  html.js .lieu .lieu-fond, html.js .lieu .label, html.js .lieu .sec-intro, html.js .lieu .lieu-case, .lieu [data-photo] {
    transition-duration: .01s !important; transition-delay: 0s !important;
  }
}
@media (max-width: 900px) {
  .lieu-v1 { grid-template-columns: 1fr; gap: 24px; }
  .lieu-v1 .lieu-photos { height: auto; aspect-ratio: 4 / 5; }
  .lieu-v1 .lieu-piste { aspect-ratio: 4 / 5; }
  .sec-wrap > .lieu.lieu-v2 { width: auto; }
  .lieu-v2 { display: block; min-height: 0; padding-inline: 0; padding-block: 0; border-radius: 0; overflow: visible; margin-inline: calc(-1 * var(--marge)); }
  .lieu-v2 .lieu-photos { position: relative; inset: auto; z-index: 0; height: 520px; }
  .lieu-v2 .lieu-piste { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; }
  .lieu-v2 .lieu-img { flex: 0 0 100%; scroll-snap-align: center; }
  .lieu-v2 .lieu-img:nth-child(n+5) { display: block; }
  .lieu-v2 .lieu-ombre { z-index: 1; inset-block-end: auto; height: 520px; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.92) 100%); }
  .lieu-v2 .lieu-tete { position: relative; z-index: 2; margin-block-start: -200px; margin-inline: var(--marge); max-width: none; }
  .lieu-v2 .lieu-case { margin-block-start: 20px; margin-inline: var(--marge); }
  .lieu-v3 .lieu-tete, .lieu-v3 .sec-h, .lieu-v3 .sec-intro { text-align: start; margin-inline: 0; }
  .lieu-v3 .label { align-self: flex-start; }
  .lieu-v4 .lieu-piste { grid-auto-columns: 72%; height: 280px; margin-inline: calc(-1 * var(--marge)); padding-inline: var(--marge); scroll-padding-inline: var(--marge); }
  .lieu-v5 { grid-template-columns: 1fr; gap: 28px; }
  .lieu-v5 .lieu-col { position: static; }
  .lieu-v5 .sec-intro { font-size: 19px; }
  .lieu-v5 .lieu-piste { grid-auto-rows: 200px; gap: 8px; padding-block-end: 32px; }
  .lieu-v5 .lieu-img:nth-child(even) { transform: translateY(32px); }
  .lieu-actions .btn { flex-basis: 100%; }
}
@media (max-width: 520px) {
  .lieu-adr { grid-template-columns: 20px minmax(0, 1fr); }
  .lieu-adr .lieu-fin { grid-column: 2; justify-content: flex-start; margin-block-start: 4px; }
  .lieu-puce { padding-inline: 12px; }
}
.ilot-etapes { display: grid; gap: var(--v-ligne); }
@media (min-width: 900px) { .ilot-etapes { grid-template-columns: repeat(3, 1fr); } }
.st-item {
  display: flex; gap: var(--v-groupe);
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-carte);

  padding-inline: var(--pad-ilot);
  padding-block: var(--pad-ilot);
}
.st-num {
  font-family: var(--police-titres);
  font-size: 26px; font-weight: 700;
  line-height: 1;
  color: transparent;
  background: var(--degrade-or);
  -webkit-background-clip: text; background-clip: text;
  flex: none;
}
.st-corps { display: flex; flex-direction: column; gap: var(--v-ligne); }
.st-name { font-size: var(--t-carte); }
.st-desc { color: var(--texte-2); font-size: var(--t-secondaire); }
.step-pdf-btn { align-self: flex-start; min-height: var(--cible-tactile); font-size: var(--t-mini); }
.st-corps .btn.step-pdf-btn { font-size: var(--t-petit); padding-inline: 12px; max-width: 100%; white-space: nowrap; }
.st-corps .btn.step-pdf-btn span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.st-item, .st-corps { min-width: 0; }
@media (max-width: 480px) { .st-corps .btn.step-pdf-btn { padding-inline: 10px; } .st-corps .btn.step-pdf-btn .ic { display: none; } }
.ilot-styles { display: grid; gap: var(--v-ligne); }
@media (min-width: 700px) {
  .ilot-styles { grid-template-columns: repeat(2, 1fr); }
  .ilot-styles > .sty-card:last-of-type:nth-of-type(odd) { grid-column: 1 / -1; }
}
@media (min-width: 1180px) {
  .ilot-styles { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .ilot-styles > .sty-card:last-of-type:nth-of-type(odd) { grid-column: auto; }
}
.sty-card {
  display: flex; flex-direction: column; gap: var(--v-ligne);
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-carte);

  padding-inline: var(--pad-ilot);
  padding-block: var(--pad-ilot);
  transition: border-color .22s ease, transform .22s ease;
}
.sty-card:has(.sty-voir):hover { border-color: var(--bordure-or); transform: translateY(-2px); }
.sty-card:has(.sty-voir) { cursor: pointer; }
.sty-name { font-size: var(--t-carte); }
.sty-desc { color: var(--texte-2); font-size: var(--t-secondaire); }
@property --sx-n1 { syntax: '<color>'; inherits: true; initial-value: transparent; }
@property --sx-h1 { syntax: '<color>'; inherits: true; initial-value: transparent; }
@property --sx-h2 { syntax: '<color>'; inherits: true; initial-value: transparent; }
@property --sx-h3 { syntax: '<color>'; inherits: true; initial-value: transparent; }
@property --sx-h4 { syntax: '<color>'; inherits: true; initial-value: transparent; }
.sec-styles .sty-card { position: relative; }
.sty-voir {
  display: inline-flex; align-items: center; gap: 6px; align-self: flex-start;
  margin-block-start: auto; min-height: var(--cible-tactile); padding: 0;
  background: none; border: 0; cursor: pointer;
  color: var(--or-texte); font-size: 13px; font-weight: 600; letter-spacing: .04em;
}
.sty-voir::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.sty-voir .ic { width: 18px; height: 18px; transition: translate .25s ease; }
.sty-voir:focus-visible { outline: none; }
.sty-card:has(.sty-voir:focus-visible) { outline: 2px solid var(--or-texte); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .sty-card:hover .sty-voir .ic { translate: 4px 0; } }
.sx { position: fixed; inset: 0; z-index: 1500; overflow: hidden; isolation: isolate;
  transition: --sx-n1 1.2s ease, --sx-h1 1.4s ease, --sx-h2 1.4s ease, --sx-h3 1.4s ease, --sx-h4 1.4s ease; }
.sx[hidden] { display: none; }
.sx-plaque { position: absolute; inset: 0; transform-origin: 0 0; will-change: transform; background-color: var(--fond-2);
  background-image: radial-gradient(70% 40% at 0% 0%, color-mix(in srgb, var(--ac) 16%, transparent), transparent 75%); }
.sx-scene { position: absolute; inset: 0; opacity: 0; transition: opacity .7s ease; pointer-events: none; }
.sx-scene-vue .sx-scene { opacity: 1; }
.sx-sort .sx-scene, .sx-sort .sx-texte, .sx-sort .sx-stage, .sx-sort .sx-retour { opacity: 0; transition: opacity .2s ease; }
.sx-flou { position: absolute; inset: 0; overflow: hidden; }
.sx-flou img { position: absolute; inset: -12%; width: 124%; height: 124%; max-width: none; object-fit: cover;
  filter: blur(44px) saturate(1.35); opacity: 0; transition: opacity .9s ease; }
.sx-flou img.vu { opacity: 1; }
.sx-halo { position: absolute; width: 74vmax; height: 74vmax; border-radius: 50%; mix-blend-mode: screen;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--c) 90%, transparent),
    color-mix(in srgb, var(--c) 36%, transparent) 55%, transparent 100%);
  translate: var(--dx, 0) var(--dy, 0); transition: translate 1.6s cubic-bezier(.2,.8,.2,1);
  animation: sx-derive 16s ease-in-out infinite alternate; will-change: transform; }
.sx-h1 { --c: var(--sx-h1); left: -40vmax; top: -44vmax; }
.sx-h2 { --c: var(--sx-h2); right: -40vmax; top: -40vmax; animation-delay: -4s; }
.sx-h3 { --c: var(--sx-h3); right: -38vmax; bottom: -44vmax; animation-delay: -8s; }
.sx-h4 { --c: var(--sx-h4); left: -42vmax; bottom: -40vmax; animation-delay: -12s; }
@keyframes sx-derive { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(3vmax, 2vmax, 0) scale(1.1); } }
.sx-voile { position: absolute; inset: 0; background: color-mix(in srgb, var(--fond) var(--sx-voile), transparent); }
.sx-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sx-n1) 40%, transparent),
    inset 0 0 36px -8px color-mix(in srgb, var(--sx-n1) 70%, transparent),
    inset 0 0 160px -40px color-mix(in srgb, var(--sx-n1) 55%, transparent); }
.sx-corps { position: absolute; inset: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none;
  display: flex; flex-direction: column; align-items: center; gap: 18px;
  padding-inline: var(--marge); padding-block: 72px 18px; }
.sx-corps::-webkit-scrollbar { display: none; }
.sx-texte { position: relative; isolation: isolate; width: 100%; max-width: 640px; display: flex; flex-direction: column;
  align-items: center; gap: var(--v-groupe); text-align: center; }
.sx-texte::before { content: ""; position: absolute; z-index: -1; pointer-events: none; inset: -100vh -100vw -56px -100vw;
  background: linear-gradient(180deg, color-mix(in srgb, var(--fond) var(--sx-voile-texte), transparent) calc(100% - 56px), transparent);
  opacity: 0; transition: opacity .7s ease; }
.sx-scene-vue .sx-texte::before { opacity: 1; }
.sx-label { align-self: center; opacity: 0; transition: opacity .5s ease .1s; }
.sx-titre-vu .sx-label { opacity: 1; }
.sx-titre { margin: 0; font-family: var(--police-titres); font-weight: 700; text-transform: uppercase; letter-spacing: -.035em;
  line-height: .92; font-size: clamp(44px, 14vw, 88px); color: var(--texte); max-width: 100%; text-wrap: balance; }
.sx-mot { display: inline-block; vertical-align: top; clip-path: inset(-30% -20% 0 -20%); padding-block-end: .04em; }
.sx-mot-i { display: inline-block; opacity: 0; transform: translateY(140%);
  transition: transform .8s cubic-bezier(.2,.8,.2,1) var(--d, 0ms), opacity .3s ease var(--d, 0ms); }
.sx-titre-vu .sx-mot-i { transform: none; opacity: 1; }
.sx-titre-fini .sx-mot { clip-path: none; }
.sx-titre-fini .sx-titre { text-shadow: 0 0 32px color-mix(in srgb, var(--sx-n1) var(--sx-lueur), transparent); }
.sx-trait { display: block; width: 88px; height: 3px; border-radius: 999px; background: var(--sx-n1);
  box-shadow: 0 0 18px var(--sx-n1); transform: scaleX(0); transition: transform .8s cubic-bezier(.2,.8,.2,1) .35s; }
.sx-titre-vu .sx-trait { transform: none; }
.sx-desc { margin: 0; max-width: 46ch; color: var(--texte-2); font-size: 16px; line-height: 1.55;
  opacity: 0; translate: 0 14px; transition: opacity .6s ease, translate .7s cubic-bezier(.2,.8,.2,1); }
.sx-desc-vue .sx-desc { opacity: 1; translate: none; }
.sx-simuler { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--v-ligne); width: 100%; max-width: 460px;
  margin: 0; opacity: 0; transition: opacity .6s ease .25s; }
.sx-desc-vue .sx-simuler { opacity: 1; }
.sx-simuler[hidden] { display: none; }
.sx-simuler input { flex: 1 1 200px; min-width: 0; min-height: var(--cible-tactile); padding-inline: 16px; font-size: 16px;
  color: var(--texte); background: var(--carte); border: 1px solid var(--bordure-or); border-radius: var(--r-bouton); }
.sx-simuler input::placeholder { color: var(--texte-2); }
.sx-simuler button { flex: none; min-height: var(--cible-tactile); padding-inline: 20px; border: 0; border-radius: var(--r-bouton);
  background: var(--degrade-or); color: var(--sur-degrade); font-weight: 700; cursor: pointer; }
.sx-polices { width: 100%; margin: 0; color: var(--texte-2); font-size: 12.5px; }
.sx-cache { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.sx-stage { display: flex; flex-direction: column; align-items: center; gap: 14px; flex: none;
  opacity: 0; transform: translateY(6%) scale(.96); transition: opacity .6s ease, transform 1s cubic-bezier(.2,.8,.2,1); }
.sx-stage[hidden] { display: none; }
.sx-stage-vu .sx-stage { opacity: 1; transform: none; }
.sx-cadre { position: relative; margin: 0; overflow: hidden; border-radius: 0; background: var(--carte);
  border: 1px solid color-mix(in srgb, var(--or-texte) 34%, transparent); touch-action: pan-y; cursor: pointer;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sx-n1) 55%, transparent), 0 0 32px color-mix(in srgb, var(--sx-n1) 45%, transparent),
    0 0 90px color-mix(in srgb, var(--sx-n1) 24%, transparent); }
.sx-ph { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; opacity: 0;
  transition: opacity .2s linear; }
.sx-ph.actif { z-index: 1; opacity: 1; clip-path: inset(0 0 0 0); transform: none;
  transition: clip-path .9s cubic-bezier(.7,0,.2,1), transform 1s cubic-bezier(.2,.8,.2,1), opacity .2s linear; }
.sx-ph.entre { opacity: 1; z-index: 1; clip-path: inset(0 0 0 100%); transform: scale(1.06); transition: none; }
.sx-ph.entre.gauche { clip-path: inset(0 100% 0 0); }
.sx-ph.sort { z-index: 0; opacity: 0; transform: scale(.94) translateX(-6%);
  transition: opacity .9s ease, transform .9s cubic-bezier(.7,0,.2,1); }
.sx-ph.sort.gauche { transform: scale(.94) translateX(6%); }
.sx-barre { position: absolute; z-index: 2; left: 12px; right: 12px; bottom: 12px; height: 3px; border-radius: 999px; overflow: hidden;
  background: color-mix(in srgb, var(--texte) 24%, transparent); }
.sx-barre[hidden] { display: none; }
.sx-barre i { display: block; height: 100%; background: var(--sx-n1); transform-origin: 0 50%; transform: scaleX(0); }
.sx-barre i.sx-court { animation: sx-avance var(--sx-photo) linear forwards; }
.sx-en-pause .sx-barre i.sx-court { animation-play-state: paused; }
@keyframes sx-avance { to { transform: scaleX(1); } }
.sx-ctrl { display: flex; align-items: center; gap: var(--v-ligne); }
.sx-ctrl[hidden] { display: none; }
.sx-rond, .sx-retour { display: inline-grid; place-items: center; min-width: var(--cible-tactile); min-height: var(--cible-tactile);
  border-radius: var(--r-bouton); background: var(--carte); color: var(--texte); border: 1px solid var(--carte-bord); cursor: pointer; }
.sx-rond .ic, .sx-retour .ic { width: 18px; height: 18px; }
.sx-rond .sx-ico-lecture { display: none; }
.sx-rond[aria-pressed="true"] .sx-ico-pause { display: none; }
.sx-rond[aria-pressed="true"] .sx-ico-lecture { display: inline-grid; }
.sx-rond span { display: inline-grid; }
.sx-compte { min-width: 64px; min-height: 32px; display: inline-grid; place-items: center; padding-inline: 12px; border-radius: var(--r-bouton);
  background: var(--carte); color: var(--texte-2); font-size: 13px; font-variant-numeric: tabular-nums; }
.sx-retour { position: absolute; z-index: 3; top: 14px; left: 14px; display: inline-flex; align-items: center; gap: 6px;
  padding-inline: 16px 18px; font-weight: 600; opacity: 0; transition: opacity .4s ease; }
.sx-titre-vu .sx-retour { opacity: 1; }
.sx-rond:focus-visible, .sx-retour:focus-visible, .sx-simuler button:focus-visible, .sx-simuler input:focus-visible {
  outline: 2px solid var(--or-texte); outline-offset: 2px; }
@media (min-width: 900px) {
  .sx-corps { flex-direction: row; justify-content: center; align-items: center; gap: clamp(32px, 6vw, 104px);
    padding-block: 88px 40px; padding-inline: clamp(32px, 6vw, 112px); }
  .sx-texte { flex: 1 1 0; min-width: 0; max-width: 700px; align-items: flex-start; text-align: start; }
  .sx-texte::before { inset: -100vh -18vw -100vh -100vw;
    background: linear-gradient(90deg, color-mix(in srgb, var(--fond) var(--sx-voile-texte), transparent) calc(100% - 18vw), transparent); }
  .sx-label { align-self: flex-start; }
  .sx-titre { font-size: clamp(56px, 7.6vw, 136px); }
  .sx-trait { transform-origin: 0 50%; }
  .sx-desc { font-size: 18px; }
  .sx-simuler { justify-content: flex-start; }
  .sx-stage { transform: translateX(8%) perspective(1200px) rotateY(-12deg) scale(.96); }
  .sx-retour { top: 24px; left: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .sx-halo { animation: none; }
  .sx-mot-i, .sx-stage, .sx-desc { transform: none !important; translate: none !important; }
}
.ilot-minifaq { display: grid; gap: var(--v-ligne); }
.ilot-minifaq > .faq-label { justify-self: start; }
.faq-label {
  font-size: var(--t-mini); font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--or-texte);
  margin-bottom: var(--v-texte);
}
.faq-item {
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  transition: border-color .22s ease;
}
.faq-item[open] { border-color: var(--bordure-or); }
.faq-q {
  display: flex; align-items: center; gap: var(--v-ligne);
  min-height: var(--cible-tactile);
  padding-inline: var(--v-dedans);
  padding-block: 12px;
  cursor: pointer;
  font-weight: 600;
  font-size: var(--t-nom);
  list-style: none;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q > span:first-of-type { flex: 1; }
.faq-q .ic { width: var(--icone); height: var(--icone); flex: none; color: var(--texte-2); }
.faq-chev .ic { transition: transform .24s ease; }
.faq-item[open] .faq-chev .ic { transform: rotate(180deg); }
.faq-item[open] .faq-q .ic:first-child { color: var(--or-texte); }
.faq-a {
  padding-inline: var(--v-dedans);

  padding-block: 0 var(--v-dedans);
  color: var(--texte-2);
}
.faq-a strong { color: var(--texte); font-weight: 600; }
.faq-a a { color: var(--or-texte); text-decoration: underline; }
.faq-a ul, .faq-a ol { display: grid; gap: var(--v-texte); padding-inline-start: 18px; }
.faq-a li { list-style: disc; }
.ilot-faq { display: grid; gap: 22px; width: 100%; max-width: 760px; margin-inline: auto; }
.ilot.ilot-faq { background: none; border: 0; box-shadow: none; padding: 0; }
.ilot.ilot-faq::before { display: none; }
:where(.sec) .ilot.ilot-faq, :where(.sec) .ilot-faq :is(.faq-group, .faq-item) { background-image: none; }
:where(.sec) .ilot-faq .faq-group-corps {
  background-image: radial-gradient(70% 140px at 0% 0%,
    color-mix(in srgb, var(--ac, var(--or-texte)) var(--lueur-carte, 16%), transparent), transparent 75%);
}
.faq-group { min-width: 0; }
.faq-group-title {
  margin: 0 4px 8px;
  font-family: var(--police-corps);
  font-size: 13px; font-weight: 400;
  color: var(--texte-2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.faq-group-badge { display: none; }
.faq-group-corps { background: var(--carte); border-radius: 16px; overflow: hidden; }
.ilot-faq .faq-item { border: 0; border-radius: 0; background: transparent; }
.ilot-faq .faq-item + .faq-item { border-top: 1px solid var(--bordure); }
.ilot-faq .faq-q {
  gap: 14px;
  min-height: 56px;
  padding: 12px 16px;
  font-size: 17px; font-weight: 400; line-height: 1.35;
  transition: color .2s, background-color .2s;
}
@media (min-width: 900px) { .ilot-faq .faq-q { min-height: 60px; } }
.ilot-faq .faq-q > span:first-of-type { min-width: 0; }
.ilot-faq .faq-q:hover { background: color-mix(in srgb, var(--texte) 4%, transparent); }
.ilot-faq .faq-item[open] .faq-q { font-weight: 600; }
.ilot-faq .faq-chev { display: inline-grid; flex: none; }
.ilot-faq .faq-chev .ic { width: 14px; height: 14px; color: var(--texte-2); transition: transform .34s cubic-bezier(.16,.84,.34,1), color .2s; }
.ilot-faq .faq-item[open] .faq-chev .ic { color: var(--or-texte); }
.ilot-faq .faq-a { padding: 0 16px 16px; font-size: 15px; line-height: 1.55; max-width: 68ch; }
.nw { white-space: nowrap; }
.faq-outils, .faq-vide { display: none; }
.faq-q mark { background: none; color: inherit; }
@media (prefers-reduced-motion: reduce) { .ilot-faq .faq-chev .ic { transition: none; } }
@media (prefers-reduced-motion: no-preference) {
  html.js #page-faq .faq-item {
    transition: opacity .5s ease, transform .7s cubic-bezier(.16,.84,.34,1), filter .7s ease, border-color .28s, box-shadow .28s, translate .35s cubic-bezier(.16,.84,.34,1);
  }
  html.js #page-faq.vue .faq-item { transition-delay: calc(var(--n, 0) * 55ms); }
  html.js #page-faq:not(.vue) .faq-item { opacity: 0; transform: translate3d(0, 18px, 0); }
}
.faq-fin { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; }
.faq-fin > span { font-size: 17px; color: var(--texte-2); white-space: nowrap; }
.faq-ecrire { white-space: nowrap; }
.faq-ecrire .ic { width: 18px; height: 18px; flex: none; }
.ilot-soins { display: flex; flex-direction: column; gap: var(--v-groupe); }
.soin-onglets {
  display: flex; gap: 2px;
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  padding-inline: 3px; padding-block: 3px;
}
.soin-onglet {
  flex: 1;
  min-height: var(--cible-tactile);
  border-radius: 7px;
  font-size: var(--t-mini); font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--texte-2);
  transition: color .2s ease, background-color .2s ease;
}
.soin-onglet.on { background: var(--survol); color: var(--or-texte); }
.soin-onglet { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; padding-inline: 8px; }
@media (max-width: 480px) { .soin-onglet { letter-spacing: .01em; padding-inline: 4px; } }
.soin-panneau { display: flex; flex-direction: column; gap: var(--v-groupe); }
.soin-panneau[hidden] { display: none; }
.soin-fiche-badge {
  align-self: flex-start;
  font-size: var(--t-mini); font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--or-texte);
  background: var(--voile-or);
  border-radius: var(--r-pastille);
  padding-inline: 12px; padding-block: 5px;
}
.soin-fiche-intro { color: var(--texte-2); }
.soin-alert {
  display: flex; align-items: flex-start; gap: var(--v-ligne);
  background: var(--voile-rouge);
  border: 1px solid var(--rouge-texte);
  border-radius: var(--r-ligne);
  padding-inline: var(--v-dedans);
  padding-block: 12px;
  color: var(--rouge-texte);
  font-size: var(--t-secondaire);
}
.soin-alert .ic { width: var(--icone); height: var(--icone); flex: none; }
.soin-collapse {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .38s cubic-bezier(.22,.61,.36,1);
}
.soin-collapse[data-ouvert="true"] { grid-template-rows: 1fr; }
.soin-collapse-dedans {
  overflow: hidden;
  display: flex; flex-direction: column; gap: var(--v-groupe);
}
html:not(.js) .soin-collapse { grid-template-rows: 1fr; }
html:not(.js) .soin-more { display: none; }
html:not(.js) .soin-panneau[hidden] { display: flex; }
.soin-groupe { display: flex; flex-direction: column; gap: var(--v-ligne); }
.soin-groupe-h {
  font-size: 12px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--or-texte);
}
.soin-cards { display: grid; gap: var(--v-ligne); }
@media (min-width: 700px) { .soin-cards { grid-template-columns: repeat(2, 1fr); } }
.soin-card {
  display: flex; flex-direction: column; gap: var(--v-texte);
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  padding-inline: var(--v-dedans);
  padding-block: 14px;
}
.soin-card-h { font-size: var(--t-nom); }
.soin-card-d { color: var(--texte-2); font-size: var(--t-secondaire); }
.soin-card-t {
  align-self: flex-start;
  margin-top: var(--v-texte);
  font-size: var(--t-mini); font-weight: 700; letter-spacing: .1em;
  color: var(--texte-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-pastille);
  padding-inline: 9px; padding-block: 3px;
}
.soin-more { align-self: center; }
.soin-more[aria-expanded="true"] .chev-tourne { transform: rotate(180deg); }
.chev-tourne { transition: transform .24s ease; }
.soin-dl { display: flex; flex-wrap: wrap; gap: var(--v-ligne); }
.soin-dl .btn { flex: 1 1 220px; }
.ilot-avis { padding-inline: 0; overflow: hidden; }
.avis-track {
  display: flex;
  gap: var(--v-ilot);
  width: max-content;
  padding-inline: var(--v-dedans);
  animation: defile 90s linear infinite;
}
.avis-copie { display: flex; gap: var(--v-ilot); }
.ilot-avis:hover .avis-track,
.ilot-avis:focus-within .avis-track { animation-play-state: paused; }
@keyframes defile { to { transform: translateX(-50%); } }
.avis-item {
  flex: 0 0 auto;
  width: clamp(240px, 76vw, 320px);
  display: flex; gap: var(--v-ligne);
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-carte);

  padding-inline: var(--pad-ilot);
  padding-block: var(--pad-ilot);
}
.avis-av {
  width: 34px; height: 34px; flex: none;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-pastille);
  background: var(--voile-or);
  color: var(--or-texte);
  font-family: var(--police-titres);
  font-weight: 700;
}
.avis-corps { display: flex; flex-direction: column; gap: var(--v-texte); min-width: 0; }
.avis-name { font-size: var(--t-nom); font-weight: 600; }
.avis-txt { color: var(--texte-2); font-size: var(--t-secondaire); }
.avis-pied {
  display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: var(--v-groupe);
  margin-top: var(--v-groupe);
  padding-inline: var(--v-dedans);
}
.avis-score { display: inline-flex; align-items: center; gap: 6px;
              font-size: var(--t-nom); white-space: nowrap; }
.avis-score .ic { width: 16px; height: 16px; flex: none; }
.avis-score strong { font-family: var(--police-titres); font-size: 17px; }
.avis-score span { color: var(--texte-2); }
.ilot-vide {
  display: flex; flex-direction: column; align-items: center;
  gap: var(--v-groupe);
  text-align: center;
  color: var(--texte-2);
}
.ilot-contact { display: flex; flex-direction: column; gap: var(--v-groupe); }
.champs { display: grid; gap: var(--v-ligne); }
@media (min-width: 700px) { .champs { grid-template-columns: repeat(2, 1fr); } }
.champ { display: block; }
.champ-large { grid-column: 1 / -1; }
.champ-in {
  width: 100%;
  min-height: var(--cible-tactile);
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  padding-inline: 14px;
  padding-block: 10px;

  font-size: var(--t-champ);
  font-family: var(--police-corps);
  color: var(--texte);
  transition: border-color .2s ease;
}
.champ-in::placeholder { color: var(--texte-2); opacity: .75; }
.champ-in:focus { outline: none; border-color: var(--bordure-or); }
.champ-in:user-invalid { border-color: var(--rouge-texte); }
textarea.champ-in { resize: vertical; min-height: 120px; }
select.champ-in { appearance: none; cursor: pointer; }
.champ-tel { min-width: 0; }
.tel-boite {
  display: flex; align-items: stretch; min-width: 0;
  min-height: var(--cible-tactile);
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  transition: border-color .2s ease;
}
.tel-boite:focus-within { border-color: var(--bordure-or); }
:root .tel-boite > .champ-in {
  background-color: transparent !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; min-height: 0 !important;
}
.tel-boite > .champ-ind {
  flex: 0 0 auto; width: auto !important; min-width: 0;
  padding-inline: 14px 12px;
  font-variant-numeric: tabular-nums; white-space: nowrap;

  background-image: linear-gradient(var(--bordure), var(--bordure)) !important;
  background-size: 1px 55% !important; background-position: right center !important; background-repeat: no-repeat !important;
}
.tel-boite > .champ-ind.cf-btn > .cf-v { flex: none; overflow: visible; }
.tel-boite > input.champ-in { flex: 1 1 auto; min-width: 0; width: auto; padding-inline: 12px 14px; }
#mkForm [data-ct-ko] { border-color: var(--rouge-texte) !important; box-shadow: 0 0 0 1.5px var(--rouge-texte) inset !important; }
#mkForm .ct-err { margin: 6px 0 0 4px; font-size: 13px; line-height: 1.3; color: var(--rouge-texte); }
#mkForm select:invalid + .cf-btn > .cf-v { color: color-mix(in srgb, var(--texte-2) 75%, transparent); }
input[type="date"].champ-in { color-scheme: dark; }
.flash-form-zone {
  display: flex; align-items: center; gap: var(--v-ligne);
  background: var(--voile-or);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-ligne);
  padding-inline: var(--v-dedans);
  padding-block: 10px;
}
.flash-form-zone[hidden] { display: none; }
.ffz-label {
  font-size: var(--t-mini); font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--or-texte);
}
.ffz-nom { flex: 1; font-size: var(--t-secondaire); }
.ffz-x {
  width: var(--cible-tactile); height: var(--cible-tactile);
  display: flex; align-items: center; justify-content: center;
  color: var(--texte-2);
}
.ffz-x .ic { width: 15px; height: 15px; }
.contact-bas { display: flex; flex-wrap: wrap; gap: var(--v-ligne); align-items: stretch; }
.upload-zone {
  flex: 1 1 240px;
  display: flex; align-items: center; justify-content: center;
  gap: var(--v-ligne);
  min-height: var(--cible-tactile);
  border: 1.5px dashed var(--bordure);
  border-radius: var(--r-ligne);
  color: var(--texte-2);
  font-size: var(--t-mini); font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  padding-inline: var(--v-dedans);
  padding-block: 0;
  transition: border-color .2s ease, color .2s ease;
}
.upload-zone:hover { border-color: var(--bordure-or); color: var(--or-texte); }
.upload-zone .ic { width: var(--icone); height: var(--icone); }
.upload-zone > span:not(.upload-liste) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
@media (max-width: 480px) { .upload-zone { letter-spacing: .03em; padding-inline: 12px; } }
.upload-liste { font-size: var(--t-mini); letter-spacing: 0; text-transform: none; }
.contact-bas .btn { flex: 1 1 200px; }
.contact-foot {
  display: flex; flex-wrap: wrap; align-items: center;

  justify-content: flex-end; gap: var(--v-groupe);
}
.ilot-flashs { padding-inline: 0; overflow: hidden; }
.fl-track {
  display: flex; gap: var(--v-ilot);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-inline: var(--v-dedans);
  padding-block: 2px;
  scrollbar-width: none;
}
.fl-track::-webkit-scrollbar { display: none; }
.fl-item {
  position: relative;
  flex: 0 0 auto;
  width: clamp(180px, 68vw, 260px);
  margin: 0;
  scroll-snap-align: center;
  border-radius: var(--r-carte);
  overflow: hidden;
  border: 1px solid var(--bordure);
}
.fl-overlay-btn {
  position: absolute;
  inset-inline: var(--v-ligne);
  inset-block-end: var(--v-ligne);
  min-height: var(--cible-tactile);
  font-size: var(--t-mini);
}
.fl-vente {
  position: absolute;
  inset-block-start: var(--v-ligne);
  inset-inline-start: var(--v-ligne);
  max-width: calc(100% - 2 * var(--v-ligne));
  padding-block: 4px;
  padding-inline: 10px;
  border-radius: var(--r-pastille);
  background: var(--pastille);
  color: var(--sur-pastille);
  font-size: var(--t-mini);
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}
.fl-etat {
  position: absolute;
  inset-inline: var(--v-ligne);
  inset-block-end: var(--v-ligne);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: var(--r-bouton);
  background: var(--carte);
  border: 1px solid var(--bordure);
  color: var(--texte);
  font-size: var(--t-mini);
  font-weight: 600;
  letter-spacing: .12em;
}
.overlay {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: var(--marge);
  padding-block: var(--marge);
  background: var(--halo-bas);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .22s ease;
}
@property --lb-k { syntax: '<number>'; inherits: false; initial-value: 1; }
@property --lb-tx { syntax: '<length>'; inherits: false; initial-value: 0px; }
@property --lb-ty { syntax: '<length>'; inherits: false; initial-value: 0px; }
@media (prefers-reduced-motion: no-preference) {
  html.js #stage, html.js #hdr, html.js .mkb, .lb-fig {

    transition: transform var(--d-lb) var(--e-loupe);
  }

  html.js #stage, html.js #hdr, html.js .mkb {
    transition: transform var(--d-lb) var(--e-loupe),
                opacity calc(var(--d-lb) * .45) linear calc(var(--d-lb) * .5);
  }
  html.js.lb-zoom #stage,
  html.js.lb-zoom #hdr,
  html.js.lb-zoom .mkb {

    transform: translate(var(--lb-tx), var(--lb-ty)) scale(var(--lb-k));
    opacity: 0;
  }

  html.js #hdr, html.js .mkb, html.js #stage { transform-origin: 50% 50%; }

  html.js #lightbox:not(.pret) { visibility: hidden; }
  #lightbox {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    opacity: 1;
    transition: none;
  }
  #lightbox::before {
    content: "";
    position: absolute;
    inset: 0;

    background-color: var(--halo-bas);

    background-image:
      radial-gradient(112% 82% at 50% 45%, rgb(0 0 0 / 0) 0%, rgb(0 0 0 / .5) 100%);
    opacity: 0;
    pointer-events: none;
  }
  #lightbox::before {
    transition: opacity calc(var(--d-lb) * .8) ease;
  }
  #lightbox.ouvert::before { opacity: 1; }
  #lightbox .modale-x, #lightbox .lb-barre {
    opacity: 0;
    transition: opacity calc(var(--d-lb) * .35) ease calc(var(--d-lb) * .62);
  }
  #lightbox.ouvert .modale-x, #lightbox.ouvert .lb-barre { opacity: 1; }
}
.overlay[hidden] { display: none; }
.overlay.ouvert { opacity: 1; }
.modale {
  position: relative;
  width: 100%;
  max-width: 440px;
  display: flex; flex-direction: column;
  gap: var(--v-groupe);
  background: var(--carte);
  border: 1px solid var(--carte-bord);
  border-radius: var(--r-ilot);
  box-shadow: var(--ombre-toile);
  padding-inline: var(--v-dedans);
  padding-block: var(--v-dedans);
  transform: translateY(12px) scale(.98);
  transition: transform .26s cubic-bezier(.22,.61,.36,1);
}
.overlay.ouvert .modale { transform: none; }
.modale h3 { font-size: var(--t-carte); padding-inline-end: var(--cible-tactile); }
.modale p { color: var(--texte-2); font-size: var(--t-secondaire); }
.modale-x {
  position: absolute;
  top: var(--v-ligne); inset-inline-end: var(--v-ligne);
  width: var(--cible-tactile); height: var(--cible-tactile);
  display: flex; align-items: center; justify-content: center;
  color: var(--texte-2);
  border-radius: var(--r-bouton);
}
.modale-actions { display: flex; flex-direction: column; gap: var(--v-ligne); }
.modale-actions .btn { width: 100%; }
.envoi-etat { font-size: var(--t-secondaire); text-align: center; min-height: 20px; }
.envoi-etat[data-etat="erreur"] { color: var(--rouge-texte); }
.envoi-etat[data-etat="envoye"] { color: var(--vert-texte); }
.overlay-lb .modale {
  max-width: min(94vw, 620px);
  background: transparent;
  border: 0;
  box-shadow: none;
  padding-inline: 0;
  padding-block: 0;

  transform: none;
  transition: none;
}
.overlay-lb .modale-x.lb-retour {
  position: fixed;
  top: var(--marge);
  inset-inline-start: var(--marge);
  inset-inline-end: auto;
  width: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;

  min-height: var(--cible-tactile);
  padding-inline: 16px 20px;
  padding-block: 0;
  border-radius: 999px;
  background: var(--carte);
  border: 1px solid var(--bordure-or);
  box-shadow: 0 10px 30px -12px rgb(0 0 0 / .6);
  color: var(--or-texte);
  font-family: var(--police-titres);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  z-index: 3;
}
.overlay-lb .modale-x.lb-retour svg {
  width: 18px; height: 18px;
  flex: 0 0 auto;
}
.overlay-lb .modale-x.lb-retour:hover { border-color: var(--or-texte); }
#lightbox .lb-prec, #lightbox .lb-suiv {
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
#lightbox .lb-prec:focus-visible, #lightbox .lb-suiv:focus-visible {
  opacity: 1;
  pointer-events: auto;
}
#lb-img { transition: opacity var(--d-glisse) var(--e-entree); }
.lb-fig {
  position: fixed;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  z-index: 2;
  width: 100%;
  translate: -50% -50%;
}
.lb-fig {
  margin: 0;

  border-radius: 0;
  overflow: hidden;

  transform-origin: center center;
  will-change: transform;
}
.lb-barre {
  position: fixed;
  z-index: 3;
  inset-block-end: calc(var(--marge) + env(safe-area-inset-bottom, 0px));
  inset-inline-start: var(--marge);
  width: 165px;
  height: 6px;
  border-radius: 999px;

  background-color: color-mix(in srgb, var(--carte) 82%, transparent);
  border: 1px solid var(--bordure-or);
  box-shadow: 0 8px 24px -10px rgb(0 0 0 / .6);
  overflow: hidden;
}
@media (max-width: 700px) {
  .lb-barre {
    inset-block-end: auto;
    inset-block-start: calc(var(--marge) + (var(--cible-tactile) - 6px) / 2);
    inset-inline-start: auto;
    inset-inline-end: var(--marge);
    width: 120px;
  }
}
.lb-barre > i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--degrade-or);
  transform: scaleX(0);
  transform-origin: 0 50%;
}
.lb-piste {
  display: flex;

  position: relative;
  width: 100%;
  gap: calc(6px * var(--lb-zoom, 1));
}
.lb-piste > img {
  flex: 0 0 var(--lb-l);
  width: var(--lb-l); height: auto;
  aspect-ratio: 9 / 16;
  object-fit: contain;
  display: block;

  background: var(--fond-2);

  outline: calc(1px * var(--lb-zoom, 1)) solid var(--bordure-or);
  outline-offset: calc(-1px * var(--lb-zoom, 1));
}
.lb-vid {
  position: absolute;
  z-index: 1;
  object-fit: cover;
  pointer-events: none;
  outline: calc(1px * var(--lb-zoom, 1)) solid var(--bordure-or);
  outline-offset: calc(-1px * var(--lb-zoom, 1));
  opacity: 0;
  transition: opacity .3s ease;
}
.lb-vid[data-joue] { opacity: 1; }
.lb-prec, .lb-suiv {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: var(--cible-tactile); height: var(--cible-tactile);
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-pastille);
  background: var(--carte);
  border: 1px solid var(--bordure);
  color: var(--texte);
}
.lb-prec { inset-inline-start: var(--v-ilot); }
.lb-suiv { inset-inline-end: var(--v-ilot); }
@media (max-width: 760px) {

  .lb-prec, .lb-suiv { top: auto; bottom: var(--v-ilot); transform: none; }
}
.lb-flash {
  display: flex; align-items: center; gap: var(--v-groupe);
  margin-top: var(--v-ilot);
  background: var(--carte);
  border: 1px solid var(--bordure);
  border-radius: var(--r-carte);
  padding-inline: var(--v-dedans);
  padding-block: 12px;
}
.lb-flash[hidden] { display: none; }
.lb-ref { flex: 1; font-size: var(--t-secondaire); color: var(--texte-2); }
body.fige { overflow: hidden; }
#hdr.serre { grid-template-columns: auto 1fr auto; }
#hdr.serre .nav-center { display: none; }
#hdr.serre .burger { display: flex; }
#hdr.serre .hdr-social { display: none; }
#hdr.serre .hdr-cta .ic { display: none; }
#hdr.serre .hdr-cta span { display: inline; }
#hdr.serre .hdr-cta { padding-inline: 14px; flex: none; white-space: nowrap; }
#hdr.serre .logo { min-width: 0; }
#hdr.serre .logo-barre { height: 24px; max-width: 100%; }
html:not(.js) #hdr.serre .nav-center { display: flex; }
html:not(.js) #hdr.serre .burger { display: none; }
@media (max-width: 700px) {
  #hdr .mk-lang { display: none; }
  .lg-liste {
    position: fixed;
    inset: auto 0 0 0;
    min-width: 0;
    border-radius: var(--r-ilot) var(--r-ilot) 0 0;
    border-inline: 0; border-bottom: 0;
    padding-inline: var(--marge);
    padding-block: var(--v-ligne) calc(var(--v-dedans) + env(safe-area-inset-bottom));
    z-index: 1400;
    animation: monte .3s cubic-bezier(.22,.61,.36,1);
  }
  .lg-poignee {
    display: block;
    width: 38px; height: 4px;
    margin-inline: auto; margin-block: var(--v-ligne) var(--v-ligne);
    border-radius: var(--r-pastille);
    background: var(--bordure);
  }
  @keyframes monte { from { transform: translateY(100%); } }
  .hero-follow { flex-direction: column; gap: var(--v-ligne); }
  .avis-item { width: min(82vw, 300px); }
}
@media (min-width: 1024px) {

  :root { --vign: 196px; }

  .sec { padding-block-start: clamp(40px, 8vh, 88px); }
}
.univers {
  position: relative;

  overflow: clip;
}
@media (prefers-reduced-motion: no-preference) {

  html.js .univers > .sec-hero {
    position: sticky;
    top: 0;
    z-index: 1;

    will-change: filter, transform;
  }
  html.js .univers > .sec-gallery {
    position: relative;
    z-index: 2;

    background: transparent;
  }

  html.js .univers > .sec-gallery > .sec-wrap,
  html.js .defile-apres > .sec-wrap {
    background: color-mix(in srgb, var(--carte) 88%, transparent);
    border: 1px solid var(--carte-bord);
    border-radius: var(--r-ilot);
    padding-inline: clamp(16px, 3vw, 30px);

    padding-block: clamp(18px, 2.2vh, 24px);
    backdrop-filter: blur(14px) saturate(120%);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    box-shadow: 0 30px 80px rgb(0 0 0 / .5);
    max-width: min(1180px, calc(100vw - 2 * var(--marge)));
    margin-inline: auto;

    display: flex;
    flex-direction: column;
  }

  html.js .defile-apres > .sec-wrap { height: var(--case, auto); }
  html.js .univers > .sec-gallery > .sec-wrap > .ilot-gal,
  html.js .defile-apres > .sec-wrap > .ilot {
    flex: 1 1 auto;
    min-height: 0;
  }

  html.js .univers > .sec-gallery > .sec-wrap > .ilot-gal {

    min-height: var(--h-gal-reserve, var(--h-gal));
  }

  html.js .defile-apres .ilot-studio {
    background: none;
    border-color: transparent;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;

    grid-template-rows: minmax(140px, 1fr) auto;
  }
  html.js .defile-apres .ilot-studio::before { display: none; }

  html.js .defile-apres .studio-vue { min-height: 0; height: 100%; }
  html.js .defile-apres .studio-img {
    height: 100%;
    min-height: 140px;
    object-fit: cover;
  }

  html.js .defile-apres .sec-h { font-size: clamp(21px, 4.6vw, 34px); }
  html.js .defile-apres .sec-intro { font-size: clamp(12.5px, 3.3vw, 14.5px); }

  html.js .univers > .sec-gallery .ilot-gal {
    box-shadow: none;
    background: none;
    border-color: transparent;
    border-radius: 0;
  }
  html.js .univers > .sec-gallery .ilot-gal::before { display: none; }

  html.js .univers > .sec-gallery .sec-h {
    font-size: clamp(21px, 4.6vw, 34px);
  }
  html.js .univers > .sec-gallery .sec-intro {
    font-size: clamp(12.5px, 3.3vw, 14.5px);
  }

  html.js .univers > .sec-hero .sec-sep { opacity: 0; pointer-events: none; }
}
@media print {
  #hdr, #mob-nav, #mkLangSuggest, .next-section-arrow,
  .overlay, .saut-contenu, #loadMore { display: none !important; }
  .sec { min-height: 0; page-break-inside: avoid; }
  html.js .sec-wrap > * { opacity: 1; translate: none; rotate: none; scale: none; }
  .soin-collapse, .faq-group-corps { grid-template-rows: 1fr !important; }
  .soin-panneau[hidden] { display: flex !important; }
}
.defile {
  position: relative;

  height: calc(var(--defile-hauteur, 250) * 1svh);
  margin-block-start: calc(var(--defile-avant, 0) * -1svh);
  margin-block-end: calc(var(--defile-apres, 0) * -1svh);

  z-index: 0;
}
.defile-colle {

  position: fixed;
  inset: 0;
  overflow: clip;
  display: grid;
  place-items: center;
  pointer-events: none;

  opacity: var(--defile-scene, 0);

  visibility: hidden;

  background: transparent;

}
.defile[data-scene="1"] > .defile-colle { visibility: visible; }
.defile-colle {
  --defile-bord: 20vh;
  --defile-bord-haut: 30vh;
  -webkit-mask-image: linear-gradient(to bottom,
    transparent 0,
    rgba(0, 0, 0, .08) calc(var(--defile-bord-haut) * .12),
    rgba(0, 0, 0, .22) calc(var(--defile-bord-haut) * .28),
    rgba(0, 0, 0, .45) calc(var(--defile-bord-haut) * .48),
    rgba(0, 0, 0, .7) calc(var(--defile-bord-haut) * .68),
    rgba(0, 0, 0, .9) calc(var(--defile-bord-haut) * .86),
    #000 var(--defile-bord-haut),
    #000 calc(100% - var(--defile-bord)),
    rgba(0, 0, 0, .75) calc(100% - var(--defile-bord) * .7),
    rgba(0, 0, 0, .3) calc(100% - var(--defile-bord) * .4),
    transparent 100%);
  mask-image: linear-gradient(to bottom,
    transparent 0,
    rgba(0, 0, 0, .08) calc(var(--defile-bord-haut) * .12),
    rgba(0, 0, 0, .22) calc(var(--defile-bord-haut) * .28),
    rgba(0, 0, 0, .45) calc(var(--defile-bord-haut) * .48),
    rgba(0, 0, 0, .7) calc(var(--defile-bord-haut) * .68),
    rgba(0, 0, 0, .9) calc(var(--defile-bord-haut) * .86),
    #000 var(--defile-bord-haut),
    #000 calc(100% - var(--defile-bord)),
    rgba(0, 0, 0, .75) calc(100% - var(--defile-bord) * .7),
    rgba(0, 0, 0, .3) calc(100% - var(--defile-bord) * .4),
    transparent 100%);
}
@media (max-width: 1024px) { .defile-colle { --defile-bord: 14vh; --defile-bord-haut: 28vh; } }
.defile-haut,
.defile-haut::before,
.defile-haut::after {
  position: absolute;
  inset: 0 0 auto 0;
  pointer-events: none;
}
.defile-haut {
  height: var(--defile-bord-haut);
  z-index: 1;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 30%, rgba(0, 0, 0, .5) 65%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 30%, rgba(0, 0, 0, .5) 65%, transparent 100%);
}
.defile-haut::before,
.defile-haut::after { content: ''; }
.defile-haut::before {
  height: 70%;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 25%, rgba(0, 0, 0, .45) 60%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 25%, rgba(0, 0, 0, .45) 60%, transparent 100%);
}
.defile-haut::after {
  height: 42%;
  -webkit-backdrop-filter: blur(36px);
  backdrop-filter: blur(36px);
  -webkit-mask-image: linear-gradient(to bottom, #000 0, rgba(0, 0, 0, .55) 50%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, rgba(0, 0, 0, .55) 50%, transparent 100%);
}
.defile-colle::before {
  content: '';
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: var(--defile-pastel-force, 0);

  background: linear-gradient(to bottom,
    var(--defile-pastel, transparent) 0%,
    var(--defile-pastel-2, var(--defile-pastel, transparent)) 100%);
}
html.js .defile-voisine:not(.defile-apres) > .sec-wrap {
  position: relative;
}
html.js .defile-voisine:not(.defile-apres) { position: relative; }
html.js .defile-voisine:not(.defile-apres)::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 100svh;
  z-index: 0;
  pointer-events: none;
  opacity: var(--defile-bas, 0);

  background: linear-gradient(to bottom,
    transparent 0%,
    var(--defile-pastel, transparent) 100%);

  -webkit-backdrop-filter: blur(calc(var(--defile-bas, 0) * 7px));
  backdrop-filter: blur(calc(var(--defile-bas, 0) * 7px));

  -webkit-mask-image: linear-gradient(to bottom,
    transparent 0%,
    #000 calc(var(--defile-raccord-haut, 70) * 1%),
    #000 calc(var(--defile-raccord-bas, 78) * 1%),
    transparent 100%);
  mask-image: linear-gradient(to bottom,
    transparent 0%,
    #000 calc(var(--defile-raccord-haut, 70) * 1%),
    #000 calc(var(--defile-raccord-bas, 78) * 1%),
    transparent 100%);
  border-end-start-radius: var(--r-ilot);
  border-end-end-radius: var(--r-ilot);
}
.defile-fondu {
  grid-area: 1 / 1;

  opacity: var(--defile-voile-fond, var(--defile-voile, 1));
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: blur(var(--defile-perdu, 48px))
          brightness(var(--defile-lum-fond, var(--defile-lum, 1)))
          saturate(118%);

  -webkit-mask-image: linear-gradient(to bottom,
    transparent 0%, #000 24%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom,
    transparent 0%, #000 24%, #000 88%, transparent 100%);
  transform: scale(1.18);

  pointer-events: none;
}
.defile-toile {
  grid-area: 1 / 1;
  opacity: var(--defile-voile, 1);
  width: auto;
  height: auto;
  max-width: calc(100% * var(--defile-vue, 1));
  max-height: calc(100% * var(--defile-vue, 1));
  object-fit: contain;
  display: block;

  filter: brightness(var(--defile-lum, 1)) blur(var(--defile-flou, 0px));
  transform: scale(var(--defile-zoom, 1));

  -webkit-mask-image: linear-gradient(to bottom,
    transparent 0, #000 var(--defile-masque, 8%),
    #000 calc(100% - var(--defile-masque, 8%)), transparent 100%);
  mask-image: linear-gradient(to bottom,
    transparent 0, #000 var(--defile-masque, 8%),
    #000 calc(100% - var(--defile-masque, 8%)), transparent 100%);

  will-change: filter, transform;
}
@media (prefers-reduced-motion: reduce) {

  .defile {
    height: 100svh;
    margin-block-start: 0;
    margin-block-end: 0;
  }
  .defile-toile { filter: none; transform: none; }

  .defile-colle { visibility: visible; opacity: 1; }
}
.defile-voisine { position: relative; z-index: 1; }
@media (prefers-reduced-motion: no-preference) {
  .defile-apres[data-arrive="0"] > * {
    opacity: 0;
    transform: translate3d(0, 72px, 0);
  }
  .defile-apres > * {
    transition: opacity .78s var(--e-entree, cubic-bezier(.22,.61,.36,1)),
                transform .78s var(--e-entree, cubic-bezier(.22,.61,.36,1));
  }
}
.btn, .btn-sec, .cta, .cta-hero, .sbtn, .nb, .lg-bouton, .lg-lien,
.next-section-arrow, .hero-reviews, .sty-card, .upload-zone, .g-open,
.ilot, .carte, .faq-q, .avis-carte {
  transition: box-shadow var(--d-survol, 280ms) var(--e-entree, ease),
              border-color var(--d-survol, 280ms) var(--e-entree, ease),
              background-color var(--d-survol, 280ms) var(--e-entree, ease);
}
@media (hover: hover) and (pointer: fine) {
  .btn:hover, .btn-sec:hover, .cta:hover, .cta-hero:hover, .sbtn:hover,
  .nb:hover, .lg-bouton:hover, .lg-lien:hover,
  .next-section-arrow:hover, .hero-reviews:hover, .sty-card:has(.sty-voir):hover,
  .upload-zone:hover, .g-open:hover, .faq-q:hover, .avis-carte:hover {
    box-shadow: var(--survol-halo), var(--survol-dedans);
    border-color: var(--survol-trait);
  }
}
.btn:focus-visible, .btn-sec:focus-visible, .cta:focus-visible,
.cta-hero:focus-visible, .sbtn:focus-visible, .nb:focus-visible,
.lg-bouton:focus-visible, .lg-lien:focus-visible,
.next-section-arrow:focus-visible, .hero-reviews:focus-visible,
.sty-card:focus-visible, .upload-zone:focus-visible, .g-open:focus-visible,
.faq-q:focus-visible, .avis-carte:focus-visible {
  box-shadow: var(--survol-halo), var(--survol-dedans);
  border-color: var(--survol-trait);
}
@media (prefers-reduced-motion: reduce) {
  .btn, .btn-sec, .cta, .cta-hero, .sbtn, .nb, .lg-bouton, .lg-lien,
  .next-section-arrow, .hero-reviews, .sty-card, .upload-zone, .g-open,
  .ilot, .carte, .faq-q, .avis-carte { transition: none; }
}
:root {
  --lueur-case: 24%;
  --lueur-coin: 14%;
  --lueur-carte: 16%;
}
:where(.sec) .ilot:not(.ilot-gal) {
  background-image:
    radial-gradient(65% 300px at 0% 0%,
      color-mix(in srgb, var(--ac, var(--or-texte)) var(--lueur-case), transparent), transparent 72%),
    radial-gradient(50% 260px at 100% 0%,
      color-mix(in srgb, var(--bloc-8) var(--lueur-coin), transparent), transparent 72%);
}
:where(.sec) :is(.sty-card, .st-item, .soin-card, .avis-item, .faq-group, .faq-item) {
  background-image:
    linear-gradient(180deg, var(--carte-bord) 0 1px, transparent 1px),
    radial-gradient(70% 140px at 0% 0%,
      color-mix(in srgb, var(--ac, var(--or-texte)) var(--lueur-carte), transparent), transparent 75%);
}
@media (prefers-reduced-motion: no-preference) {
  html.js .univers > .sec-gallery > .sec-wrap,
  html.js .defile-apres > .sec-wrap {
    background-image:
      radial-gradient(65% 300px at 0% 0%,
        color-mix(in srgb, var(--ac, var(--or-texte)) var(--lueur-case), transparent), transparent 72%),
      radial-gradient(50% 260px at 100% 0%,
        color-mix(in srgb, var(--bloc-8) var(--lueur-coin), transparent), transparent 72%);
  }
}
.sec[style*="--ac"] {
  --survol-halo: 0 10px 30px -8px color-mix(in srgb, var(--ac, var(--or-texte)) 34%, transparent),
                 0 0 0 1px color-mix(in srgb, var(--ac, var(--or-texte)) 28%, transparent);
  --survol-dedans: inset 0 -40px 44px -40px color-mix(in srgb, var(--ac, var(--or-texte)) 30%, transparent);
  --survol-trait: color-mix(in srgb, var(--ac, var(--or-texte)) 50%, transparent);
}
.pied {

  padding-inline: var(--marge);

  padding-block-start: var(--v-ilot);
  padding-block-end: var(--v-ilot);
}
@media (max-width: 520px) {
  .pied { padding-block-start: var(--v-ligne); padding-block-end: var(--v-ligne); }
}
.pied-ilot {
  max-width: var(--l-barre, 1400px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;

  gap: var(--v-groupe);
  background: var(--carte);
  border: 1px solid var(--carte-bord);
  border-radius: var(--r-ilot);

  padding-inline: var(--pad-ilot);
  padding-block-start: calc(var(--pad-ilot) * 1.4);
  padding-block-end: calc(var(--pad-ilot) * 1.4);

  box-shadow: var(--ombre-toile);
  text-align: center;
}
.pied-ilot::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: 0;
  height: 1px;
  background: var(--degrade-or);
  opacity: .55;
  border-start-start-radius: var(--r-ilot);
  border-start-end-radius: var(--r-ilot);
}
.pied-ilot { position: relative; overflow: clip; }
.pied-logo { display: block; line-height: 0; }
.pied-logo img { width: min(58vw, 210px); height: auto; }
.pied-logo { min-height: var(--cible-tactile); }
.pied-ilot > .pied-lieu,
.pied-ilot > .pied-reseaux {
  margin-block-start: calc(var(--v-ligne) - var(--v-groupe));
}
.pied-lieu {
  margin: 0;
  font-size: 12px; font-weight: 500;
  letter-spacing: .22em; text-transform: uppercase;
  line-height: 1;
  color: var(--texte-2);
}
.pied-liens {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  column-gap: 6px;
  row-gap: 0;

  max-width: 640px;
}
.pied-liens a {

  display: inline-flex;
  align-items: center;
  min-height: var(--cible-tactile);

  padding-inline: 4px;
  font-size: var(--t-mini); font-weight: 600;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--texte-2);
  border-radius: var(--r-bouton);
  transition: color .2s ease;
}
.pied-liens a:hover { color: var(--or-texte); }
.pied-suivre {
  margin: 0;
  font-size: var(--t-mini); font-weight: 700;
  letter-spacing: .3em; text-transform: uppercase;
  line-height: 1;
  color: var(--texte-2);
  opacity: .85;
}
.pied-espace, .pied-outil { margin: 0; }
.pied-espace a, .pied-outil a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--cible-tactile); padding-inline: 12px;
  font-size: var(--t-mini); font-weight: 600; letter-spacing: .10em;
  color: var(--or-texte); text-decoration: none;
}
.pied-espace a:hover, .pied-espace a:focus-visible,
.pied-outil a:hover, .pied-outil a:focus-visible { text-decoration: underline; }
.pied-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

  gap: var(--v-ligne);
}
.pied-legal a {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--cible-tactile); padding-inline: 8px;
  font-size: var(--t-mini); font-weight: 600; letter-spacing: .07em;
  color: var(--texte-2); text-decoration: none;
}
.pied-legal a:hover, .pied-legal a:focus-visible { text-decoration: underline; }
.pied-reseaux { display: flex; justify-content: center; gap: var(--v-ligne); }
.pied-reseaux .sbtn { width: var(--cible-tactile); height: var(--cible-tactile); }
.pied-reseaux .sbtn .ic { width: 20px; height: 20px; }
.pied-cta { min-height: var(--cible-tactile); padding-inline: 26px; }
.pied-marque {
  margin: 0;
  font-size: var(--t-mini);
  letter-spacing: .1em;
  line-height: 1;
  color: var(--texte-2);
  opacity: .6;
}
.sec-wrap > .lettre-ilot,
.lettre-ilot {
    display: flex;
    flex-direction: column;
    gap: 10px;

    inline-size: min(680px, 100%);
    margin-inline: auto;
    margin-block-start: var(--v-groupe, 14px);
    text-align: start;
}
.lettre-titre {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-family: var(--police-titres);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--texte);
}
.lettre-titre .ic {
    flex: none;
    inline-size: 34px;
    block-size: 34px;
    padding: 8px;
    border-radius: var(--r-ligne);
    color: var(--ac, var(--or-texte));
    background: var(--fond-2);
    border: 1px solid var(--carte-bord);
}
.lettre-champs {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px;
    padding-inline-start: 14px;
    background: var(--fond-2);
    border: 1px solid var(--carte-bord);
    border-radius: var(--r-bouton);
}
.lettre-champs:focus-within {
    border-color: var(--or-texte);
    box-shadow: 0 0 0 3px var(--voile-or);
}
.lettre-champ {
    flex: 1 1 auto;
    min-inline-size: 0;
    min-block-size: 44px;
    padding: 0;
    font: inherit;
    font-size: 16px;
    color: var(--texte);
    background: transparent;
    border: 0;
    outline: none;
}
.lettre-champ::placeholder { color: var(--texte-2); opacity: 1; }
.lettre-ok {
    flex: none;
    min-block-size: 44px;
    margin: 0;
}
.lettre-etat {
    margin: 0;
    min-block-size: 18px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--or);
}
.lettre-etat[data-mal] { color: var(--rouge-texte); }
@keyframes gal-fx-filtre {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.g-item.fx-filtre {
  animation: gal-fx-filtre .26s ease-out backwards;

  animation-delay: calc(var(--fx-rang, 0) * 26ms);
}
.nb:hover,
.nb:focus-visible {
  box-shadow: var(--survol-halo);
}
.nb { transition: box-shadow .22s ease; }
@media (prefers-reduced-motion: reduce) {
  .g-item.fx-filtre { animation: none; }
  .nb { transition: none; }
}
.sur-brouillon { display: none !important; }
html[data-brouillon] .hdr-compte.sur-brouillon { display: flex !important; }
html[data-brouillon] .mob-compte.sur-brouillon { display: flex !important; }
html[data-brouillon] .mn-compte.sur-brouillon { display: inline-flex !important; }
html[data-brouillon] .mn-compte-b.sur-brouillon { display: flex !important; }
.hdr-compte .ic { width: 19px; height: 19px; }
.mob-compte .ic { width: 20px; height: 20px; }
.annonce-site {
  position: fixed;
  z-index: 40;
  inset-inline: 0;
  margin-inline: auto;
  inset-block-start: calc(var(--v-barre, 12px) + var(--h-menu, 56px) + 8px);
  inline-size: min(calc(100% - 2 * var(--marge, 16px)), var(--l-barre, 1100px));
  display: flex;
  align-items: center;
  gap: 10px;
  min-block-size: 48px;
  padding: 0 4px 0 16px;
  border-radius: 12px;
  border: .5px solid var(--carte-bord);
  background: var(--carte);
  box-shadow: 0 12px 30px -16px rgba(0, 0, 0, .7);
  overflow: hidden;
  color: var(--texte-2);
  font: 400 var(--t-secondaire)/1.4 var(--police-corps);
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity .26s ease, transform .26s cubic-bezier(.2, .8, .2, 1);
}
.annonce-site::after { content: ''; position: absolute; inset: auto 0 0 0; block-size: 2px; background: var(--degrade-or, linear-gradient(90deg, #FF2E4D, #E5308C)); }
.annonce-site.annonce-site-la { opacity: 1; transform: none; }
.annonce-site img { display: none; }
.annonce-site p { margin: 0; flex: 1; min-inline-size: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.annonce-site b { display: inline; color: var(--texte); font-weight: 600; font-size: 15px; margin-inline-end: 8px; }
@media (max-width: 767px) { .annonce-site-p { display: none; } }
.annonce-site-x {
  display: grid; place-items: center; flex: none; inline-size: 44px; block-size: 44px;
  border: 0; border-radius: 999px; background: none; color: var(--texte-2); cursor: pointer;
}
.annonce-site-x:hover, .annonce-site-x:focus-visible { color: var(--texte); background: rgba(255, 255, 255, .06); }
@media (prefers-reduced-motion: reduce) { .annonce-site { transition: none; transform: none; } }
.gavis { display: flex; flex-direction: column; gap: var(--v-groupe); margin-top: var(--v-groupe); }
.gavis-tete { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.gavis-note { font-family: var(--police-titres); font-size: 34px; line-height: 1; font-variant-numeric: tabular-nums; }
.gavis-dt { display: inline-flex; flex-direction: column; gap: 2px; color: var(--texte-2); font-size: var(--t-secondaire); }
.gavis-dt .ic { width: 15px; height: 15px; }
.gavis-par { margin-inline-start: auto; font-size: var(--t-nom); font-weight: 600; white-space: nowrap; }
.gavis-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--v-ligne); }
.gavis-carte {
  display: flex; flex-direction: column; gap: var(--v-texte); min-width: 0;
  background: var(--fond-2); border: 1px solid var(--bordure); border-radius: var(--r-carte);
  padding-inline: var(--pad-ilot); padding-block: var(--pad-ilot);
}
.gavis-qui { display: flex; align-items: center; gap: 10px; min-width: 0; }
.gavis-auteur { font-size: var(--t-nom); font-weight: 600; color: var(--texte); min-width: 0; overflow-wrap: anywhere; }
a.gavis-auteur { text-decoration: none; }
a.gavis-auteur:hover { text-decoration: underline; }
.gavis-qui .etoiles { margin-inline-start: auto; }
.gavis-quand { color: var(--texte-2); font-size: var(--t-mini); }
.gavis-voir { align-self: flex-start; }
@media (max-width: 520px) { .gavis-par { margin-inline-start: 0; flex-basis: 100%; } }
.accord {
  inline-size: min(440px, calc(100vw - 32px)); max-inline-size: none; max-block-size: calc(100dvh - 32px);
  margin: auto; padding: 0; border: 0; background: transparent; color: var(--texte); overflow: visible;
}
.accord::backdrop { background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.accord-carte {
  display: grid; gap: 14px; padding: 24px 22px 20px; border-radius: var(--r-carte);
  background: var(--carte); border: 1px solid var(--carte-bord); box-shadow: 0 24px 60px rgba(0, 0, 0, .55);
  max-block-size: calc(100dvh - 32px); overflow: auto;
}
.accord-titre { margin: 0; font-family: var(--police-titres); font-size: var(--t-carte); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
.accord-texte { margin: 0; font-size: var(--t-secondaire); line-height: 1.45; color: var(--texte-2); }
.accord-docs { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.accord-docs a {
  display: inline-flex; align-items: center; min-block-size: 44px; font-size: var(--t-secondaire);
  color: var(--or-texte); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.accord-docs a:focus-visible, .accord-b:focus-visible, .accord-revoir:focus-visible { outline: 2px solid var(--or-texte); outline-offset: 2px; }
.accord-actions { display: grid; gap: 10px; margin-block-start: 4px; }
.accord-actions.accord-deux { grid-template-columns: 1fr 1fr; }
.accord-b { inline-size: 100%; }
.accord-sonde { position: absolute; inline-size: 0; block-size: 0; overflow: hidden; pointer-events: none; }
.accord-revoir {
  padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer;
  text-decoration: underline; text-underline-offset: 3px;
}
.accord[open] { animation: accord-arrive .32s cubic-bezier(.2, .8, .2, 1) both; }
.accord[open]::backdrop { animation: accord-voile .32s ease both; }
@keyframes accord-arrive { from { opacity: 0; transform: translateY(12px) scale(.98); } }
@keyframes accord-voile { from { opacity: 0; } }
@media (max-width: 599px) {
  .accord { margin-block: auto 16px; margin-block-end: max(16px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .accord[open], .accord[open]::backdrop { animation: none; }
}
html.accord-ouvert .annonce-site, html.accord-ouvert [data-annonce], html.accord-ouvert .anf { visibility: hidden !important; }
.accord-titre:focus { outline: none; }
.ck {

  position: fixed; z-index: 1400; display: grid; gap: 10px; padding: 16px; color: var(--texte);
  background: rgba(28, 28, 30, .94); -webkit-backdrop-filter: blur(20px) saturate(1.4); backdrop-filter: blur(20px) saturate(1.4);
  box-shadow: 0 0 0 .5px rgba(255, 255, 255, .12) inset, 0 20px 50px rgba(0, 0, 0, .5);
  opacity: 0; transform: translateY(16px); transition: opacity .35s ease, transform .45s cubic-bezier(.2, .8, .2, 1);
}
.ck[hidden] { display: none; }
.ck:focus { outline: none; }
.ck.ck-on { opacity: 1; transform: none; }
.ck-txt { display: grid; gap: 6px; min-inline-size: 0; }
.ck-t { margin: 0; display: flex; align-items: center; gap: 8px; font-family: var(--police-titres); font-size: var(--t-secondaire); font-weight: 700; line-height: 1.25; }
.ck-t svg { inline-size: 18px; block-size: 18px; flex-shrink: 0; color: var(--rouge); }
.ck-p { margin: 0; font-size: var(--t-petit); line-height: 1.45; color: var(--texte-2); }
.ck-p a, .ck-petit a { color: var(--texte); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.ck-bs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ck-b {
  min-block-size: var(--cible-tactile); padding: 0 16px; border: 0; border-radius: 12px; cursor: pointer;
  font: inherit; font-size: var(--t-bouton); font-weight: 600; color: var(--texte); background: #3A3A3C; white-space: nowrap;
}
.ck-b:hover { background: #48484A; }
.ck-b:focus-visible, .ck-perso:focus-visible, .ck-reg:focus-visible, .ck-rond:focus-visible, .ck-inter:focus-visible,
.ck-p a:focus-visible, .ck-petit a:focus-visible { outline: 2px solid var(--or-texte); outline-offset: 2px; }
.ck-perso {
  justify-self: center; min-block-size: 32px; padding: 2px 8px; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: var(--t-petit); font-weight: 600; color: var(--texte-2); text-decoration: underline; text-underline-offset: 3px;
}
.ck-reg { display: none; place-items: center; inline-size: 34px; block-size: 34px; padding: 0; border: 0; border-radius: 50%; background: #3A3A3C; color: var(--texte); cursor: pointer; }
.ck-reg svg { inline-size: 15px; block-size: 15px; }
.ck-barre { inset-inline: 10px; inset-block-end: max(10px, env(safe-area-inset-bottom)); border-radius: 20px; }
.ck-coin {
  inset-inline: 8px; inset-block-end: max(8px, env(safe-area-inset-bottom)); border-radius: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 10px 10px 10px 14px;
}
.ck-coin .ck-txt { grid-column: 1 / -1; }
.ck-coin .ck-p { font-size: var(--t-mini); line-height: 1.4; }
.ck-coin .ck-t { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ck-coin .ck-bs { display: contents; }
.ck-coin .ck-b { min-block-size: 40px; padding: 0 10px; font-size: var(--t-petit); }
.ck-coin .ck-perso { min-block-size: 40px; padding: 0 4px; }
.ck-centre {
  z-index: 2147483100; inset-inline-start: 50%; inset-block-start: 50%; inline-size: min(340px, calc(100vw - 32px)); border-radius: 22px;
  padding: 22px 18px 16px; text-align: center; transform: translate(-50%, -46%) scale(.97);
}
.ck-centre.ck-on { transform: translate(-50%, -50%); }
.ck-centre .ck-t { justify-content: center; flex-direction: column; font-size: var(--t-nom); }
.ck-centre .ck-t svg { inline-size: 30px; block-size: 30px; }
.ck-centre .ck-bs { grid-template-columns: 1fr; }
.ck-voile {
  position: fixed; inset: 0; z-index: 2147483099; background: rgba(0, 0, 0, .4);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); animation: ck-voile .3s ease both;
}
.ck-voile[hidden] { display: none; }
@keyframes ck-voile { from { opacity: 0; } }
.ck-haut { inset-inline: 0; inset-block-start: 0; border-radius: 0 0 18px 18px; padding-block-start: max(16px, env(safe-area-inset-top)); transform: translateY(-16px); }
.ck-pastille {
  inset-inline: 10px; inset-block-end: max(10px, env(safe-area-inset-bottom)); border-radius: 20px;
  grid-template-columns: 1fr 1fr auto; align-items: center; padding: 12px; gap: 8px;
}
.ck-pastille .ck-txt { grid-column: 1 / -1; }
.ck-pastille .ck-t, .ck-pastille .ck-perso { display: none; }
.ck-pastille .ck-p { font-size: var(--t-mini); }
.ck-pastille .ck-bs { display: contents; }
.ck-pastille .ck-b { min-block-size: 36px; border-radius: 999px; padding: 0 10px; font-size: var(--t-petit); }
.ck-pastille .ck-reg { display: grid; }
html[data-mn-bas] .ck-barre, html[data-mn-bas] .ck-coin, html[data-mn-bas] .ck-pastille { inset-block-end: calc(84px + env(safe-area-inset-bottom)); }
@media (min-width: 900px) {
  .ck-barre {
    inset-inline: auto; inset-inline-start: 50%; inline-size: min(760px, 92vw); transform: translate(-50%, 16px);
    grid-template-columns: 1fr auto; align-items: center; column-gap: 18px;
  }
  .ck-barre.ck-on { transform: translate(-50%, 0); }
  .ck-barre .ck-txt, .ck-haut .ck-txt { grid-row: span 2; }
  .ck-barre .ck-bs, .ck-haut .ck-bs { grid-template-columns: auto auto; }
  .ck-coin {
    inset-inline: 16px auto; inset-block-end: 16px; inline-size: 340px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 14px; gap: 10px;
  }
  .ck-coin .ck-t { position: static; inline-size: auto; block-size: auto; overflow: visible; clip-path: none; }
  .ck-coin .ck-perso { grid-column: 1 / -1; min-block-size: 28px; }
  .ck-coin .ck-p { font-size: var(--t-petit); line-height: 1.45; }
  .ck-haut { grid-template-columns: 1fr auto; align-items: center; column-gap: 18px; padding: 14px max(24px, calc((100vw - 1100px) / 2)); }
  .ck-pastille {
    inset-inline: 16px auto; inset-block-end: 16px; inline-size: auto; max-inline-size: 600px; border-radius: 999px;
    grid-template-columns: minmax(0, 1fr) auto auto auto; padding: 8px 8px 8px 18px; gap: 6px;
  }
  .ck-pastille .ck-txt { grid-column: auto; }
  .ck-pastille .ck-p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
}
.ck-pop {
  inline-size: min(420px, calc(100vw - 24px)); max-inline-size: none; max-block-size: calc(100dvh - 24px);
  margin: auto; padding: 0; border: 0; background: transparent; color: var(--texte); overflow: visible;
}
.ck-pop::backdrop { background: rgba(0, 0, 0, .45); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ck-pop[open] { animation: accord-arrive .3s cubic-bezier(.2, .8, .2, 1) both; }
.ck-pop[open]::backdrop { animation: accord-voile .3s ease both; }
.ck-pc {
  display: grid; gap: 12px; padding: 6px 14px 14px; border-radius: 22px; background: var(--carte);
  box-shadow: 0 0 0 .5px rgba(255, 255, 255, .1) inset, 0 24px 60px rgba(0, 0, 0, .55); max-block-size: calc(100dvh - 24px); overflow: auto;
}
.ck-ph { display: flex; align-items: center; padding-block-start: 10px; }
.ck-ph-t { margin: 0; flex: 1; text-align: center; font-family: var(--police-titres); font-size: var(--t-nom); font-weight: 700; }
.ck-rond { inline-size: 30px; block-size: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #3A3A3C; color: var(--texte-2); cursor: pointer; }
.ck-rond svg { inline-size: 12px; block-size: 12px; }
.ck-inv { visibility: hidden; }
.ck-gr { background: var(--fond-2); border-radius: 14px; overflow: hidden; }
.ck-rg { display: flex; align-items: center; gap: 12px; padding: 11px 14px; min-block-size: 52px; }
.ck-rg + .ck-rg { box-shadow: 0 -.5px 0 rgba(84, 84, 88, .55); }
.ck-k { flex: 1; min-inline-size: 0; font-size: var(--t-secondaire); line-height: 1.3; }
.ck-k small { display: block; margin-block-start: 2px; font-size: var(--t-mini); line-height: 1.35; color: var(--texte-2); }
.ck-inter { position: relative; inline-size: 51px; block-size: 31px; flex-shrink: 0; padding: 0; border: 0; border-radius: 999px; background: #39393D; cursor: pointer; transition: background .2s; }
.ck-inter::after { content: ""; position: absolute; inset-block-start: 2px; inset-inline-start: 2px; inline-size: 27px; block-size: 27px; border-radius: 50%; background: #fff; box-shadow: 0 2px 4px rgba(0, 0, 0, .3); transition: transform .2s; }
.ck-inter[aria-checked="true"] { background: var(--signal-ouvert); }
.ck-inter[aria-checked="true"]::after { transform: translateX(20px); }
.ck-petit { margin: -2px 4px 0; font-size: var(--t-mini); line-height: 1.4; color: var(--texte-2); }
.ck-merci {
  position: fixed; z-index: 2147483101; inset-inline-start: 50%; inset-block-end: max(16px, env(safe-area-inset-bottom)); margin: 0;
  padding: 8px 14px; border-radius: 999px; background: rgba(44, 44, 46, .96); color: var(--texte); font-size: var(--t-petit); font-weight: 600;
  white-space: nowrap; pointer-events: none; opacity: 0; transform: translate(-50%, 10px); transition: opacity .25s, transform .25s;
}
.ck-merci.ck-on { opacity: 1; transform: translate(-50%, 0); }
.ck-tiers { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; inline-size: 100%; border-radius: var(--r-ilot); overflow: hidden; background: var(--fond-2); }
.ck-tiers-in { display: grid; justify-items: center; gap: 10px; padding: 18px; text-align: center; max-inline-size: 320px; }
.ck-tiers-in svg { inline-size: 26px; block-size: 26px; color: var(--texte-2); }
.ck-tiers-in p { margin: 0; font-size: var(--t-petit); line-height: 1.4; color: var(--texte-2); }
.ck-tiers iframe { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; }
.lieu-carte { margin-block-start: 14px; }
html.ck-ouvert .annonce-site, html.ck-ouvert .anf { visibility: hidden !important; }
@media (max-width: 899px) {
  html.ck-ouvert .mkb { inset-block-end: calc(var(--ck-h, 0px) + 16px); }
  html.ck-ouvert .mkb-aguiche { visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .ck, .ck-merci, .ck-inter, .ck-inter::after { transition: none; }
  .ck-voile, .ck-pop[open], .ck-pop[open]::backdrop { animation: none; }
}
.anf {
  --anf-carte: var(--carte, #1C1C1E);
  --anf-bord: var(--carte-bord, rgba(255, 255, 255, .1));
  --anf-texte: var(--texte, #F6F4F1);
  --anf-texte-2: var(--texte-2, #A5A5AC);
  --anf-ac: var(--rouge, #E02844);
  --anf-degrade: var(--degrade-or, linear-gradient(135deg, #E02844 0%, #D52D82 52%, #7A2B57 100%));
  --anf-courbe: cubic-bezier(.2, .8, .2, 1);
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: 16px;
  container: anf / inline-size;
  font: 400 15px/1.45 var(--police-corps, -apple-system, BlinkMacSystemFont, Inter, system-ui, sans-serif);
  color: var(--anf-texte-2);
  pointer-events: none;
}
.anf[data-apercu] { position: absolute; z-index: 1; }
.anf-voile {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .58);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity .32s ease;
  pointer-events: auto;
}
.anf-boite {
  position: relative;
  inline-size: min(440px, 100%);
  max-block-size: calc(100% - 8px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  border: 1px solid var(--anf-bord);
  background: var(--anf-carte);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .6), 0 0 40px -18px var(--anf-ac);
  color: var(--anf-texte-2);
  opacity: 0;
  transform: translateY(16px) scale(.97);
  transition: opacity .32s ease, transform .42s var(--anf-courbe);
  pointer-events: auto;
  outline: none;
}
.anf-boite::-webkit-scrollbar { display: none; }
.anf.anf-la .anf-voile { opacity: 1; }
.anf.anf-la .anf-boite { opacity: 1; transform: none; }
.anf.anf-part .anf-voile { opacity: 0; transition-duration: .2s; }
.anf.anf-part .anf-boite { opacity: 0; transform: translateY(10px) scale(.98); transition-duration: .2s; }
.anf-c { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 22px; min-inline-size: 0; }
.anf-sur {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--anf-ac);
}
.anf-t {
  margin: 0;
  font: 650 22px/1.2 var(--police-titres, -apple-system, BlinkMacSystemFont, Inter, system-ui, sans-serif);
  letter-spacing: -.01em;
  color: var(--anf-texte);
  overflow-wrap: anywhere;
  padding-inline-end: 34px;
}
.anf-p { margin: 0; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-line; }
.anf-act { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 10px; }
.anf-b {
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 48px;
  padding: 0 22px;
  border-radius: 999px;
  border: 0;
  font: 600 16px/1 inherit;
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s var(--anf-courbe), box-shadow .25s ease, background .2s;
}
.anf-b1 { background: var(--anf-degrade); color: #fff; box-shadow: 0 0 0 0 transparent; }
.anf-b1:hover, .anf-b1:focus-visible { box-shadow: var(--neon, 0 0 24px rgba(224, 40, 68, .35)); }
.anf-b2 { background: rgba(255, 255, 255, .08); color: var(--anf-texte); }
.anf-b2:hover, .anf-b2:focus-visible { background: rgba(255, 255, 255, .14); }
.anf-b:active { transform: scale(.97); }
.anf-b:focus-visible, .anf-ferme:focus-visible { outline: 2px solid var(--anf-texte); outline-offset: 2px; }
.anf-ferme {
  position: absolute;
  z-index: 2;
  inset-block-start: 8px;
  inset-inline-end: 8px;
  display: grid;
  place-items: center;
  inline-size: 44px;
  block-size: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, .35);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--anf-texte);
  cursor: pointer;
  transition: background .2s;
}
.anf-ferme:hover { background: rgba(0, 0, 0, .55); }
.anf-img { margin: 0; overflow: hidden; aspect-ratio: 16 / 9; background: rgba(255, 255, 255, .04); flex: none; }
.anf-img img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; transform: scale(1.04); transition: transform .9s var(--anf-courbe); }
.anf.anf-la .anf-img img { transform: none; }
.anf-ic {
  display: grid; place-items: center; inline-size: 44px; block-size: 44px; flex: none;
  border-radius: 12px; color: var(--anf-ac); margin: 18px 0 0 20px;
  background: color-mix(in srgb, var(--anf-ac) 16%, transparent);
}
.anf-date {
  flex: none; display: flex; align-items: baseline; gap: 6px; align-self: flex-start;
  margin: 18px 0 0 20px; padding: 6px 12px; border-radius: 10px; color: #fff; background: var(--anf-degrade); text-transform: uppercase;
}
.anf-date b { font: 700 22px/1 var(--police-titres, inherit); letter-spacing: -.02em; }
.anf-date span { font-size: 12px; font-weight: 600; letter-spacing: .08em; }
.anf[data-modele="promotion"] .anf-sur {
  font: 800 clamp(30px, 9cqi, 44px)/1 var(--police-titres, inherit); letter-spacing: -.03em; text-transform: none;
  background: var(--anf-degrade); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.anf[data-modele="disponibilite"] .anf-sur { color: var(--vert-texte, #34C759); }
.anf-point {
  inline-size: 9px; block-size: 9px; border-radius: 50%; background: var(--vert, #34C759); flex: none;
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--vert, #34C759) 60%, transparent);
  animation: anf-souffle 2.2s ease-out infinite;
}
@keyframes anf-souffle { 0% { box-shadow: 0 0 0 0 rgba(52, 199, 89, .55); } 70%, 100% { box-shadow: 0 0 0 10px rgba(52, 199, 89, 0); } }
.anf-tuile {
  display: grid; place-items: center; flex: none; inline-size: 36px; block-size: 36px; border-radius: 10px;
  color: var(--anf-or); background: color-mix(in srgb, var(--anf-or) 15%, transparent);
}
.anf {
  --anf-case: var(--carte-2, #1A1A1D);
  --anf-fond: var(--carte, #0E0E10);
  --anf-trait: var(--carte-bord, #26262A);
  --anf-ivoire: var(--or, #E4DACA);
  --anf-or: #E8D48A;
  --anf-haut: calc(var(--v-barre, 12px) + var(--h-menu, 56px) + 8px);
}
.anf[data-theme="maison"] .anf-voile { background: rgba(0, 0, 0, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.anf[data-theme="maison"] .anf-boite {
  inline-size: min(460px, 100%); border-radius: 14px; border: .5px solid var(--anf-trait); background: var(--anf-case);
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .9); display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start;
  padding: 14px; gap: 12px;
}
.anf[data-theme="maison"] .anf-img { grid-column: 1 / -1; border-radius: 10px; }
.anf[data-theme="maison"] .anf-ic, .anf[data-theme="maison"] .anf-date { margin: 0; }
.anf[data-theme="maison"] .anf-c { padding: 6px 0 0; gap: 6px; }
.anf[data-theme="maison"] .anf-boite:not(:has(.anf-tuile, .anf-ic, .anf-date)) .anf-c { grid-column: 1 / -1; }
.anf[data-theme="maison"] .anf-t { font-size: 19px; font-weight: 600; }
.anf[data-theme="maison"] .anf-b1 { background: var(--anf-ivoire); color: #151515; min-block-size: 50px; flex: 0 1 auto; }
.anf[data-theme="maison"] .anf-b1:hover, .anf[data-theme="maison"] .anf-b1:focus-visible { box-shadow: none; filter: brightness(1.05); }
.anf[data-theme="maison"] .anf-ferme { background: rgba(255, 255, 255, .08); }
.anf[data-theme="bandeau"] { place-items: start center; padding: var(--anf-haut) var(--marge, 16px) 0; }
.anf[data-theme="bandeau"] .anf-boite {
  inline-size: min(100%, var(--l-barre, 1100px)); flex-direction: row; align-items: center; min-block-size: 48px;
  padding: 0 48px 0 16px; border-radius: 12px; border: .5px solid var(--anf-trait); background: var(--anf-fond);
  box-shadow: 0 12px 30px -16px rgba(0, 0, 0, .7); overflow: hidden; transform: translateY(-12px);
}
.anf[data-theme="bandeau"] .anf-boite::after { content: ''; position: absolute; inset: auto 0 0 0; block-size: 2px; background: var(--anf-degrade); }
.anf[data-theme="bandeau"] .anf-img, .anf[data-theme="bandeau"] .anf-sur, .anf[data-theme="bandeau"] .anf-p, .anf[data-theme="bandeau"] .anf-b2 { display: none; }
.anf[data-theme="bandeau"] .anf-c { flex-direction: row; align-items: center; gap: 10px; padding: 0; flex: 1; }
.anf[data-theme="bandeau"] .anf-t { font-size: 15px; font-weight: 600; padding: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 0 1 auto; min-inline-size: 0; }
.anf[data-theme="bandeau"] .anf-act { margin: 0 0 0 auto; flex-wrap: nowrap; }
.anf[data-theme="bandeau"] .anf-b1 { background: none; color: var(--anf-ivoire); min-block-size: 44px; padding: 0 4px; white-space: nowrap; }
.anf[data-theme="bandeau"] .anf-b1::after { content: ' ›'; white-space: pre; }
.anf[data-theme="bandeau"] .anf-ferme { inset-block-start: 50%; transform: translateY(-50%); inset-inline-end: 2px; background: none; }
.anf[data-theme="carte"] { place-items: end end; padding: 16px; }
.anf[data-theme="carte"] .anf-boite {
  inline-size: min(400px, 100%); display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; padding: 12px;
  border-radius: 18px; border: .5px solid var(--anf-trait); background: var(--anf-fond); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .85);
}
.anf[data-theme="carte"] .anf-img, .anf[data-theme="carte"] .anf-tuile { inline-size: 72px; block-size: 72px; aspect-ratio: auto; border-radius: 12px; }
.anf[data-theme="carte"] .anf-ic, .anf[data-theme="carte"] .anf-date { margin: 0; }
.anf[data-theme="carte"] .anf-c { padding: 0 26px 0 0; gap: 3px; justify-content: center; }
.anf[data-theme="carte"] .anf-boite:not(:has(.anf-tuile, .anf-img, .anf-ic, .anf-date)) .anf-c { grid-column: 1 / -1; }
.anf[data-theme="carte"] .anf-t { font-size: 16px; font-weight: 600; padding: 0; }
.anf[data-theme="carte"] .anf-p { font-size: 14px; }
.anf[data-theme="carte"] .anf-act { margin-block-start: 6px; }
.anf[data-theme="carte"] .anf-b { flex: 0 1 auto; min-block-size: 36px; padding: 0 14px; font-size: 14px; }
.anf[data-theme="carte"] .anf-b1 { background: rgba(228, 218, 202, .08); border: .5px solid rgba(228, 218, 202, .3); color: var(--anf-ivoire); }
.anf[data-theme="carte"] .anf-ferme { inset-block-start: 2px; inset-inline-end: 2px; background: none; }
.anf[data-theme="plein"] { padding: 0; }
.anf[data-theme="plein"] .anf-voile { background: rgba(10, 8, 14, .68); -webkit-backdrop-filter: blur(22px) saturate(140%); backdrop-filter: blur(22px) saturate(140%); }
.anf[data-theme="plein"] .anf-boite {
  position: absolute; inset: 0; inline-size: auto; block-size: auto; max-block-size: none; box-sizing: border-box; border: 0; border-radius: 0; background: transparent; box-shadow: none;
  align-items: center; justify-content: center; text-align: center; padding: 40px 28px; isolation: isolate;
}
.anf[data-theme="plein"] .anf-boite::before {
  content: ''; position: absolute; z-index: -1; inline-size: min(520px, 80%); aspect-ratio: 1; border-radius: 50%;
  inset-block-start: 12%; inset-inline-start: 50%; transform: translateX(-50%); opacity: .6;

  background: radial-gradient(closest-side, color-mix(in srgb, var(--anf-ac) 60%, transparent), color-mix(in srgb, var(--anf-ac) 18%, transparent) 55%, transparent);
}
.anf[data-theme="plein"] .anf-img { inline-size: min(420px, 100%); border-radius: 16px; }
.anf[data-theme="plein"] .anf-tuile, .anf[data-theme="plein"] .anf-ic, .anf[data-theme="plein"] .anf-date { margin: 0 0 6px; }
.anf[data-theme="plein"] .anf-c { align-items: center; max-inline-size: 520px; gap: 10px; }
.anf[data-theme="plein"] .anf-t { font: 700 clamp(28px, 6cqi, 44px)/1.15 var(--police-titres, inherit); padding: 0; }
.anf[data-theme="plein"] .anf-p { font-size: 17px; color: rgba(246, 244, 241, .78); }
.anf[data-theme="plein"] .anf-act { justify-content: center; }
.anf[data-theme="plein"] .anf-b1 { background: var(--anf-ivoire); color: #151515; min-block-size: 50px; flex: 0 1 auto; }
.anf[data-theme="plein"] .anf-ferme { inset-block-start: 16px; inset-inline-end: 16px; }
.anf[data-theme="degrade"] .anf-voile { background: rgba(0, 0, 0, .6); }
.anf[data-theme="degrade"] .anf-boite {
  inline-size: min(440px, 100%); border-radius: 20px; border: .5px solid rgba(255, 255, 255, .12);
  background: linear-gradient(135deg, color-mix(in srgb, var(--anf-ac) 26%, var(--anf-fond)) 0%, color-mix(in srgb, var(--anf-ac) 12%, var(--anf-fond)) 55%, var(--anf-fond) 100%);
  box-shadow: 0 24px 60px -24px rgba(0, 0, 0, .8);
}
.anf[data-theme="degrade"] .anf-t { color: #fff; font-size: 21px; }
.anf[data-theme="degrade"] .anf-p { color: rgba(255, 255, 255, .8); }
.anf[data-theme="degrade"] .anf-b1 { background: #F6F4F1; color: #151515; flex: 0 1 auto; }
.anf[data-theme="degrade"] .anf-b1:hover, .anf[data-theme="degrade"] .anf-b1:focus-visible { box-shadow: none; filter: brightness(.96); }
.anf[data-theme="degrade"] .anf-ferme { background: rgba(255, 255, 255, .1); }
.anf[data-theme="verre"] { place-items: start center; padding: calc(var(--anf-haut) + 4px) 12px 0; }
.anf[data-theme="verre"] .anf-boite {
  inline-size: min(460px, 100%); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 14px;
  border-radius: 24px; border: .5px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .12);
  -webkit-backdrop-filter: blur(26px) saturate(170%); backdrop-filter: blur(26px) saturate(170%);
  box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .3); transform: translateY(-10px);
}
.anf[data-theme="verre"] .anf-img, .anf[data-theme="verre"] .anf-tuile { inline-size: 44px; block-size: 44px; aspect-ratio: auto; border-radius: 12px; }
.anf[data-theme="verre"] .anf-tuile { color: #fff; background: rgba(255, 255, 255, .16); }
.anf[data-theme="verre"] .anf-ic, .anf[data-theme="verre"] .anf-date { margin: 0; }
.anf[data-theme="verre"] .anf-c { padding: 0 26px 0 0; gap: 3px; justify-content: center; }
.anf[data-theme="verre"] .anf-boite:not(:has(.anf-tuile, .anf-img, .anf-ic, .anf-date)) .anf-c { grid-column: 1 / -1; }
.anf[data-theme="verre"] .anf-t { font-size: 17px; color: #fff; padding: 0; }
.anf[data-theme="verre"] .anf-p { font-size: 14px; color: rgba(255, 255, 255, .82); }
.anf[data-theme="verre"] .anf-act { grid-column: 1 / -1; }
.anf[data-theme="verre"] .anf-b1 { background: rgba(255, 255, 255, .9); color: #111; inline-size: 100%; }
.anf[data-theme="verre"] .anf-ferme { inset-block-start: 6px; inset-inline-end: 6px; inline-size: 36px; block-size: 36px; background: rgba(255, 255, 255, .16); }
.anf.anf-la[data-theme] .anf-boite { opacity: 1; transform: none; }
.anf.anf-part[data-theme] .anf-boite { opacity: 0; }
.anf[data-theme="minimal"] { place-items: end start; padding: 16px; }
.anf[data-theme="minimal"] .anf-boite {
  inline-size: min(380px, 100%); padding: 12px 48px 12px 14px; border-radius: 12px; border: .5px solid #3A3A3C;
  background: #000; box-shadow: none; transform: translateY(12px);
}
.anf[data-theme="minimal"] .anf-img, .anf[data-theme="minimal"] .anf-sur, .anf[data-theme="minimal"] .anf-b2 { display: none; }
.anf[data-theme="minimal"] .anf-c { padding: 0; gap: 2px; }
.anf[data-theme="minimal"] .anf-t { font-size: 15px; font-weight: 600; padding: 0; }
.anf[data-theme="minimal"] .anf-p { font-size: 14px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; white-space: normal; }
.anf[data-theme="minimal"] .anf-act { margin: 4px 0 0; }
.anf[data-theme="minimal"] .anf-b1 { background: none; color: var(--anf-texte); padding: 0; min-block-size: 44px; flex: 0 1 auto; justify-content: flex-start;
  text-decoration: underline; text-underline-offset: 3px; font-size: 14px; }
.anf[data-theme="minimal"] .anf-b1:hover, .anf[data-theme="minimal"] .anf-b1:focus-visible { box-shadow: none; }
.anf[data-theme="minimal"] .anf-ferme { inset-block-start: 50%; transform: translateY(-50%); inset-inline-end: 2px; background: none; }
.md { position: relative; display: block; inline-size: 100%; overflow: hidden; background: #111113; isolation: isolate; flex: none; }
.md img, .md video { display: block; }
.md-flou { opacity: .9; transform: scale(1.08); }
.md-lire {
  position: absolute; inset: 50% auto auto 50%; z-index: 2; translate: -50% -50%; display: grid; place-items: center;
  inline-size: 52px; block-size: 52px; border: 0; border-radius: 999px; background: rgba(0, 0, 0, .55); color: #fff; cursor: pointer;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.md-lire[hidden] { display: none; }
.md-lire:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.md-muet { position: absolute; inset: auto 8px 8px auto; z-index: 2; display: grid; place-items: center; inline-size: 24px; block-size: 24px;
  border-radius: 999px; background: rgba(0, 0, 0, .5); color: #fff; pointer-events: none; }
.anf[data-theme="maison"][data-media] .md { grid-column: 1 / -1; border-radius: 10px; }
.anf[data-theme="bandeau"][data-media] .anf-boite { flex-wrap: wrap; padding: 0; }
.anf[data-theme="bandeau"][data-media] .md { flex: 0 0 100%; order: -1; }
.anf[data-theme="bandeau"][data-media] .anf-c { padding: 0 48px 0 16px; min-block-size: 48px; }
.anf[data-theme="bandeau"][data-media] .anf-ferme { inset-block-start: 6px; transform: none; background: rgba(0, 0, 0, .4); }
.anf[data-theme="carte"][data-media] .anf-boite { grid-template-columns: 96px minmax(0, 1fr); }
.anf[data-theme="carte"][data-media] .md { inline-size: 96px; border-radius: 12px; align-self: start; }
.anf[data-theme="plein"] { container: anf / size; }
.anf[data-theme="plein"][data-media] .md {
  position: absolute; z-index: -2; inset: 50% auto auto 50%; translate: -50% -50%; inline-size: max(100cqw, calc(100cqh * var(--md-r, .5625)));
}
.anf[data-theme="plein"][data-media] .anf-boite::before {
  inset: 0; inline-size: auto; aspect-ratio: auto; border-radius: 0; transform: none; opacity: 1;
  background: linear-gradient(180deg, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .35) 45%, rgba(0, 0, 0, .78) 100%);
}
.anf[data-theme="plein"][data-media] .anf-boite { justify-content: flex-end; }
.anf[data-theme="degrade"][data-media] .md { inline-size: auto; margin: 16px 16px 0; border-radius: 14px; }
.anf[data-theme="verre"][data-media] .anf-boite { grid-template-columns: 64px minmax(0, 1fr); }
.anf[data-theme="verre"][data-media] .md { inline-size: 64px; border-radius: 12px; align-self: start; }
.anf-voir { background: none; color: var(--anf-texte); padding: 0; min-block-size: 44px; flex: 0 1 auto; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.anf-grand { position: fixed; inset: 0; z-index: 5; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, .86); pointer-events: auto; }
.anf-grand[hidden] { display: none; }
.anf-grand .md { inline-size: min(960px, 100%); border-radius: 14px; }
.anf-grand-x { position: absolute; inset: 12px 12px auto auto; display: grid; place-items: center; inline-size: 44px; block-size: 44px; border: 0;
  border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; }
@container anf (max-width: 599px) {

  .anf[data-theme="maison"] .anf-boite, .anf[data-theme="degrade"] .anf-boite { inline-size: 100%; max-block-size: 88%; }
  .anf-c { padding: 20px 20px 22px; }
  .anf[data-theme="maison"] .anf-act, .anf[data-theme="degrade"] .anf-act, .anf[data-theme="plein"] .anf-act { flex-direction: column; inline-size: 100%; }
  .anf[data-theme="maison"] .anf-b, .anf[data-theme="degrade"] .anf-b, .anf[data-theme="plein"] .anf-b { inline-size: 100%; min-block-size: 50px; }
  .anf[data-theme="bandeau"] { padding-inline: 0; }
  .anf[data-theme="bandeau"] .anf-boite { border-radius: 0; border-inline: 0; }
  .anf[data-theme="carte"], .anf[data-theme="minimal"] { place-items: end stretch; padding: 12px 12px calc(16px + env(safe-area-inset-bottom, 0px)); }
  .anf[data-theme="carte"] .anf-boite, .anf[data-theme="minimal"] .anf-boite { inline-size: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .anf-boite, .anf.anf-part .anf-boite { transform: none !important; transition: opacity .2s linear; }
  .anf-img img { transform: none; transition: none; }
  .anf-point { animation: none; }
  .anf-b { transition: none; }
}
@media (forced-colors: active) {
  .anf-boite { border: 2px solid CanvasText; }
  .anf-b { border: 2px solid ButtonText; }
}
.anf-rub { margin: 4px 0 0; display: flex; flex-direction: column; border-radius: 14px; border: .5px solid var(--anf-bord);
  background: color-mix(in srgb, var(--anf-texte) 4%, transparent); overflow: hidden; }
.anf-rub-l { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; min-inline-size: 0; }
.anf-rub-l + .anf-rub-l { border-block-start: .5px solid var(--anf-bord); }
.anf-rub dt { font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--anf-texte); text-transform: none; letter-spacing: 0; overflow-wrap: anywhere; }
.anf-rub dd { margin: 0; font-size: 14px; line-height: 1.45; color: var(--anf-texte-2); overflow-wrap: anywhere; }
.anf-contact dd a { color: var(--anf-texte); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
  min-block-size: 44px; margin-block: -12px; padding-inline: 2px; vertical-align: middle; }
.anf-contact dd a svg { flex: none; opacity: .85; }
.anf-contact dd a:focus-visible { outline: 2px solid var(--anf-texte); outline-offset: 2px; border-radius: 4px; }
.anf[data-modele="infos"] .anf-boite { inline-size: min(560px, 100%); }
.anf[data-theme="bandeau"] .anf-rub { display: none; }
.anf[data-theme="minimal"] .anf-rub { border: 0; background: none; }
.anf[data-theme="minimal"] .anf-rub-l { padding-inline: 0; }
.anf-code {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-block-start: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px dashed var(--anf-bord, var(--anm-bord, rgba(255, 255, 255, .22)));
  background: color-mix(in srgb, var(--anf-ac, var(--anm-ac, #E02844)) 8%, transparent);
  color: var(--anf-texte, var(--anm-texte, #F6F4F1));
}
.anf-code-g { display: flex; flex-direction: column; gap: 2px; min-inline-size: 0; flex: 1 1 auto; }
.anf-code-sur { font-size: 12px; line-height: 1.2; color: var(--anf-texte-2, var(--anm-texte-2, #A5A5AC)); }
.anf-code-v { font: 700 17px/1.2 ui-monospace, "SF Mono", Menlo, monospace; letter-spacing: .08em; overflow-wrap: anywhere; }
.anf-code-copier {
  min-block-size: 44px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  color: inherit;
  font: 600 15px/1 inherit;
  font-family: inherit;
  cursor: pointer;
}
.anf-code-copier[data-copie] { background: color-mix(in srgb, #34C759 26%, transparent); }
.anf-code-resa {
  flex: 1 0 100%;
  font-size: 15px;
  font-weight: 600;
  color: var(--anf-ac, var(--anm-ac, #E02844));
  text-decoration: none;
}
.anf-code-resa::after { content: ' ›'; }
.anf-code-resa:hover, .anf-code-resa:focus-visible { text-decoration: underline; }
.anf-code-copier:focus-visible, .anf-code-resa:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.anf[data-theme="bandeau"] .anf-code, .anf[data-theme="minimal"] .anf-code { margin-block-start: 8px; padding: 8px 10px; }
.annonce-site .anf-code { margin: 0; padding: 6px 10px; flex: 0 1 auto; }
.annonce-site .anf-code-resa { flex: 0 0 auto; font-size: 13px; }
:root {
  --mvt-flou: 12px;           
  --mvt-d-flou: .7s;          
  --mvt-cote: 56px;           
}
html.js .sec-wrap > * {
  transition-property: opacity, translate, rotate, scale, letter-spacing, filter, box-shadow, border-color, background-color;
  transition-duration: var(--d-entree-courte), var(--d-entree), var(--d-entree), var(--d-entree), var(--d-entree-courte),
                       var(--mvt-d-flou), .28s, .28s, .28s;
  transition-timing-function: var(--e-entree);
}
@media (prefers-reduced-motion: no-preference) {
  html.js .sec:not(.vue) .sec-wrap > :is(.label, .sec-h, .sec-intro, .flash-lead-txt, .hero-title, .hero-sup,
    .hero-sub, .hero-follow, .faq-fin, .contact-foot) { filter: blur(var(--mvt-flou)); }
}
.ilot-styles, .ilot-faq { perspective: 1400px; }
@media (prefers-reduced-motion: no-preference) {
  html.js .sec .mvt-g { transform: translate3d(calc(-1 * var(--mvt-cote)), 0, -70px) rotateY(9deg); }
  html.js .sec .mvt-d { transform: translate3d(var(--mvt-cote), 0, -70px) rotateY(-9deg); }
  html.js .sec .mvt-m { transform: translate3d(0, var(--montee), -120px) rotateX(7deg); }
  html.js:where([data-sens="haut"]) .sec .mvt-m { transform: translate3d(0, calc(-1 * var(--montee)), -120px) rotateX(-7deg); }
  html.js .sec:not(.vue) :is(.sty-card, .faq-group, .soin-card) { filter: blur(var(--mvt-flou)); }
}
html.js .sec :is(.sty-card, .faq-group, .soin-card) {
  transition: opacity .5s ease, transform .62s cubic-bezier(.16, .84, .34, 1), filter var(--mvt-d-flou) ease,
              translate .35s var(--e-entree), box-shadow .28s, border-color .28s;
}
@media (prefers-reduced-motion: no-preference) {
  html.js:where([data-sens="haut"]) .sec-h .mot-i { transform: translate3d(0, -118%, 0) rotateX(52deg); }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .sec.vue .sty-card:has(.sty-voir):hover { translate: 0 -3px; }
}
.nb.on {
  color: var(--texte);
  background: color-mix(in srgb, var(--rouge) 16%, var(--fond-2));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--rouge) 45%, transparent),
              0 0 18px -8px color-mix(in srgb, var(--rouge) 90%, transparent);
}
.ilot-etapes::after {
  content: ""; position: absolute; pointer-events: none; border-radius: 2px;
  background: var(--degrade-or);
  box-shadow: 0 0 10px color-mix(in srgb, var(--rouge) 50%, transparent);
  left: var(--pad-ilot, 14px); right: var(--pad-ilot, 14px);
  top: calc(var(--pad-ilot, 14px) / 2 - 1px); height: 2px;
  transform-origin: left center; transform: scaleX(0);
}
.ilot-etapes.mvt-frise-v::after {
  left: calc(var(--pad-ilot, 14px) / 2 - 1px); right: auto; top: var(--pad-ilot, 14px); bottom: var(--pad-ilot, 14px);
  width: 2px; height: auto; transform-origin: center top; transform: scaleY(0);
}
html.js .sec.vue .ilot-etapes::after { transform: none; transition: transform 1.6s var(--e-entree) .2s; }
html:not(.js) .ilot-etapes::after { transform: none; }
@media (prefers-reduced-motion: no-preference) {
  html.js .sec .st-item { transform: translate3d(0, 14px, 0); }
}
html.js .sec .st-item { transition: opacity .7s ease, transform .8s var(--e-entree), filter var(--mvt-d-flou) ease; }
html.js .sec.vue .st-item:nth-child(2) { transition-delay: .45s; }
html.js .sec.vue .st-item:nth-child(3) { transition-delay: .9s; }
@media (prefers-reduced-motion: no-preference) {
  html.js .sec .ilot-contact .champs > * { opacity: 0; translate: 0 12px; }
  html.js .sec .ilot-contact .champs > * {
    transition: opacity .5s ease, translate .7s var(--e-entree);
    transition-delay: calc(.32s + var(--mvt-rang, 0) * .06s);
  }
  html.js .sec.vue .ilot-contact .champs > * { opacity: 1; translate: none; }
}
.mvt-hors .avis-track,
html.mvt-accueil-loin .hero-bg .fc,
html.mvt-accueil-loin .cta-hero::after,
html.mvt-cache .hero-bg .fc, html.mvt-cache .cta-hero::after, html.mvt-cache .avis-track,
html.mvt-cache .fond-halo { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  html.js .sec-wrap > *, html.js .sec-h .mot-i,
  html.js .sec :is(.sty-card, .st-item, .faq-group, .soin-card),
  html.js .sec .ilot-contact .champs > * {
    opacity: 1 !important; translate: none !important; rotate: none !important; scale: none !important;
    filter: none !important;
  }
  html.js .sec-h .mot-i, html.js .sec :is(.sty-card, .st-item, .faq-group, .soin-card) { transform: none !important; }
  html.js .sec-wrap > .label { letter-spacing: .22em !important; }
  html.js .lieu :is(.lieu-case, .label, .sec-intro, .lieu-fond) { opacity: 1 !important; }
  .ilot-etapes::after { transform: none !important; }
}
.sec[data-theme-sec] {
  background-color: var(--fond);
  background-image:
    radial-gradient(60% 50% at 12% 0%, color-mix(in srgb, var(--sec-c1, transparent) 16%, transparent), transparent 70%),
    radial-gradient(50% 45% at 92% 100%, color-mix(in srgb, var(--sec-c2, transparent) 12%, transparent), transparent 70%);
}
.gal-voir { display: flex; justify-content: center; margin-top: var(--v-groupe, 20px); }
.v3-voir {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding-inline: 24px; border-radius: 999px;
  white-space: nowrap; font: inherit; font-weight: 600; cursor: pointer;
}
.v3-voir svg { inline-size: 16px; block-size: 16px; flex: none; }
button.hero-reviews { font: inherit; font-size: var(--t-secondaire); cursor: pointer; }
.overlay-v3 .modale {
  max-width: min(1080px, 100%);
  max-height: calc(100dvh - 2 * var(--marge, 16px));
  padding: 0; gap: 0; overflow: hidden;
  border-radius: 26px;
}
.overlay-aw .modale { max-width: min(720px, 100%); }
.v3-fen-tete {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: nowrap;
  padding: 18px calc(var(--cible-tactile, 44px) + 18px) 10px 22px;
  min-width: 0;
}
.v3-fen-tete h3 { margin: 0; padding: 0; font-size: 21px; letter-spacing: -.015em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.v3-compte { flex: none; color: var(--texte-2); font-size: 13px; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; font-variant-numeric: tabular-nums; }
.v3-compte svg { inline-size: 13px; block-size: 13px; color: #FFC24B; }
.overlay-v3 .modale-x { top: 10px; inset-inline-end: 10px; }
.overlay-gw .g-filtres { margin: 0 14px; flex: none; }
.gw-defile { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.gw-defile::-webkit-scrollbar { display: none; }
.gw-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 14px 18px 22px; }
@media (max-width: 1024px) { .gw-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .gw-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 12px 12px 18px; } }
.gw-tuile {
  position: relative; display: block; padding: 0; border: 0; cursor: zoom-in;
  aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; background: var(--fond-2, #141416);
}
.gw-tuile[hidden] { display: none; }
.gw-tuile img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
@media (hover: hover) and (pointer: fine) { .gw-tuile:hover img { transform: scale(1.04); } }
.gw-tuile .g-vid-signe { position: absolute; inset-block-end: 8px; inset-inline-end: 8px; }
.gw-tuile .g-avant { position: absolute; inset-block-start: 8px; inset-inline-start: 8px; }
.aw-liste {
  flex: 1 1 auto; align-content: start;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
  padding: 10px 18px 16px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; min-height: 0;
}
.aw-liste::-webkit-scrollbar { display: none; }
@media (max-width: 640px) { .aw-liste { grid-template-columns: minmax(0, 1fr); padding: 8px 12px 14px; } }
.aw-avis { margin: 0; padding: 16px 18px; border-radius: 18px; background: rgba(255,255,255,.045); display: flex; flex-direction: column; gap: 8px; }
.aw-avis blockquote { margin: 0; font-size: 15px; line-height: 1.5; color: var(--texte); white-space: pre-line; }
.aw-avis figcaption { margin-top: auto; font-size: 13px; color: var(--texte-2); }
.aw-avis .etoiles { color: #FFC24B; }
.aw-ailleurs { flex: none; padding: 12px 18px 18px; border-top: .5px solid rgba(255,255,255,.1); display: grid; gap: 10px; }
.aw-ailleurs p { margin: 0; font-size: 13px; color: var(--texte-2); text-align: center; }
.aw-liens { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.aw-liens .btn { border-radius: 999px; min-height: 44px; white-space: nowrap; }
.aw-liens .btn svg { inline-size: 14px; block-size: 14px; }
@media (max-width: 640px) {
  .overlay-v3 { align-items: flex-end; padding: 0; }
  .overlay-v3 .modale { max-width: 100%; max-height: 90dvh; border-radius: 26px 26px 0 0; padding-bottom: env(safe-area-inset-bottom, 0px); }
}
@media (prefers-reduced-motion: reduce) { .gw-tuile img { transition: none; } }
:root { --v3-int: 1; }
:root[data-v3-int="1"] { --v3-int: .55; }
:root[data-v3-int="3"] { --v3-int: 1.6; }
.sec { isolation: isolate; }
.fd { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
  -webkit-mask: linear-gradient(transparent, #000 22%, #000 78%, transparent);
  mask: linear-gradient(transparent, #000 22%, #000 78%, transparent); }
.fd i { position: absolute; inset: -12% -6%; display: block; will-change: transform; }
.fd-encre i { opacity:calc(.55*var(--v3-int));background:radial-gradient(34% 40% at 18% 30%,rgba(255,77,109,.16),transparent 70%),radial-gradient(30% 36% at 82% 62%,rgba(122,43,87,.28),transparent 72%),radial-gradient(22% 26% at 60% 18%,rgba(194,52,126,.12),transparent 70%);animation:v3-derive 24s ease-in-out infinite alternate; }
.fd-trait i { opacity:calc(.16*var(--v3-int));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='360' viewBox='0 0 720 360' fill='none' stroke='%23fff' stroke-width='.8' stroke-linecap='round'%3E%3Cpath d='M0 150C120 80 240 220 360 150S600 80 720 150' opacity='0.9'/%3E%3Cpath d='M0 159C120 89 240 229 360 159S600 89 720 159' opacity='0.83'/%3E%3Cpath d='M0 168C120 98 240 238 360 168S600 98 720 168' opacity='0.76'/%3E%3Cpath d='M0 177C120 107 240 247 360 177S600 107 720 177' opacity='0.69'/%3E%3Cpath d='M0 186C120 116 240 256 360 186S600 116 720 186' opacity='0.62'/%3E%3Cpath d='M0 195C120 125 240 265 360 195S600 125 720 195' opacity='0.55'/%3E%3Cpath d='M0 204C120 134 240 274 360 204S600 134 720 204' opacity='0.48'/%3E%3Cpath d='M0 213C120 143 240 283 360 213S600 143 720 213' opacity='0.41'/%3E%3Cpath d='M0 222C120 152 240 292 360 222S600 152 720 222' opacity='0.34'/%3E%3Cpath d='M0 300C150 340 210 260 360 300S570 340 720 300' opacity='0.55'/%3E%3Cpath d='M0 308C150 348 210 268 360 308S570 348 720 308' opacity='0.47'/%3E%3Cpath d='M0 316C150 356 210 276 360 316S570 356 720 316' opacity='0.39'/%3E%3Cpath d='M0 324C150 364 210 284 360 324S570 364 720 324' opacity='0.31'/%3E%3Cpath d='M0 332C150 372 210 292 360 332S570 372 720 332' opacity='0.23'/%3E%3Cpath d='M0 40C180 16 180 64 360 40S540 64 720 40' opacity='0.45'/%3E%3Cpath d='M0 48C180 24 180 72 360 48S540 72 720 48' opacity='0.37'/%3E%3Cpath d='M0 56C180 32 180 80 360 56S540 80 720 56' opacity='0.29'/%3E%3Cpath d='M0 64C180 40 180 88 360 64S540 88 720 64' opacity='0.21'/%3E%3C/svg%3E") 0 50%/720px 360px repeat;animation:v3-glisse-x 90s linear infinite;inset:0 -720px 0 0; }
.fd-papier i { opacity:calc(.22*var(--v3-int));background:radial-gradient(70% 60% at 50% 40%,rgba(255,240,230,.07),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/180px 180px; }
.fd-lumiere i { opacity:calc(.9*var(--v3-int));background:radial-gradient(42% 55% at 50% -4%,rgba(255,236,226,.1),transparent 70%),radial-gradient(26% 30% at 50% 0%,rgba(255,77,109,.08),transparent 70%);animation:v3-respire 9s ease-in-out infinite alternate; }
.fd-meches i { opacity:calc(.16*var(--v3-int));background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='360' viewBox='0 0 900 360' fill='none' stroke='%23E8B04B' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M0 60c150 40 300-40 450 0s300 40 450 0'/%3E%3Cpath d='M0 90c150 40 300-40 450 0s300 40 450 0' opacity='.7'/%3E%3Cpath d='M0 120c150 40 300-40 450 0s300 40 450 0' opacity='.5'/%3E%3Cpath d='M0 230c150-40 300 40 450 0s300-40 450 0' opacity='.8'/%3E%3Cpath d='M0 260c150-40 300 40 450 0s300-40 450 0' opacity='.55'/%3E%3Cpath d='M0 290c150-40 300 40 450 0s300-40 450 0' opacity='.35'/%3E%3C/svg%3E") 0 50%/900px 360px repeat-x;animation:v3-glisse-x2 80s linear infinite;inset:0 -900px 0 0; }
.fd-salon i { opacity:calc(.9*var(--v3-int));background:radial-gradient(40% 50% at 85% 10%,rgba(247,213,143,.12),transparent 70%),radial-gradient(30% 40% at 10% 90%,rgba(232,176,75,.07),transparent 70%);animation:v3-respire 10s ease-in-out infinite alternate; }
.fd-or i { opacity:calc(.5*var(--v3-int));background:radial-gradient(3px 3px at 12% 22%,rgba(247,213,143,.9),transparent),radial-gradient(2px 2px at 30% 70%,rgba(247,213,143,.7),transparent),radial-gradient(4px 4px at 55% 35%,rgba(232,176,75,.6),transparent),radial-gradient(2px 2px at 72% 80%,rgba(247,213,143,.8),transparent),radial-gradient(3px 3px at 88% 28%,rgba(232,176,75,.7),transparent),radial-gradient(40% 40% at 50% 50%,rgba(232,176,75,.05),transparent 70%);animation:v3-monte-or 30s ease-in-out infinite alternate; }
@keyframes v3-derive { to { transform: translate3d(4%, 3%, 0) scale(1.06); } }
@keyframes v3-glisse-x { to { transform: translate3d(-720px, 0, 0); } }
@keyframes v3-glisse-x2 { to { transform: translate3d(-900px, 0, 0); } }
@keyframes v3-respire { to { transform: scale(1.08); opacity: calc(.6 * var(--v3-int)); } }
@keyframes v3-monte-or { to { transform: translate3d(0, -6%, 0); } }
:root[data-v3-mvt="reduit"] .fd i { animation-duration: 240s; }
:root[data-v3-mvt="aucun"] .fd i { animation: none; }
@media (prefers-reduced-motion: reduce) { .fd i { animation: none; } }
.soin-groupe-h {
  display: flex; align-items: center; gap: 10px; min-width: 0;
  font-size: 16px; font-weight: 600; letter-spacing: -.01em; text-transform: none;
  color: var(--texte); line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.soin-groupe-h::before {
  content: ""; inline-size: 8px; block-size: 8px; border-radius: 50%; flex: none;
  background: var(--or-texte);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--or-texte) 22%, transparent);
}
.soin-card-t {
  font-size: 13px; font-weight: 600; letter-spacing: .01em;
  color: var(--texte); white-space: nowrap;
}
:root[data-v3-visio="cadre"] .lb-piste > img {
  border-radius: 12px;
  box-shadow: 0 0 0 calc(10px * var(--lb-zoom, 1)) #1C1C1E, 0 0 0 calc(10.5px * var(--lb-zoom, 1)) rgba(255,255,255,.12), 0 30px 90px rgba(0,0,0,.6);
}
button.sbtn { font: inherit; cursor: pointer; border: 0; padding: 0; background: none; color: inherit; }
.overlay-rw .modale { max-width: min(420px, 100%); }
.rw-liste { display: grid; padding: 4px 14px 18px; }
.rw-l { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 8px; border-radius: 14px;
  color: var(--texte); text-decoration: none; font-size: 16px; font-weight: 600; }
.rw-l + .rw-l { box-shadow: inset 0 .5px 0 rgba(255,255,255,.1); }
.rw-ic { inline-size: 36px; block-size: 36px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.06); flex: none; }
.rw-ic svg { inline-size: 18px; block-size: 18px; }
.rw-nom { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rw-chev { inline-size: 16px; block-size: 16px; color: var(--texte-2); flex: none; }
@media (hover: hover) and (pointer: fine) { .rw-l:hover { background: rgba(255,255,255,.05); } }
.pied-appel-b, .pied-horaires-b { display: none; }
.pied-horaires .pied-logo { order: -1; }
.ct-infos { list-style: none; margin: 0 auto 18px; padding: 0; width: min(100%, 640px); display: grid; gap: 0; border-top: .5px solid rgba(255,255,255,.1); }
.ct-infos li { display: flex; gap: 14px; align-items: baseline; padding: 12px 2px; border-bottom: .5px solid rgba(255,255,255,.1); text-align: left; }
.ct-infos b { flex: none; width: 92px; font-size: 13px; font-weight: 600; color: var(--texte-2); }
.ct-infos span { min-width: 0; font-size: 15px; color: var(--texte); }
.ct-infos small { display: block; font-size: 13px; color: var(--texte-2); }
@media (min-width: 1025px) {
  #page-contact[data-contact="colonnes"] > .sec-wrap { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: 48px; align-items: start; max-width: min(var(--largeur-max, 1120px), 100%); }
  #page-contact[data-contact="colonnes"] > .sec-wrap > * { grid-column: 1; text-align: left; justify-self: start; }
  #page-contact[data-contact="colonnes"] > .sec-wrap > #mkForm { grid-column: 2; grid-row: 1 / span 6; width: 100%; justify-self: stretch; }
  #page-contact[data-contact="colonnes"] .ct-infos { margin-inline: 0; }
}
#page-contact[data-contact="carte"] > .sec-wrap { padding: clamp(18px, 3vw, 34px); border-radius: 28px; background: rgba(22,22,24,.72);
  -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: inset 0 0 0 .5px rgba(255,255,255,.14), 0 30px 80px rgba(0,0,0,.45);
  max-width: min(720px, calc(100vw - 2 * var(--marge, 16px))); }
#page-contact[data-contact="carte"] #mkForm { background: none; border: 0; box-shadow: none; padding: 0; }
.ct-etapes { list-style: none; display: flex; justify-content: center; gap: 8px; margin: 0 0 18px; padding: 0; }
.ct-etapes li { display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 600;
  color: var(--texte-2); background: rgba(255,255,255,.05); white-space: nowrap; }
.ct-etapes b { inline-size: 20px; block-size: 20px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.1); font-size: 12px; }
.ct-etapes li.on { color: var(--texte); }
.ct-etapes li.on b { background: var(--grad-cta, linear-gradient(140deg, #FF4D6D, #C2347E)); color: #fff; }
#mkForm[data-ct-pas="1"] [data-ct="2"], #mkForm[data-ct-pas="2"] [data-ct="1"] { display: none !important; }
.ct-nav { display: flex; justify-content: flex-end; gap: 10px; }
#mkForm[data-ct-pas="2"] .ct-nav { justify-content: flex-start; }
.ct-manque { outline: 2px solid var(--rouge-texte, #FF6B6B); outline-offset: 2px; border-radius: 12px; }
.ct-moyens { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: min(100%, 780px); margin: 0 auto 18px; }
.ct-tuile { display: grid; gap: 8px; justify-items: center; text-align: center; padding: 22px 14px; border: 0; border-radius: 22px; cursor: pointer;
  background: rgba(255,255,255,.04); box-shadow: inset 0 0 0 .5px rgba(255,255,255,.1); color: var(--texte); font: inherit; transition: transform .4s cubic-bezier(.2,.8,.2,1), background-color .25s; }
.ct-tuile b { font-size: 16px; font-weight: 600; }
.ct-tuile small { font-size: 13px; color: var(--texte-2); }
.ct-rond { inline-size: 48px; block-size: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.07); color: var(--or-texte); }
.ct-rond svg { inline-size: 22px; block-size: 22px; }
.ct-tuile[aria-expanded="true"] { background: rgba(255,255,255,.08); }
@media (hover: hover) and (pointer: fine) { .ct-tuile:hover { transform: translateY(-3px); } }
@media (max-width: 640px) {
  .ct-moyens { grid-template-columns: minmax(0, 1fr); }
  .ct-tuile { grid-template-columns: auto 1fr; justify-items: start; text-align: left; align-items: center; padding: 14px 16px; column-gap: 14px; row-gap: 2px; }
  .ct-tuile .ct-rond { grid-row: span 2; inline-size: 42px; block-size: 42px; }
}
#mkForm[data-ct-cache] { display: none; }
#page-contact[data-contact="minimal"] > .sec-wrap { max-width: min(560px, 100%); }
#page-contact[data-contact="minimal"] #mkForm .champs { grid-template-columns: minmax(0, 1fr); }
#page-contact[data-contact="minimal"] .contact-foot { display: none; }
@media (prefers-reduced-motion: reduce) { .ct-tuile { transition: none; } }
.ct-nav [hidden] { display: none !important; }
#page-contact[data-contact="moyens"] .contact-foot { display: none; }
@media (min-width: 1025px) { #page-contact[data-contact="colonnes"] .contact-bas { flex-direction: column; align-items: stretch; } }
html[data-habit="racine"] {
  --r-action: 999px;
  --h-action: 48px;
  --largeur-max: 1120px;
  --v-barre: 10px;
  --h-menu: 56px;
  --l-barre: 1160px;
  --pad-ilot: 0px;
  --plat-trait: rgba(255, 255, 255, .1);
  --plat-gris: #98989F;
  --plat-gris2: #B4B4BA;
}
html[data-habit="racine"] #hdr {
  border: 0;
  border-radius: 999px;
  padding-inline: 18px 6px;
  gap: 6px;
  background: rgba(22, 22, 24, .62);
  -webkit-backdrop-filter: blur(22px) saturate(1.6);
  backdrop-filter: blur(22px) saturate(1.6);
  box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .14), 0 12px 40px rgba(0, 0, 0, .4);
}
html[data-habit="racine"] #hdr.a-defile {
  background: rgba(22, 22, 24, .72);
  box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .14), 0 12px 40px rgba(0, 0, 0, .4);
}
html[data-habit="racine"] #hdr.rangee { translate: none; box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .14), 0 12px 40px rgba(0, 0, 0, .4); }
html[data-habit="racine"] #hdr .logo-barre { height: 24px; }
html[data-habit="racine"] .nb {
  height: 44px;
  padding-inline: 9px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--plat-gris2);
}
html[data-habit="racine"] .nb:hover { color: var(--texte); background: transparent; }
html[data-habit="racine"] .nb.on { color: var(--texte); background: rgba(255, 255, 255, .08); box-shadow: none; text-shadow: none; }
html[data-habit="racine"] .nb.on::after, html[data-habit="racine"] .nb.on::before { display: none; }
html[data-habit="racine"] .casse-phrase { display: inline-block; text-transform: lowercase; }
html[data-habit="racine"] .casse-phrase::first-letter { text-transform: uppercase; }
html[data-habit="racine"] #hdr .hdr-social { display: none; }
html[data-habit="racine"] #hdr .hdr-right { gap: 6px; }
html[data-habit="racine"] #hdr .sbtn { width: 44px; border-radius: 999px; }
html[data-habit="racine"] .lg-bouton { min-height: 44px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 0; }
html[data-habit="racine"] #hdr .hdr-cta { min-height: 44px; height: 44px; padding-inline: 18px; border-radius: 999px; font-size: 14px; }
html[data-habit="racine"] #hdr .hdr-cta .ic { display: none; }
html[data-habit="racine"] #hdr .burger { border-radius: 999px; background: rgba(255, 255, 255, .08); }
html[data-habit="racine"] .btn,
html[data-habit="racine"] .cta {
  border-radius: 999px;
  min-height: 48px;
  padding-inline: 24px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
}
html[data-habit="racine"] .btn-pri,
html[data-habit="racine"] .cta-hero {
  background: var(--degrade-or);
  color: var(--sur-degrade);
  border-color: transparent;
  box-shadow: 0 10px 30px var(--voile-rouge);
}
html[data-habit="racine"] .btn-sec {
  background: transparent;
  color: var(--texte);
  border-color: transparent;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24);
}
@media (hover: hover) and (pointer: fine) {
  html[data-habit="racine"] .btn:hover, html[data-habit="racine"] .cta:hover { transform: translateY(-2px); }
  html[data-habit="racine"] .btn-sec:hover { background: rgba(255, 255, 255, .06); }
}
html[data-habit="racine"] .btn:active, html[data-habit="racine"] .cta:active { transform: scale(.97); }
html[data-habit="racine"] .cta-hero::before, html[data-habit="racine"] .cta-hero::after { opacity: 0; }
html[data-habit="racine"] .univers-chaine > .sec:not(.sec-hero) {
  --plat-rythme: 92px;
  min-height: 0;
  padding-block-start: var(--plat-rythme);
  padding-block-end: var(--plat-rythme);
}
html[data-habit="racine"] .univers-chaine > .sec.u-marge:not(.sec-hero) {
  padding-block-end: max(var(--plat-rythme), var(--u-marge, 0px));
}
@media (max-width: 700px) { html[data-habit="racine"] .univers-chaine > .sec:not(.sec-hero) { --plat-rythme: 68px; } }
html[data-habit="racine"] .sec:not(.sec-hero) > .sec-wrap { padding-inline: 16px; box-sizing: border-box; }
@media (min-width: 700px) { html[data-habit="racine"] .sec:not(.sec-hero) > .sec-wrap { padding-inline: 24px; } }
html[data-habit="racine"] .label,
html[data-habit="racine"] .faq-label {
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  text-indent: 0;
  color: var(--rouge-texte);
}
html[data-habit="racine"] .label::before, html[data-habit="racine"] .faq-label::before { display: none; }
html[data-habit="racine"] .sec-h { font-size: clamp(32px, 5vw, 52px); line-height: 1.04; letter-spacing: -.035em; font-weight: 700; }
html[data-habit="racine"] .sec-intro, html[data-habit="racine"] .flash-lead-txt { color: var(--plat-gris2); font-size: 17px; }
html[data-habit="racine"] .ilot {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
html[data-habit="racine"] .ilot::before { display: none; }
html[data-habit="racine"] .ligne { background: none; border: 0; border-bottom: .5px solid var(--plat-trait); border-radius: 0; padding-inline: 4px; }
html[data-habit="racine"] .hero-reviews { border: 0; background: none; padding-inline: 4px; }
html[data-habit="racine"] .socials .sbtn { border: 0; background: none; border-radius: 999px; }
html[data-habit="racine"] .socials .sbtn:hover { background: rgba(255, 255, 255, .06); }
html[data-habit="racine"] .hero-sup { letter-spacing: -.04em; text-indent: 0; font-size: clamp(40px, 7vw, 76px); line-height: 1; font-weight: 700; color: var(--texte); }
html[data-habit="racine"] .hero-sup.casse-phrase { display: block; }
html[data-habit="racine"] .s-label { letter-spacing: 0; text-transform: none; font-weight: 500; font-size: 13px; color: var(--plat-gris); }
html[data-habit="racine"] .sec:not(.sec-hero) .sec-wrap {
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
html[data-habit="racine"] { --vign: 220px; --h-vign: calc(var(--vign) * 4 / 3); --h-gal: calc(2 * var(--pad-ilot) + var(--h-vign) + 4px); }
@media (max-width: 640px) { html[data-habit="racine"] { --vign: 150px; } }
html[data-habit="racine"] .gal-rail { gap: 12px; }
@media (max-width: 640px) { html[data-habit="racine"] .gal-rail { gap: 8px; } }
html[data-habit="racine"] .g-item { --g-repos: 1; padding: 0; background: none; border: 0; border-radius: 18px; }
@media (max-width: 640px) { html[data-habit="racine"] .g-item { border-radius: 14px; } }
html[data-habit="racine"] .g-item .g-img { aspect-ratio: 3 / 4; outline: 0; object-position: var(--fx, 50%) var(--fy, 50%); }
html[data-habit="racine"] .g-item .g-vid { object-position: var(--fx, 50%) var(--fy, 50%); }
html[data-habit="racine"] .g-item img, html[data-habit="racine"] .g-item video { border-radius: inherit; }
html[data-habit="racine"] .lieu-case { background: none; border: 0; border-radius: 0; box-shadow: none; padding-inline: 0; }
html[data-habit="racine"] .lieu-case::before, html[data-habit="racine"] .lieu-case::after { display: none; }
html[data-habit="racine"] .lieu-sig, html[data-habit="racine"] .lieu-ligne { border-top: .5px solid var(--plat-trait); background: none; border-radius: 0; padding-inline: 0; }
html[data-habit="racine"] .lieu-ligne:last-of-type { border-bottom: .5px solid var(--plat-trait); }
html[data-habit="racine"] .lieu-puce { background: none; border: 0; box-shadow: none; padding-inline: 6px; color: var(--plat-gris2); font-weight: 600; }
@media (hover: hover) { html[data-habit="racine"] .lieu-puce:hover { color: var(--texte); background: none; } }
html[data-habit="racine"] .st-item { background: none; border: 0; border-top: 1px solid rgba(255, 255, 255, .14); border-radius: 0; box-shadow: none; }
html[data-habit="racine"] .ilot-styles { max-width: 780px; margin-inline: auto; gap: 0; border-top: .5px solid var(--plat-trait); }
html[data-habit="racine"] .sty-card { background: none; border: 0; border-bottom: .5px solid var(--plat-trait); border-radius: 0; box-shadow: none; }
html[data-habit="racine"] .faq-item { background: none; border: 0; border-bottom: .5px solid var(--plat-trait); border-radius: 0; box-shadow: none; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group-corps { background: none; border: 0; border-top: .5px solid var(--plat-trait); border-radius: 0; box-shadow: none; }
html[data-habit="racine"] .soin-card { background: none; border: 0; border-bottom: .5px solid var(--plat-trait); border-radius: 0; box-shadow: none; }
html[data-habit="racine"] .soin-alert { background: none; border: 0; border-radius: 0; padding-inline: 0; color: var(--plat-gris2); }
html[data-habit="racine"] .avis-item { background: rgba(20, 20, 22, .8); border: 0; border-radius: 22px; box-shadow: inset 0 0 0 .5px var(--plat-trait); }
html[data-habit="racine"] .pied-ilot { background: none; border: 0; border-radius: 0; box-shadow: none; }
html[data-habit="racine"] .pied { border-top: .5px solid var(--plat-trait); }
html[data-habit="racine"] .ilot-styles { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; grid-auto-columns: auto; }
html[data-habit="racine"] .ilot-styles > .sty-card:last-of-type:nth-of-type(odd) { grid-column: auto; }
html[data-habit="racine"] .sty-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
  row-gap: 2px;
  align-items: center;
  padding-inline: 4px;
  padding-block: 16px;
  min-height: 72px;
}
html[data-habit="racine"] .sty-card > :not(.sty-voir) { grid-column: 1; }
html[data-habit="racine"] .sty-card > .sty-voir { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin-block-start: 0; color: var(--plat-gris2); font-size: 14px; }
html[data-habit="racine"] .sty-name { font-size: 19px; letter-spacing: -.01em; font-weight: 600; }
html[data-habit="racine"] .sty-desc { font-size: 14px; color: var(--plat-gris); }
html[data-habit="racine"] .sty-card:has(.sty-voir):hover { transform: none; translate: 8px 0; border-color: var(--plat-trait); }
@media (max-width: 520px) { html[data-habit="racine"] .sty-voir > span { display: none; } }
html[data-habit="racine"] .soin-onglets { width: max-content; max-width: 100%; margin-inline: auto; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .07); }
html[data-habit="racine"] .soin-onglet { border-radius: 999px; padding-inline: 16px; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; }
html[data-habit="racine"] .soin-onglet.on { background: var(--texte); color: #000; }
@media (max-width: 700px) {
  html[data-habit="racine"] #hdr .mk-lang { display: block; }
  html[data-habit="racine"] #hdr .lg-bouton { padding-inline: 10px; }
  html[data-habit="racine"] #hdr:has(.lg-liste:not([hidden])) { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(22, 22, 24, .96); }
}
@media (max-width: 420px) {
  html[data-habit="racine"] #hdr .hdr-compte { display: none; }
  html[data-habit="racine"] #hdr { padding-inline: 8px 6px; gap: 4px; }
  html[data-habit="racine"] #hdr .hdr-cta { padding-inline: 14px; }
}
@media (max-width: 520px) {
  html[data-habit="racine"] .soin-onglets { width: 100%; }
  html[data-habit="racine"] .soin-onglet { padding-inline: 8px; font-size: 13px; }
}
html[data-habit="racine"] #mob-nav .mb { text-transform: none; letter-spacing: 0; font-size: 17px; font-weight: 600; }
html[data-habit="racine"] .soin-onglet { flex: 1 1 auto; text-overflow: clip; }
.hero-tourne { display: none; }
@media (max-width: 1180px) {
  html[data-habit="racine"] #hdr { display: flex; align-items: center; }
  html[data-habit="racine"] #hdr > .logo { order: 1; margin-right: auto; }
  html[data-habit="racine"] #hdr > .hdr-right { display: contents; }
  html[data-habit="racine"] #hdr .hdr-compte { order: 2; }
  html[data-habit="racine"] #hdr .mk-lang { order: 3; }
  html[data-habit="racine"] #hdr > .burger { order: 4; }
  html[data-habit="racine"] #hdr .hdr-cta { order: 5; }
}
html[data-habit="racine"] .lg-bouton { color: var(--texte); font-weight: 700; font-size: 13px; }
html[data-habit="racine"] .univers-chaine > .sec-hero {
  min-height: 0;
  padding-block-start: calc(var(--h-barre) + 76px);
  padding-block-end: 88px;
}
@media (max-width: 700px) { html[data-habit="racine"] .univers-chaine > .sec-hero { padding-block-start: calc(var(--h-barre) + 40px); padding-block-end: 44px; } }
html[data-habit="racine"] .logo-hero { width: min(440px, 78%); max-height: 150px; height: auto; object-fit: contain; margin-inline: auto; filter: drop-shadow(0 8px 30px var(--voile-rouge)); }
html[data-habit="racine"] .hero-title { margin-bottom: 22px; }
html[data-habit="racine"] .hero-fin { background: var(--degrade-or); -webkit-background-clip: text; background-clip: text; color: transparent; }
html[data-habit="racine"] .hero-sub { margin-top: 12px; font-size: 14px; font-weight: 600; letter-spacing: .22em; color: var(--plat-gris2); }
html[data-habit="racine"] .hero-tourne { display: inline-grid; margin: 18px 0 0; height: 1.2em; font-size: clamp(24px, 3.6vw, 36px); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
html[data-habit="racine"] .hero-tourne span { grid-area: 1 / 1; opacity: 0; transform: translate3d(0, .5em, 0); transition: opacity .6s, transform .7s cubic-bezier(.2, .8, .2, 1); white-space: nowrap; background: var(--degrade-or); -webkit-background-clip: text; background-clip: text; color: transparent; }
html[data-habit="racine"] .hero-tourne span.on { opacity: 1; transform: none; transition-delay: .26s; }
html[data-habit="racine"] .hero-tourne span.part { opacity: 0; transform: translate3d(0, -.5em, 0); transition: opacity .22s ease, transform .3s ease; transition-delay: 0s; }
html[data-habit="racine"] .cta-hero { margin-top: 30px; }
html[data-habit="racine"] .hero-reviews { margin-top: 14px; font-size: 15px; color: var(--plat-gris2); }
html[data-habit="racine"] .hero-reviews b { color: var(--texte); font-weight: 600; }
html[data-habit="racine"] .etoiles .ic { color: #FFC24B; fill: #FFC24B; }
html[data-habit="racine"] .etoiles .ic path { fill: #FFC24B; }
html[data-habit="racine"] :where(.hero-bg .bg-flow) { transform: rotate(-6deg) scale(1.25); }
html[data-habit="racine"] .lieu-photos { border-radius: 24px; overflow: hidden; }
html[data-habit="racine"] .lieu-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-start; }
html[data-habit="racine"] .lieu-actions .btn { flex: 0 0 auto; width: auto; }
html[data-habit="racine"] .lieu-ligne > svg { display: none; }
html[data-habit="racine"] .lieu-ligne { grid-template-columns: minmax(0, 1fr) auto; }
html[data-habit="racine"] .lieu-txt small { font-size: 13px; color: var(--plat-gris); }
@media (max-width: 420px) { html[data-habit="racine"] .lieu-actions .btn { flex: 1 1 100%; } }
html[data-habit="racine"] .ilot-etapes { gap: 32px; }
html[data-habit="racine"] .ilot-etapes::after { display: none; }
html[data-habit="racine"] .st-item { position: relative; display: block; padding-top: 20px; }
html[data-habit="racine"] .st-item::before { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: var(--degrade-or); }
html[data-habit="racine"] .st-num { display: block; font-size: 13px; font-weight: 600; color: var(--rouge-texte); margin-bottom: 8px; font-variant-numeric: tabular-nums; }
html[data-habit="racine"] .st-name { font-size: 21px; letter-spacing: -.015em; line-height: 1.2; margin-bottom: 8px; }
html[data-habit="racine"] .st-desc { font-size: 15px; color: var(--plat-gris2); }
html[data-habit="racine"] .st-corps .btn.step-pdf-btn { background: none; box-shadow: none; border: 0; padding-inline: 0; min-height: 44px; color: var(--plat-gris2); font-size: 15px; font-weight: 600; }
html[data-habit="racine"] .st-corps .btn.step-pdf-btn .ic { display: none; }
html[data-habit="racine"] .st-corps .btn.step-pdf-btn::after { content: "›"; margin-left: 6px; }
html[data-habit="racine"] .ilot-minifaq { display: none; }
@media (min-width: 861px) { html[data-habit="racine"] .ilot-etapes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
html[data-habit="racine"] .ilot-vide { display: grid; justify-items: center; gap: 14px; text-align: center; }
html[data-habit="racine"] .ilot-vide::before { content: ""; width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(140deg, var(--voile-rouge), rgba(255, 255, 255, .04)); box-shadow: inset 0 0 0 .5px var(--plat-trait); }
html[data-habit="racine"] .ilot-vide p { margin: 0; font-size: 21px; font-weight: 600; letter-spacing: -.015em; color: var(--texte); }
html[data-habit="racine"] .lettre-ilot { max-width: 560px; margin-inline: auto; width: 100%; text-align: center; }
html[data-habit="racine"] .lettre-titre { justify-content: center; color: var(--plat-gris2); font-weight: 400; font-size: 15px; }
html[data-habit="racine"] .lettre-titre svg { display: none; }
html[data-habit="racine"] .lettre-champs { border: 0; background: #1C1C1E; box-shadow: inset 0 0 0 .5px var(--plat-trait); padding: 6px 6px 6px 20px; }
html[data-habit="racine"] .soin-fiche-badge { display: none; }
html[data-habit="racine"] .soin-fiche-intro { text-align: center; color: var(--plat-gris2); }
html[data-habit="racine"] .soin-alert svg { display: none; }
html[data-habit="racine"] .soin-alert::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--signal-bientot); flex: none; margin-top: 7px; }
html[data-habit="racine"] .soin-alert { display: flex; gap: 10px; font-size: 14px; }
html[data-habit="racine"] .soin-collapse { max-height: none !important; overflow: visible; }
html[data-habit="racine"] .soin-collapse::after { display: none; }
html[data-habit="racine"] .soin-more { display: none; }
html[data-habit="racine"] .soin-collapse-dedans { position: relative; padding-left: 22px; border-left: 1.5px solid var(--rouge-texte); margin-left: 6px; }
html[data-habit="racine"] .soin-groupe { position: relative; margin-top: 18px; }
html[data-habit="racine"] .soin-groupe-h { position: relative; font-size: 16px; font-weight: 600; color: var(--rouge-texte); letter-spacing: 0; text-transform: none; margin: 0 0 6px; }
html[data-habit="racine"] .soin-groupe-h::before { content: ""; position: absolute; left: -29px; top: 5px; width: 9px; height: 9px; border-radius: 50%; background: var(--fond); box-shadow: 0 0 0 1.5px var(--rouge-texte); }
html[data-habit="racine"] .soin-cards { display: block; }
html[data-habit="racine"] .soin-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 10px 4px; cursor: pointer; }
html[data-habit="racine"] .soin-card::after { content: ""; grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 8px; height: 8px; border-right: 1.6px solid var(--plat-gris); border-bottom: 1.6px solid var(--plat-gris); transform: rotate(45deg); margin: 0 6px 4px 0; transition: transform .3s; }
html[data-habit="racine"] .soin-card.ouvert::after { transform: rotate(225deg); margin-bottom: 0; }
html[data-habit="racine"] .soin-card-h { grid-column: 1; font-size: 17px; font-weight: 600; margin: 0; }
html[data-habit="racine"] .soin-card-t { grid-column: 1; grid-row: 2; font-size: 13px; color: var(--plat-gris); background: none; padding: 0; border: 0; }
html[data-habit="racine"] .soin-card-d { grid-column: 1 / -1; grid-row: 3; display: none; margin: 8px 0 4px; color: var(--plat-gris2); font-size: 16px; }
html[data-habit="racine"] .soin-card.ouvert .soin-card-d { display: block; }
html[data-habit="racine"] .soin-dl { justify-content: center; }
html[data-habit="racine"] .soin-dl .btn { flex: 0 0 auto; }
html[data-habit="racine"] .ilot-avis { display: flex; flex-direction: column; }
html[data-habit="racine"] .avis-pied { order: -1; display: flex; flex-direction: column; align-items: center; gap: 22px; margin: -12px 0 30px; }
html[data-habit="racine"] .avis-score { display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: 14px; color: var(--plat-gris); }
html[data-habit="racine"] .avis-score strong { font-size: 64px; line-height: 1; letter-spacing: -.04em; font-weight: 700; color: var(--texte); }
html[data-habit="racine"] .avis-score > svg { display: none; }
html[data-habit="racine"] .avis-pied .v3-voir { order: 2; }
html[data-habit="racine"] .avis-item { width: 300px; flex: none; padding: 22px; display: flex; flex-direction: column; gap: 10px; }
html[data-habit="racine"] .avis-av { display: none; }
html[data-habit="racine"] .avis-corps { display: flex; flex-direction: column; gap: 10px; }
html[data-habit="racine"] .avis-corps .etoiles { order: 1; }
html[data-habit="racine"] .avis-txt { order: 2; font-size: 15px; line-height: 1.5; -webkit-line-clamp: unset; line-clamp: unset; display: block; overflow: visible; max-height: none; color: var(--texte); }
html[data-habit="racine"] .avis-name { order: 3; font-size: 13px; color: var(--plat-gris); font-weight: 400; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-outils { display: block; max-width: 780px; width: 100%; margin-inline: auto; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-champ { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 16px; border-radius: 999px; background: #1C1C1E; box-shadow: inset 0 0 0 .5px var(--plat-trait); border: 0; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-cats { display: none; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .ilot-faq { max-width: 780px; gap: 0; border-top: .5px solid var(--plat-trait); }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group { border-bottom: .5px solid var(--plat-trait); }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group-title { display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 8px 4px; margin: 0; cursor: pointer; font-size: 18px; font-weight: 600; letter-spacing: -.01em; color: var(--texte); text-transform: none; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group-badge { background: none; padding: 0; font-size: 14px; font-weight: 500; color: var(--plat-gris); min-width: 0; height: auto; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group-title::after { content: ""; width: 8px; height: 8px; margin: 0 6px 4px auto; border-right: 1.6px solid var(--plat-gris); border-bottom: 1.6px solid var(--plat-gris); transform: rotate(45deg); transition: transform .3s; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group.ouvert .faq-group-title::after { transform: rotate(225deg); margin-bottom: 0; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group:not(.ouvert) .faq-group-corps { display: none; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group-corps { border-top: 0; margin: 0 0 14px 12px; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group-corps .faq-item:last-child { border-bottom: 0; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-fin > span,
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-fin .faq-ecrire > svg { display: none; }
.faq-ecrire .faq-ecr-q { display: none; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-fin .faq-ecrire .faq-ecr-q { display: inline; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-fin .faq-ecrire { gap: .3em; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-fin .faq-ecrire > span { font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; display: inline; flex: none; width: auto; min-width: 0; padding: 0; margin: 0; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-fin .faq-ecrire { background: transparent; color: var(--texte); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .24); }
html[data-habit="racine"] #mkForm { max-width: 640px; margin-inline: auto; width: 100%; }
html[data-habit="racine"] #mkForm .champ > .lu-seulement,
html[data-habit="racine"] #mkForm .champ-tel > label.lu-seulement[for="f-ind"] {
  position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; white-space: normal; margin: 0 0 6px 4px; display: block; font-size: 13px; color: var(--plat-gris);
}
html[data-habit="racine"] #mkForm .champ-in { min-height: 52px; border-radius: 16px; }
html[data-habit="racine"] #mkForm input.champ-in::placeholder { color: transparent; }
html[data-habit="racine"] #mkForm .contact-bas { display: flex; justify-content: flex-end; }
html[data-habit="racine"] #mkForm #submitBtn { width: auto; flex: 0 0 auto; text-transform: none; letter-spacing: 0; }
html[data-habit="racine"] .pied { padding-top: 48px; }
html[data-habit="racine"] .pied-logo img { height: 32px; width: auto; }
html[data-habit="racine"] .pied-lieu { font-size: 13px; color: var(--plat-gris); letter-spacing: 0; text-transform: none; font-weight: 400; }
html[data-habit="racine"] .pied-liens a { font-size: 14px; color: var(--plat-gris2); font-weight: 400; letter-spacing: 0; text-transform: none; }
html[data-habit="racine"] .pied p a, html[data-habit="racine"] .pied-ou a { font-size: 12px; color: var(--plat-gris); font-weight: 400; letter-spacing: 0; text-transform: none; }
html[data-habit="racine"] .soin-collapse { grid-template-rows: 1fr; }
html[data-habit="racine"] .soin-collapse-dedans { overflow: visible; min-height: auto; }
html[data-habit="racine"] .ilot-avis .avis-pied { display: contents; }
html[data-habit="racine"] .ilot-avis .avis-score { order: -1; margin: -12px 0 30px; align-self: center; }
html[data-habit="racine"] .ilot-avis .avis-score::after { content: "★★★★★"; order: -1; color: #FFC24B; letter-spacing: 2px; font-size: 15px; margin-top: 2px; }
html[data-habit="racine"] .ilot-avis .avis-score strong { order: -2; }
html[data-habit="racine"] .avis-pt { display: none; }
html[data-habit="racine"] .ilot-avis .v3-voir { order: 2; align-self: center; margin-top: 20px; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-champ svg { width: 17px; height: 17px; flex: none; color: var(--plat-gris); }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-champ input { flex: 1; min-width: 0; height: 46px; border: 0; background: none; box-shadow: none; padding: 0; outline: 0; font-size: 16px; color: var(--texte); }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-etat { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-group-badge { display: inline; }
html[data-habit="racine"] #mkForm .champ-large > .lu-seulement { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0; }
html[data-habit="racine"] #mkForm .champ-tel > label.lu-seulement[for="f-ind"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0; }
html[data-habit="racine"] #mkForm #submitBtn .ic { display: none; }
html[data-habit="racine"] .pied-ilot { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 12px; row-gap: 14px; }
html[data-habit="racine"] .pied-ilot > * { flex-basis: 100%; text-align: center; }
html[data-habit="racine"] .pied-ilot > .pied-reseaux { order: 1; display: flex; justify-content: center; }
html[data-habit="racine"] .pied-ilot > .pied-espace, html[data-habit="racine"] .pied-ilot > .pied-outil, html[data-habit="racine"] .pied-ilot > .pied-legal { order: 2; flex-basis: auto; margin: 0; }
html[data-habit="racine"] .pied-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 12px; }
html[data-habit="racine"] .pied-legal a, html[data-habit="racine"] .pied-espace a, html[data-habit="racine"] .pied-outil a { font-size: 12px; color: var(--plat-gris); font-weight: 400; letter-spacing: 0; text-transform: none; }
html[data-habit="racine"] .pied-suivre, html[data-habit="racine"] .pied-ilot > .pied-cta, html[data-habit="racine"] .pied-marque { display: none; }
html[data-habit="racine"] .lieu-mot { color: var(--texte); font-weight: 600; }
html[data-habit="racine"] .ilot-soins { max-width: 780px; width: 100%; margin-inline: auto; }
html[data-habit="racine"] .soin-collapse, html[data-habit="racine"] .soin-groupe, html[data-habit="racine"] .soin-panneau { overflow: visible; }
html[data-habit="racine"] .sec-faq:not(:has(> style)) .faq-champ input { background: transparent !important; box-shadow: none !important; border: 0 !important; }
html[data-habit="racine"] .pied .pied-ilot { max-width: 1120px; width: 100%; margin-inline: auto; }
@media (max-width: 520px) {
  html[data-habit="racine"] .lieu-ligne { grid-template-columns: minmax(0, 1fr); }
  html[data-habit="racine"] .lieu-fin { justify-content: flex-start; }
}
html[data-habit="racine"] .st-item::before { transform-origin: left; transition: transform 1.2s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--i, 0) * 250ms + .2s); }
html[data-habit="racine"] .st-item:nth-child(2) { --i: 1; }
html[data-habit="racine"] .st-item:nth-child(3) { --i: 2; }
html.js[data-habit="racine"] .sec-process:not(.vue) .st-item::before { transform: scaleX(0); }
@media (prefers-reduced-motion: reduce) { html[data-habit="racine"] .st-item::before { transition: none; transform: none !important; } }
html[data-habit="racine"] .soin-collapse-dedans { border-left: 0; margin-left: 0; padding-left: 26px; background: linear-gradient(var(--rouge-texte), var(--rouge-texte)) 4px 0 / 1.5px 100% no-repeat; }
html[data-habit="racine"] .soin-groupe-h::before { left: -26px; }
html[data-habit="racine"] .ilot-gal,
html[data-habit="racine"] .ilot-avis .avis-track { width: 100vw; max-width: none; margin-inline: calc(50% - 50vw); -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
html[data-habit="racine"] .ilot-avis { overflow: visible; }
html[data-habit="racine"] .pied-ilot::before, html[data-habit="racine"] .pied-ilot::after { display: none; }
html[data-habit="racine"] .pied { border-top: .5px solid var(--plat-trait); }
html[data-habit="racine"] #page-contact .contact-foot { display: none; }
html[data-habit="racine"] #mkForm .champ-tel { display: block; }
html[data-habit="racine"] #mkForm .tel-boite { min-height: 52px; border-radius: 16px; }
html[data-habit="racine"] #mkForm .champ-date > .lu-seulement { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; white-space: normal; margin: 0 0 6px 4px; display: block; font-size: 13px; color: var(--plat-gris); }
html[data-habit="racine"] #mkForm .upload-zone .up-plus { display: none; }
html[data-habit="racine"] #mkForm .upload-zone { text-transform: none; letter-spacing: 0; }
html[data-habit="racine"] [hidden="until-found"] { height: 0; min-height: 0 !important; padding-block: 0 !important; border-width: 0 !important; overflow: hidden; }
html[data-habit="racine"] .v-plus-pied { display: flex; justify-content: center; margin-top: 20px; }
html[data-habit="racine"] .v-arrive { animation: v-arrive .42s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes v-arrive { from { opacity: 0; transform: translateY(10px); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: reduce) { html[data-habit="racine"] .v-arrive { animation: none; } }
html.js[data-habit="racine"] .sec:not(.sec-hero):not(#page-contact) .sec-intro:not(.v-lu),
html.js[data-habit="racine"] .soin-fiche-intro:not(.v-lu) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
html[data-habit="racine"] .v-coupe { cursor: pointer; }
html[data-habit="racine"] .v-coupe:focus-visible { outline: 2px solid var(--rouge-texte); outline-offset: 4px; border-radius: 6px; }
@media (max-width: 700px) {
  html[data-habit="racine"] .mn .mn-r .mk-lang { display: block; }
}
@media (max-width: 430px) { html[data-habit="racine"] .mn .mn-cur { display: none; } }
html[data-habit="racine"].js .univers > .sec-gallery > .sec-wrap,
html[data-habit="racine"].js .defile-apres > .sec-wrap {
  background: none;
  background-image: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
html[data-habit="racine"] .lieu-v2 .lieu-case {
  background: rgba(14, 14, 16, .84);
  -webkit-backdrop-filter: saturate(1.4) blur(26px);
  backdrop-filter: saturate(1.4) blur(26px);
  border: .5px solid rgba(255, 255, 255, .14);
  border-radius: 24px;
  padding: 4px 20px 20px;
}
html[data-habit="racine"] .lieu-v2 .lieu-sig { border-top: 0; }
html[data-habit="racine"] .lieu-v2 :is(.lieu-sig, .lieu-ligne) { padding-inline: 0; }
html[data-habit="racine"] .lieu-v2 .lieu-ligne:last-of-type { border-bottom: 0; }
html[data-habit="racine"] .lieu-v2 :is(.lieu-txt small, .lieu-ligne small) { color: var(--plat-gris2); }
html[data-habit="racine"] .lieu-v2 .lieu-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0 0; margin: 0; }
html[data-habit="racine"] .lieu-v2 .lieu-actions .btn { flex: 1 1 180px; min-width: 0; margin: 0; padding-inline: 14px; }
html[data-habit="racine"] .lieu-v2 .lieu-actions .btn span { overflow: hidden; text-overflow: ellipsis; }
.mkb[data-ecarte] { opacity: 0; pointer-events: none; transform: translateY(10px); }
.mkb { transition: opacity .25s ease, transform .35s cubic-bezier(.2, .8, .2, 1); }
@media (prefers-reduced-motion: reduce) { .mkb { transition: none; } }
.mkb {
  position: fixed;
  inset-block-end: var(--v-ilot);
  inset-inline-end: var(--v-ilot);
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--v-ligne);
  font-family: var(--police-corps);
}
.mkb-aguiche {
  position: absolute;
  inset-block-end: 100%;
  inset-inline-end: 0;
  margin-block-end: var(--v-ligne);
  display: flex;
  flex-direction: column;
  align-items: flex-end;

  gap: 6px;

  width: max-content;
  max-width: min(300px, calc(100vw - 2 * var(--v-ilot)));
}
.mkb-bulle-q {

  min-height: 38px;
  padding-inline: 12px;
  padding-block: 7px;
  width: fit-content;
  display: flex;
  align-items: center;
  position: relative;
  background: var(--carte);
  color: var(--texte);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-ilot);

  border-end-end-radius: 6px;
  box-shadow: 0 6px 20px rgb(0 0 0 / .4);
  font-family: var(--police-corps);

  font-size: 12px;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;

  transform-origin: 100% 100%;
  animation: mkb-sort .52s cubic-bezier(.16,.85,.3,1.18) both;
}
.mkb-bulle-q::before {
  content: "";
  position: absolute;
  inset: -3px 0;
}
.mkb-bulle-q:hover { background: var(--survol); border-color: var(--or-texte); }
.mkb-en-ligne {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding-inline: 12px;
  background: var(--carte);
  color: var(--texte);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-pastille);
  border-end-end-radius: 6px;
  box-shadow: 0 6px 20px rgb(0 0 0 / .4);
  font-family: var(--police-corps);
  font-size: 12px;
  font-weight: 600;
  pointer-events: none;
  transform-origin: 100% 100%;
  animation: mkb-sort .52s cubic-bezier(.16,.85,.3,1.18) both;
}
.mkb-en-ligne i {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--vert-texte);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vert-texte) 22%, transparent);
  animation: mkb-vit 2.4s ease-in-out infinite;
}
.mkb-tape-annonce {
  align-self: flex-end;
  border-radius: 15px;
  border-bottom-left-radius: 15px;
  border-end-end-radius: 5px;
  background: var(--carte);
  box-shadow: 0 6px 20px rgb(0 0 0 / .4);
  transform-origin: 100% 100%;
  animation: mkb-sort .4s cubic-bezier(.16,.85,.3,1.18) both;
}
@keyframes mkb-sort {
  0%   { opacity: 0; transform: translateY(22px) scale(.72); }
  60%  { opacity: 1; }
  100% { opacity: 1; transform: none; }
}
.mkb-bulle-x {
  width: var(--cible-tactile);
  height: 32px;
  display: grid;
  place-items: center;
  background: none;
  border: 0;
  color: var(--texte-2);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  font-family: var(--police-corps);
  animation: mkb-sort .3s ease-out both;
}
.mkb-bulle-x:hover { color: var(--texte); }
.mkb-appel {
  display: inline-grid;
  place-items: center;

  flex: none;
  width: 54px;
  height: 54px;
  min-height: 54px;
  padding-inline: 0;
  padding-block: 0;
  background: var(--degrade-or);
  color: var(--sur-degrade);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 8px 26px rgb(0 0 0 / .45), 0 0 0 1px var(--bordure-or);
  font-family: var(--police-corps);
  cursor: pointer;
  position: relative;
}
.mkb-appel:hover { filter: brightness(1.06); }
.mkb-appel:active { transform: scale(.97); }
.mkb-appel-icone { display: grid; place-items: center; line-height: 1; }
.mkb-appel-icone svg { width: 24px; height: 24px; display: block; }
.mkb-vu { display: none; }
.mkb-appel-vu .mkb-vu {
  display: block;
  position: absolute;

  inset-block-start: 5px;
  inset-inline-end: 5px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--vert-texte);
  box-shadow: 0 0 0 3px var(--fond);
}
.mkb-appel-vu .mkb-vu { animation: mkb-vit 2.4s ease-in-out infinite; }
@keyframes mkb-vit {
  0%, 100% { transform: scale(1);    opacity: 1; }
  50%      { transform: scale(1.03); opacity: .82; }
}
.mkb-compte { display: none; }
.mkb-appel-compte .mkb-compte {
  display: grid;
  place-items: center;
  position: absolute;
  inset-block-start: -3px;
  inset-inline-end: -3px;
  min-width: 20px;
  height: 20px;
  padding-inline: 5px;
  border-radius: 999px;
  background: var(--pastille);
  color: var(--sur-pastille);
  box-shadow: 0 0 0 2px var(--fond);
  font-family: var(--police-corps);
  font-size: var(--t-mini);
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.mkb-appel-compte .mkb-compte { animation: mkb-pastille .42s cubic-bezier(.18,.9,.28,1.4) both; }
@keyframes mkb-pastille {
  0%   { opacity: 0; transform: scale(.4); }
  100% { opacity: 1; transform: none; }
}
.mkb-appel-compte.mkb-appel-vu .mkb-vu {
  inset-block-start: auto;
  inset-block-end: 5px;
}
.mkb-on .mkb-appel { display: none; }
.mkb-arrive .mkb-appel { animation: mkb-pose .52s cubic-bezier(.18,.9,.28,1.2) both; }
@keyframes mkb-pose {
  0%   { opacity: 0; transform: scale(.6) translateY(14px); }
  100% { opacity: 1; transform: none; }
}
.mkb-appel::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 2px solid var(--or-texte);
  opacity: 0;
  pointer-events: none;
}
.mkb-appel-attire::after { animation: mkb-halo 1.5s ease-out 3; }
@keyframes mkb-halo {
  0%   { opacity: .7; transform: scale(1); }
  70%  { opacity: 0;  transform: scale(1.45); }
  100% { opacity: 0;  transform: scale(1.45); }
}
.mkb-appel-attire { animation: mkb-attire 1.5s ease-in-out 3; }
@keyframes mkb-attire {
  0%, 100% { transform: none; }
  12%      { transform: translateY(-5px); }
  24%      { transform: none; }
}
.mkb-panneau[hidden] { display: none !important; }
.mkb-panneau {
  display: flex;
  flex-direction: column;
  width: min(384px, calc(100vw - 2 * var(--v-ilot)));

  height: min(640px, calc(100dvh - 4 * var(--v-ilot)));
  background: var(--carte);
  border: 1px solid var(--carte-bord);
  border-radius: var(--r-ilot);
  box-shadow: 0 18px 44px rgb(0 0 0 / .5);
  overflow: hidden;
}
.mkb-tete {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: none;
  padding-inline: 14px;
  padding-block: 12px;
  background: var(--fond-2);
  border-bottom: 1px solid var(--carte-bord);
}
.mkb-rond {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex: none;
  object-fit: cover;

  box-shadow: 0 0 0 1px var(--bordure-or);
}
.mkb-qui { display: flex; flex-direction: column; gap: 0; flex: 1; min-width: 0; }
.mkb-qui b {
  font-family: var(--police-titres);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .06em;
}
.mkb-qui small { color: var(--texte-2); font-size: var(--t-secondaire); }
.mkb-fermer {
  flex: none;
  width: var(--cible-tactile); height: var(--cible-tactile);
  display: grid; place-items: center;
  background: none; border: 0; color: var(--texte-2);
  font-size: 24px; line-height: 1; cursor: pointer;
  font-family: var(--police-corps);
}
.mkb-fermer:hover { color: var(--texte); }
.mkb-fil {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-inline: 14px;
  padding-block: 14px;
  display: flex;
  flex-direction: column;
  gap: 9px;

  scroll-behavior: auto;
}
.mkb-m {
  max-width: 84%;

  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding-inline: 12px;
  padding-block: 9px;
  font-size: 15px;
  line-height: 1.45;
  border-radius: 15px;
  animation: mkb-monte .24s ease-out both;
}
@keyframes mkb-monte {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: none; }
}
.mkb-m-client {
  align-self: flex-end;
  background: var(--survol);
  border: 1px solid var(--bordure);
  border-bottom-right-radius: 5px;
  color: var(--texte);
}
.mkb-m-auto, .mkb-m-marving {
  align-self: flex-start;
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-bottom-left-radius: 5px;
  color: var(--texte);
}
.mkb-m-marving { border-color: var(--bordure-or); }
.mkb-m a {
  color: var(--or-texte);
  text-decoration: underline;
  overflow-wrap: anywhere;
}
.mkb-etiq {
  display: block;
  font-size: var(--t-mini);
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--texte-2);
  margin-block-end: 3px;
}
.mkb-envoi {
  align-self: flex-end;
  font-size: var(--t-mini);
  line-height: 1.35;
  color: var(--texte-2);
  margin-block: -2px 4px;
  margin-inline-end: 4px;
}
.mkb-mention {
  align-self: flex-start;
  max-inline-size: 85%;
  font-size: var(--t-mini);
  line-height: 1.35;
  color: var(--texte-2);
  margin-block-start: -2px;
  padding-inline: 4px;
}
.mkb-banniere {
  align-self: stretch;
  text-align: center;
  font-size: var(--t-secondaire);
  color: var(--or-texte);
  background: var(--survol);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-pastille);
  padding-inline: 10px;
  padding-block: 4px;
}
.mkb-tape {
  align-self: flex-start;
  display: flex;
  gap: 4px;
  padding-inline: 14px;
  padding-block: 12px;
  background: var(--fond-2);
  border: 1px solid var(--bordure);
  border-radius: 15px;
  border-bottom-left-radius: 5px;
}
.mkb-tape i {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--texte-2); display: block;
  animation: mkb-pulse 1.1s infinite ease-in-out;
}
.mkb-tape i:nth-child(2) { animation-delay: .16s; }
.mkb-tape i:nth-child(3) { animation-delay: .32s; }
@keyframes mkb-pulse {
  0%, 60%, 100% { opacity: .28; transform: translateY(0); }
  30%           { opacity: 1;   transform: translateY(-3px); }
}
.mkb-choix {
  position: relative;
  flex: none;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-inline: 12px;
  padding-block: 11px 10px;

  max-height: min(300px, 40vh);
  overflow-y: auto;
  background: color-mix(in srgb, var(--fond-2) 62%, transparent);
  border-radius: var(--r-carte) var(--r-carte) 0 0;
  box-shadow: 0 -12px 26px -18px rgb(0 0 0 / .75);
}
.mkb-choix::before {
  content: "";
  position: sticky;
  top: 0;
  display: block;

  height: 2px;
  margin-block: -11px 11px;
  border-radius: 2px;
  background: linear-gradient(90deg,
    transparent 0%, var(--or-texte) 26%, var(--or-texte) 74%, transparent 100%);
  opacity: .55;
}
.mkb-choix:empty { display: none; }
.mkb-puce {
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
  min-height: 38px;
  padding-inline: 11px;
  padding-block: 6px;
  background: var(--fond-2);
  color: var(--texte);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  font-family: var(--police-corps);
  font-size: 13.5px;
  line-height: 1.32;
  cursor: pointer;
}
.mkb-puce::before {
  content: "";
  position: absolute;
  inset: -3px 0;

}
.mkb-puce:hover { border-color: var(--bordure-or); background: var(--survol); }
.mkb-puce-or { border-color: var(--bordure-or); color: var(--or-texte); font-weight: 600; }
.mkb-puce-fin { color: var(--texte-2); }
.mkb-numero {
  display: flex;
  flex-direction: column;
  gap: 7px;
  background: var(--fond-2);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-carte);
  padding-inline: 12px;
  padding-block: 12px;
}
.mkb-numero p { margin: 0; font-size: 13.5px; color: var(--texte-2); }
.mkb-numero input {
  min-height: var(--cible-tactile);
  padding-inline: 12px;
  background: var(--carte);
  color: var(--texte);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  font-family: var(--police-corps);

  font-size: var(--t-champ);
}
.mkb-saisie {
  flex: none;
  display: flex;
  gap: 8px;
  align-items: flex-end;
  padding-inline: 10px;
  padding-block: 10px;
  background: var(--fond-2);
  border-top: 1px solid var(--carte-bord);
}
.mkb-saisie textarea {
  flex: 1;
  min-height: var(--cible-tactile);
  max-height: 96px;
  resize: none;
  background: var(--carte);
  color: var(--texte);
  border: 1px solid var(--bordure);
  border-radius: var(--r-ligne);
  padding-inline: 12px;
  padding-block: 11px;
  font-family: var(--police-corps);
  font-size: var(--t-champ);
  line-height: 1.35;
}
.mkb-saisie textarea::placeholder { color: var(--texte-2); }
.mkb-envoyer {
  flex: none;
  width: var(--cible-tactile);
  height: var(--cible-tactile);
  border-radius: var(--r-ligne);
  border: 0;
  background: var(--degrade-or);
  color: var(--sur-degrade);
  font-size: 17px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  line-height: 0;
}
.mkb-envoyer svg { display: block; flex: none; width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.mkb-piege {
  position: absolute;
  inset-inline-start: -9999px;
  width: 1px; height: 1px;
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .mkb-appel-attire, .mkb-appel-attire::after, .mkb-m, .mkb-tape i,
  .mkb-arrive .mkb-appel, .mkb-bulle-q, .mkb-bulle-x,
  .mkb-appel-vu .mkb-vu, .mkb-appel-compte .mkb-compte,
  .mkb-en-ligne, .mkb-en-ligne i, .mkb-tape-annonce { animation: none; }
  .mkb-appel:active { transform: none; }
  .mkb-fil { scroll-behavior: auto; }
}
.mkb-creneaux {
  align-self: flex-start;
  display: flex; flex-direction: column; gap: 8px;
  width: min(92%, 300px);
  animation: mkb-monte .24s ease-out both;
}
.mkb-creneau {
  min-height: var(--cible-tactile);
  padding-inline: 14px; padding-block: 8px;
  background: var(--carte); color: var(--or-texte);
  border: 1px solid var(--bordure-or); border-radius: var(--r-bouton);
  font-family: var(--police-corps); font-size: 14px; font-weight: 600;
  line-height: 1.2; text-align: start; cursor: pointer;
}
.mkb-creneau:hover:not(:disabled) { background: var(--survol); }
.mkb-creneau[aria-pressed="true"] {
  background: var(--or-texte); color: var(--sur-or); border-color: var(--or-texte);
}
.mkb-creneau:disabled:not([aria-pressed="true"]) {
  color: var(--texte-2); border-color: var(--bordure); cursor: default;
}
.mkb-actions {
  align-self: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 92%;
  animation: mkb-monte .24s ease-out both;
}
.mkb-action {
  display: inline-flex;
  align-items: center;

  min-height: var(--cible-tactile);
  padding-inline: 14px;
  padding-block: 8px;
  background: var(--carte);
  color: var(--or-texte);
  border: 1px solid var(--bordure-or);
  border-radius: var(--r-bouton);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
}
.mkb-action:hover { background: var(--survol); }
.mkb-action:first-child {
  background: var(--degrade-or);
  color: var(--sur-degrade);
  border-color: transparent;
}
.mkb-action:first-child:hover { filter: brightness(1.06); }
.mkb-photo { display: block; margin-block-end: 6px; border-radius: 10px; overflow: hidden; }
.mkb-photo img { display: block; max-width: 100%; max-height: 240px; width: auto; height: auto; }
.mkb-creneaux-tete { display: flex; flex-direction: column; gap: 2px; padding-inline: 2px; }
.mkb-creneaux-tete b { font-family: var(--police-corps); font-size: 13px; font-weight: 600; color: var(--texte); }
.mkb-creneaux-tete span { font-family: var(--police-corps); font-size: 12px; color: var(--texte-2); }
.mkb-petit-mot {
  position: fixed; z-index: 2147483000; inset-inline-end: 16px; inset-block-end: 96px;
  max-width: calc(100vw - 32px); padding: 8px 14px; border-radius: 999px;
  background: var(--carte); color: var(--texte); border: 1px solid var(--bordure);
  font-family: var(--police-corps); font-size: 13px; line-height: 1.3;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
  animation: mkb-monte .2s ease-out both;
}
@media (prefers-reduced-motion: reduce) { .mkb-petit-mot { animation: none; } }
select.cf-natif { display: none !important; }
.cf-btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; text-align: start; color: inherit; font: inherit; min-inline-size: 0; }
.cf-btn > .cf-v { flex: 1 1 auto; min-inline-size: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cf-btn > .cf-chev { flex: none; inline-size: 8px; block-size: 13px; opacity: .55; }
.cf-voile { position: fixed; inset: 0; z-index: 2147483000; background: rgba(0, 0, 0, .45); }
.cf-feuille {
  position: fixed; z-index: 2147483001; inset-inline: 0; inset-block-end: 0; max-block-size: 72vh; overflow: auto; scrollbar-width: none;
  padding: 8px 16px calc(18px + env(safe-area-inset-bottom, 0px)); border-radius: 16px 16px 0 0;
  background: #000; color: #fff; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Helvetica Neue", Arial, sans-serif;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, .5); animation: cf-monte .22s cubic-bezier(.32, .72, 0, 1);
}
.cf-feuille::-webkit-scrollbar { display: none; }
@media (min-width: 700px) {
  .cf-feuille { inset: auto; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%); inline-size: min(380px, calc(100vw - 32px)); border-radius: 16px; padding: 8px 16px 16px; animation: none; }
}
@keyframes cf-monte { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .cf-feuille { animation: none; } }
.cf-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-block-size: 44px; }
.cf-tete > b { font-size: 15px; font-weight: 600; }
.cf-fermer { inline-size: 32px; block-size: 32px; border: 0; border-radius: 50%; background: #1C1C1E; color: #AEAEB2; font-size: 20px; line-height: 1; cursor: pointer; }
.cf-liste { display: flex; flex-direction: column; background: #1C1C1E; border-radius: 12px; overflow: hidden; }
.cf-l { position: relative; display: flex; border-radius: 0 !important; box-shadow: none; align-items: center; gap: 12px; inline-size: 100%; min-block-size: 46px; padding: 0 14px; border: 0; background: transparent; color: #fff; font: inherit; font-size: 16px; text-align: start; cursor: pointer; }
.cf-l + .cf-l::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: 14px 0; border-block-start: .5px solid rgba(84, 84, 88, .55); }
.cf-l > .cf-n { flex: 1 1 auto; min-inline-size: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cf-coche { flex: none; inline-size: 16px; block-size: 16px; color: #30D158; opacity: 0; }
.cf-l[aria-selected="true"] { background: rgba(48, 209, 88, .12); }
.cf-l[aria-selected="true"] .cf-coche { opacity: 1; }
@media (hover: hover) and (pointer: fine) { .cf-l:not([aria-selected="true"]):hover { background: rgba(255, 255, 255, .05); } }
.cf-l:focus-visible { outline: 0; box-shadow: inset 0 0 0 2px rgba(48, 209, 88, .75); }
@property --ch-tour { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
:root {
  --ch-acc: var(--dm-accent, var(--rouge-texte, #E5486D));
  --ch-vert: #30D158; --ch-rouge: #FF453A; --ch-orange: #FF9F0A; --ch-jaune: #FFD60A;
  --ch-fond: var(--fond-2, #2C2C2E); --ch-gris: var(--texte-2, #8E8E93); --ch-trait: rgba(84, 84, 88, .42);
  --ch-ressort: cubic-bezier(.2, 1.5, .35, 1); --ch-doux: cubic-bezier(.22, .8, .2, 1);
}
:root[data-af-clair] { --ch-vert: #1F8A3E; --ch-rouge: #D70015; --ch-orange: #B26A00; --ch-jaune: #C79A00; --ch-trait: rgba(60, 60, 67, .18); }
:root .ch-case.ch-case {
  background-color: var(--ch-fond) !important; border: 0 !important; border-radius: 12px !important;
  outline: none !important; box-shadow: 0 0 0 0 transparent inset !important;
  transition: box-shadow .18s ease, background-color .18s ease;
  caret-color: var(--ch-acc);
}
:root input.ch-case, :root textarea.ch-case { min-height: 48px; }
:root .ch-in.ch-in { outline: none !important; caret-color: var(--ch-acc); }
:root .ch-in.ch-in:focus, :root .ch-in.ch-in:focus-visible { outline: none !important; }
:root .ch-case.ch-case[data-f] { box-shadow: 0 0 0 1.5px var(--ch-acc) inset !important; }
:root .ch-case.ch-case[data-etat="ok"] { box-shadow: 0 0 0 0 transparent inset !important; }
:root .ch-case.ch-case[data-etat="ok"][data-f] { box-shadow: 0 0 0 1.5px var(--ch-vert) inset !important; }
:root .ch-case.ch-case[data-etat="ko"] { box-shadow: 0 0 0 1.5px var(--ch-rouge) inset !important; }
:root .ch-in::placeholder { color: var(--ch-gris); opacity: 1; }
:root .ch-in.ch-in[data-ch-bout="1"] { padding-right: 46px !important; }
:root .ch-in.ch-in[data-ch-bout="2"] { padding-right: 80px !important; }
:root .ch-in[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
:where(.ch-hote) { position: relative; }
:root .ch-case[aria-disabled="true"], :root .ch-in:disabled { opacity: .45; }
:root .ch-d.ch-d { position: absolute !important; display: flex !important; max-inline-size: none !important; min-inline-size: 0 !important;
  max-block-size: none !important; min-block-size: 0 !important; margin: 0 !important; flex: none !important; float: none !important;
  clip-path: none !important; transform-origin: center; white-space: nowrap; text-overflow: clip; font-size: 17px; line-height: 1; color: inherit; }
:root .ch-in[hidden] + .ch-d.ch-d, :root .ch-case[hidden] > .ch-d.ch-d { display: none !important; }
:root .ch-d.ch-d:is([data-ancre], [data-dedans]) { inline-size: auto !important; block-size: auto !important; }
:root .ch-bout.ch-bout { display: flex !important; position: static !important; max-inline-size: none !important; inline-size: auto !important; clip-path: none !important; }
.ch-d {
  position: absolute; z-index: 1; pointer-events: none; border-radius: 12px;
  display: flex; align-items: center; justify-content: flex-end; gap: 4px; box-sizing: border-box;
}
.ch-d[data-ancre] { top: anchor(top); left: anchor(left); right: anchor(right); bottom: anchor(bottom); }
.ch-d[data-dedans] { inset: 0; }
.ch-d[data-long] { align-items: flex-end; padding-bottom: 12px; }
.ch-d > .ch-bout, .ch-case > .ch-bout { display: flex; align-items: center; gap: 4px; margin-right: 12px; flex: none; }
.ch-case > .ch-bout { pointer-events: none; } .ch-case > .ch-bout .ch-bt { pointer-events: auto; }
.ch-case[data-etat="ok"] > .ch-bout .ch-ok { transform: scale(1); opacity: 1; transition: transform .42s var(--ch-ressort), opacity .2s; }
.ch-bt {
  pointer-events: auto; flex: none; border: 0; background: transparent; width: 32px; height: 32px; padding: 0;
  border-radius: 10px; display: grid; place-items: center; color: var(--ch-gris); cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.ch-bt svg { width: 20px; height: 20px; }
:root .ch-d .ch-bt > svg, :root .ch-case > .ch-bout .ch-bt > svg { position: static !important; inset: auto !important; margin: 0 !important;
  inline-size: 20px !important; block-size: 20px !important; transform: none !important; }
:root .ch-d .ch-ok > svg, :root .ch-case > .ch-bout .ch-ok > svg { position: static !important; inset: auto !important; margin: 0 !important; }
.ch-bt[hidden] { display: none; }
.ch-bt:focus-visible { outline: 2px solid var(--ch-acc); outline-offset: 0; }
.ch-ok {
  position: relative; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--ch-vert); color: #fff;
  display: grid; place-items: center; transform: scale(0); opacity: 0;
  transition: transform .28s cubic-bezier(.2, 1.4, .4, 1), opacity .18s ease;
}
.ch-ok svg { width: 13px; height: 13px; }
.ch-ok::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid var(--ch-vert); opacity: 0; transform: scale(.6); }
.ch-d[data-etat="ok"] .ch-ok { transform: scale(1); opacity: 1; transition: transform .42s var(--ch-ressort), opacity .2s; }
.ch-d[data-etat="ok"] .ch-ok svg path, .ch-case[data-etat="ok"] > .ch-bout .ch-ok svg path { stroke-dasharray: 24; stroke-dashoffset: 24; animation: ch-trait .38s .12s var(--ch-doux) forwards; }
.ch-d.ch-vient .ch-ok::after { animation: ch-onde .7s var(--ch-doux); }
.ch-d.ch-vient { animation: ch-lueur .9s var(--ch-doux); }
@keyframes ch-trait { to { stroke-dashoffset: 0; } }
@keyframes ch-onde { 0% { opacity: .9; transform: scale(.6); } 100% { opacity: 0; transform: scale(2.4); } }
@keyframes ch-lueur { 0% { box-shadow: 0 0 0 1.5px var(--ch-vert) inset, 0 0 0 0 color-mix(in srgb, var(--ch-vert) 45%, transparent); } 100% { box-shadow: 0 0 0 0 transparent inset, 0 0 0 10px transparent; } }
.ch-secoue { animation: ch-non .42s var(--ch-doux); }
@keyframes ch-non { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-6px); } 40% { transform: translateX(5px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }
.ch-sous { display: flex; gap: 8px; align-items: center; min-height: 16px; margin-top: 6px; font-size: 12px; line-height: 16px; color: var(--ch-gris); padding: 0 4px; box-sizing: border-box; }
.ch-sous[hidden] { display: none; }
.ch-sous .ch-m { flex: 1 1 auto; min-width: 0; }
.ch-sous .ch-c { flex: none; margin-left: auto; font-variant-numeric: tabular-nums; }
.ch-sous[data-ton="ko"] .ch-m { color: var(--ch-rouge); }
.ch-sous[data-ton="ok"] .ch-m { color: var(--ch-vert); }
.ch-sous .ch-c[data-ton="presque"] { color: var(--ch-orange); }
.ch-sous[data-ton] .ch-m { animation: ch-monte .3s var(--ch-doux); }
@keyframes ch-monte { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.ch-force { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 4px; align-items: center; margin-top: 8px; padding: 0 4px; box-sizing: border-box; }
.ch-force i { position: relative; height: 4px; border-radius: 2px; overflow: hidden; background: var(--ch-fond); }
.ch-force i::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: var(--ch-c, var(--ch-vert)); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ch-ressort), background .25s; }
.ch-force i:nth-child(2)::after { transition-delay: .04s; } .ch-force i:nth-child(3)::after { transition-delay: .08s; } .ch-force i:nth-child(4)::after { transition-delay: .12s; }
.ch-force[data-n="1"] { --ch-c: var(--ch-rouge); } .ch-force[data-n="2"] { --ch-c: var(--ch-orange); }
.ch-force[data-n="3"] { --ch-c: var(--ch-jaune); } .ch-force[data-n="4"] { --ch-c: var(--ch-vert); }
.ch-force[data-n="1"] i:nth-child(-n+1)::after, .ch-force[data-n="2"] i:nth-child(-n+2)::after,
.ch-force[data-n="3"] i:nth-child(-n+3)::after, .ch-force[data-n="4"] i:nth-child(-n+4)::after { transform: scaleX(1); }
.ch-force .ch-p { margin-left: 6px; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: var(--ch-fond); color: var(--ch-gris); white-space: nowrap; min-width: 72px; text-align: center; transition: color .25s, background .25s; }
.ch-force:not([data-n="0"]) .ch-p { color: var(--ch-c); background: color-mix(in srgb, var(--ch-c) 16%, transparent); }
.ch-force .ch-p.ch-change { animation: ch-monte .28s var(--ch-doux); }
.ch-crit { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; padding: 0 2px; }
.ch-crit span { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; padding: 3px 9px; border-radius: 999px; background: var(--ch-fond); color: var(--ch-gris); white-space: nowrap; transition: background .2s, color .2s; }
.ch-crit span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .6; }
.ch-crit span.ch-oui { color: var(--ch-vert); background: color-mix(in srgb, var(--ch-vert) 14%, transparent); animation: ch-pop .35s var(--ch-ressort); }
.ch-crit span.ch-oui::before { opacity: 1; }
@keyframes ch-pop { 0% { transform: scale(.9); } 60% { transform: scale(1.06); } 100% { transform: none; } }
:root .ch-code > input { transition: box-shadow .18s; }
:root .ch-code > input:focus { box-shadow: 0 0 0 1.5px var(--ch-acc) inset !important; outline: none !important; }
:root .ch-code[data-etat="ok"] > input { box-shadow: 0 0 0 1.5px var(--ch-vert) inset !important; animation: ch-vague .6s var(--ch-ressort) both; }
.ch-code > input.ch-tape { animation: ch-pop .3s var(--ch-ressort); }
.ch-code[data-etat="ok"] > input:nth-child(2) { animation-delay: .05s; } .ch-code[data-etat="ok"] > input:nth-child(3) { animation-delay: .1s; }
.ch-code[data-etat="ok"] > input:nth-child(4) { animation-delay: .15s; } .ch-code[data-etat="ok"] > input:nth-child(5) { animation-delay: .2s; }
.ch-code[data-etat="ok"] > input:nth-child(6) { animation-delay: .25s; }
@keyframes ch-vague { 0% { transform: none; } 40% { transform: translateY(-6px) scale(1.06); } 100% { transform: none; } }
.ch-fl { display: none; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); transform-origin: left center; color: var(--ch-gris);
  font-size: 17px; white-space: nowrap; max-width: calc(100% - 70px); overflow: hidden; text-overflow: ellipsis; transition: transform .3s var(--ch-doux), color .2s; }
.ch-d[data-long] .ch-fl { top: 22px; }
:root[data-ch-style="flottant"] .ch-fl { display: block; }
:root[data-ch-style="flottant"] input.ch-in.ch-in[data-ch-fl] { min-height: 56px; padding-top: 20px !important; padding-bottom: 4px !important; }
:root[data-ch-style="flottant"] textarea.ch-in.ch-in[data-ch-fl] { padding-top: 26px !important; }
:root[data-ch-style="flottant"] .ch-in[data-ch-fl]::placeholder { opacity: 0; transition: opacity .2s; }
:root[data-ch-style="flottant"] .ch-in[data-ch-fl]:focus::placeholder { opacity: 1; transition-delay: .12s; }
:root[data-ch-style="flottant"] .ch-d:is([data-f], [data-plein]) .ch-fl { transform: translateY(-118%) scale(.72); }
:root[data-ch-style="flottant"] .ch-d[data-f] .ch-fl { color: var(--ch-acc); }
:root[data-ch-style="flottant"] .ch-d[data-etat="ok"] .ch-fl { color: var(--ch-vert); }
:root[data-ch-style="ligne"] .ch-case.ch-case, :root[data-ch-style="ligne"] .ch-case.ch-case[data-f], :root[data-ch-style="ligne"] .ch-case.ch-case[data-etat],
:root[data-ch-style="ligne"] .ch-case.ch-case[data-etat][data-f] { background-color: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
:root[data-ch-style="ligne"] .ch-d { border-radius: 0; }
:root[data-ch-style="ligne"] .ch-d::before, :root[data-ch-style="ligne"] .ch-d::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--ch-trait); }
:root[data-ch-style="ligne"] .ch-d::after { height: 2px; background: var(--ch-acc); transform: scaleX(0); transition: transform .4s var(--ch-doux), background .2s; }
:root[data-ch-style="ligne"] .ch-d[data-f]::after { transform: scaleX(1); }
:root[data-ch-style="ligne"] .ch-d[data-etat="ok"]::after { background: var(--ch-vert); transform: scaleX(1); }
:root[data-ch-style="ligne"] .ch-d[data-etat="ko"]::after { background: var(--ch-rouge); transform: scaleX(1); }
:root[data-ch-style="ligne"] .ch-d.ch-vient { animation: none; }
:root[data-ch-style="ligne"] .ch-code > input { border-radius: 0 !important; background: transparent !important; box-shadow: 0 1px 0 var(--ch-trait) !important; }
:root[data-ch-style="ligne"] .ch-code > input:focus { box-shadow: 0 2px 0 var(--ch-acc) !important; }
:root[data-ch-style="verre"] .ch-case.ch-case,
:root[data-ch-style="verre"] .ch-code > input { background-color: color-mix(in srgb, var(--texte, #fff) 7%, transparent) !important; box-shadow: 0 0 0 .5px color-mix(in srgb, var(--texte, #fff) 18%, transparent) inset !important; }
:root[data-ch-style="verre"] .ch-case.ch-case[data-f] { box-shadow: 0 0 0 1.5px color-mix(in srgb, var(--ch-acc) 80%, transparent) inset !important; }
:root[data-ch-style="verre"] .ch-case.ch-case[data-etat="ok"], :root[data-ch-style="verre"] .ch-case.ch-case[data-etat="ok"][data-f] { box-shadow: 0 0 0 1px color-mix(in srgb, var(--ch-vert) 70%, transparent) inset !important; }
:root[data-ch-style="verre"] .ch-case.ch-case[data-etat="ko"] { box-shadow: 0 0 0 1.5px var(--ch-rouge) inset !important; }
:root[data-ch-style="verre"] .ch-d { overflow: hidden; }
:root[data-ch-style="verre"] .ch-d::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, transparent 30%, color-mix(in srgb, var(--texte, #fff) 16%, transparent) 50%, transparent 70%); transform: translateX(-120%); }
:root[data-ch-style="verre"] .ch-d[data-f]::before { transform: translateX(120%); transition: transform .9s var(--ch-doux); }
:root[data-ch-style="neon"] .ch-d::before { content: ""; position: absolute; inset: -1.5px; border-radius: 13.5px; padding: 1.5px;
  background: conic-gradient(from var(--ch-tour), var(--ch-acc), #BF5AF2, #64D2FF, var(--ch-acc));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .3s; }
:root[data-ch-style="neon"] .ch-d[data-f] { box-shadow: 0 0 22px -4px color-mix(in srgb, var(--ch-acc) 70%, transparent); }
:root[data-ch-style="neon"] .ch-d[data-f]::before { opacity: 1; animation: ch-tourne 2.4s linear infinite; }
:root[data-ch-style="neon"] .ch-d[data-etat="ok"]::before { opacity: 1; background: conic-gradient(from var(--ch-tour), var(--ch-vert), #64D2FF, var(--ch-vert)); animation: ch-tourne 3.2s linear infinite; }
:root[data-ch-style="neon"] .ch-d[data-etat="ok"] { box-shadow: 0 0 22px -6px color-mix(in srgb, var(--ch-vert) 75%, transparent); }
:root[data-ch-style="neon"] .ch-d[data-etat="ko"]::before { opacity: 1; background: var(--ch-rouge); animation: none; }
:root[data-ch-style="neon"] .ch-case.ch-case[data-f], :root[data-ch-style="neon"] .ch-case.ch-case[data-etat], :root[data-ch-style="neon"] .ch-case.ch-case[data-etat][data-f] { box-shadow: none !important; }
:root[data-ch-style="neon"] .ch-code > input:focus { box-shadow: 0 0 0 1.5px var(--ch-acc) inset, 0 0 18px -4px var(--ch-acc) !important; }
@keyframes ch-tourne { to { --ch-tour: 360deg; } }
.ch-glis { position: absolute; z-index: 0; left: 0; top: 0; border-radius: 999px; pointer-events: none;
  background: color-mix(in srgb, var(--ch-acc) 22%, transparent); box-shadow: 0 0 0 1px var(--ch-acc) inset;
  transition: transform .42s var(--ch-ressort), width .42s var(--ch-ressort), height .3s; }
:root[data-af-calme] :is(.ch-d, .ch-d *, .ch-ok, .ch-case, .ch-secoue, .ch-sous *, .ch-force *, .ch-crit *, .ch-code > input, .ch-glis),
:root[data-af-calme] :is(.ch-d, .ch-ok, .ch-force i)::before, :root[data-af-calme] :is(.ch-d, .ch-ok, .ch-force i)::after { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  :is(.ch-d, .ch-d *, .ch-ok, .ch-case, .ch-secoue, .ch-sous *, .ch-force *, .ch-crit *, .ch-code > input, .ch-glis),
  :is(.ch-d, .ch-ok, .ch-force i)::before, :is(.ch-d, .ch-ok, .ch-force i)::after { animation: none !important; transition: none !important; }
}
:root:root .ch-in.ch-in.ch-in[data-ch-rang] { text-align: end !important; background-color: transparent !important; box-shadow: none !important;
  border-radius: 0 !important; padding-inline-end: 46px !important; font-size: var(--ch-taille, inherit) !important; }
:root:root .ch-in.ch-in.ch-in[data-ch-rang][data-ch-bout="2"] { padding-inline-end: 80px !important; }
:root:root .ch-in.ch-in.ch-in[data-ch-rang][data-etat="ko"] { color: var(--ch-rouge) !important; }
:root:root .ch-in.ch-in.ch-in[data-ch-seul] { text-align: start !important; }
:root:root .ch-d.ch-d[data-ch-rang] { box-shadow: none !important; animation: none !important; border-radius: 0; }
:root:root .ch-d.ch-d[data-ch-rang]::before, :root:root .ch-d.ch-d[data-ch-rang]::after { content: none !important; }
:root:root .ch-d.ch-d[data-ch-rang] .ch-fl { display: none !important; }
:root [data-ch-groupe][data-ch-groupe]:focus-within, :root [data-ch-sans-tour][data-ch-sans-tour]:focus-within { box-shadow: none !important; outline: none !important; }
