/* ══════════════════════════════════════════════════════════
   Serenity Thaï Massage — Aix-en-Provence
   Direction artistique : « Sen Sib » — nuit de teck, dorure,
   soie bordeaux, vert jade. Fil rouge : le lotus, les lignes
   d’énergie (sen) et la fenêtre en arche des temples thaïs.
   ══════════════════════════════════════════════════════════ */

:root{
  /* palette — rôles */
  --nuit:#130d0a;        /* fond principal : teck brûlé */
  --ebene:#1d1511;       /* surfaces sombres, cartes */
  --soie:#f3e9d6;        /* texte clair / sections claires */
  --or:#c9a15b;          /* accent principal : dorure */
  --or-clair:#ecd29a;    /* survol, titres dorés */
  --rubis:#8a2a3a;       /* accent chaud : soie bordeaux */
  --jade:#24493a;        /* accent frais : vert du logo */
  --jade-fonce:#16302a;  /* sections jade */

  --ff-display:'Cormorant Garamond',Georgia,serif;
  --ff-body:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ff-thai:'Noto Serif Thai','Cormorant Garamond',serif;

  --ease:cubic-bezier(.22,1,.36,1);
  --gut:clamp(1.25rem,4.2vw,4.5rem);
  --edge-h:clamp(22px,3.2vw,46px);
  --petal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 76 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40C14 40 32 26 38 0C44 26 62 40 76 40Z'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;background:var(--nuit);color:var(--soie);
  font:400 clamp(1rem,.95rem + .22vw,1.12rem)/1.65 var(--ff-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;
}
img,video,svg,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,p,ul,ol,figure,blockquote,address,table{margin:0;padding:0}
ul,ol{list-style:none}
address{font-style:normal}
::selection{background:var(--or);color:var(--nuit)}
:focus-visible{outline:2px solid var(--or-clair);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.thai{font-family:var(--ff-thai);font-weight:300;font-style:normal}
svg.i{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

.skip{position:fixed;left:1rem;top:-6rem;z-index:300;background:var(--or);color:var(--nuit);padding:.7rem 1.1rem;border-radius:10px;font-weight:500}
.skip:focus{top:1rem}

/* ── Overlays globaux ─────────────────────────────────── */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:130;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--rubis),var(--or),var(--or-clair));transform-origin:0 50%;transform:scaleX(0)}
.grain{position:fixed;inset:0;z-index:92;pointer-events:none;opacity:.075;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%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 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cursor{position:fixed;left:0;top:0;z-index:200;pointer-events:none;display:none}
.cursor span{display:block;width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid var(--or);border-radius:50%;transition:transform .45s var(--ease),background .3s,border-color .3s}
.cursor.is-hover span{transform:scale(1.9);background:rgba(201,161,91,.14)}
@media (hover:hover) and (pointer:fine){.js .cursor{display:block}}

/* ── Préchargeur ──────────────────────────────────────── */
.loader{position:fixed;inset:0;z-index:150;display:none;place-items:center;background:var(--nuit);color:var(--or);--r:0vmax;
  -webkit-mask-image:radial-gradient(circle at 50% 46%,transparent var(--r),#000 calc(var(--r) + 1px));
          mask-image:radial-gradient(circle at 50% 46%,transparent var(--r),#000 calc(var(--r) + 1px))}
.js .loader{display:grid;animation:loader-failsafe 0s linear 8s forwards}
@keyframes loader-failsafe{to{visibility:hidden;opacity:0}}
.loader__center{display:grid;justify-items:center;gap:.5rem;text-align:center}
.loader__thai{font:300 1.7rem/1 var(--ff-thai);letter-spacing:.08em;opacity:0}
.loader__lotus{width:clamp(110px,16vw,170px);height:auto;overflow:visible}
.loader__lotus path{stroke-dasharray:1;stroke-dashoffset:1}
.loader__name{font:300 italic clamp(2rem,5vw,3.4rem)/1 var(--ff-display);color:var(--soie);letter-spacing:.06em;opacity:0}
.loader__count{font:500 .78rem/1 var(--ff-body);letter-spacing:.34em;color:var(--or);margin-top:.9rem;font-variant-numeric:tabular-nums}
.loader__count sup{font-size:.7em;margin-left:.15em}
html.is-loading{overflow:hidden}

/* ── Typographie ──────────────────────────────────────── */
.h2{font:300 clamp(2.4rem,6vw,6.2rem)/.98 var(--ff-display);letter-spacing:-.015em}
.h2--xl{font-size:clamp(3rem,9.2vw,9.8rem)}
.h2--dark{color:var(--nuit)}
.eyebrow{display:flex;align-items:center;gap:.9rem;font:500 .74rem/1.3 var(--ff-body);letter-spacing:.3em;text-transform:uppercase;color:var(--or)}
.eyebrow::before{content:'';width:2.6rem;height:1px;background:currentColor;flex:none}
.eyebrow--dark{color:var(--rubis)}
.sp-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .04em .2em;margin:-.06em -.04em -.2em}
.sp-c{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .05em .22em;margin:-.06em -.05em -.22em}
.sp-i{display:inline-block;will-change:transform}
.link{position:relative;display:inline-block}
.link::after{content:'';position:absolute;left:0;right:0;bottom:-.3em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .55s var(--ease)}
.link:hover::after,.link:focus-visible::after{transform:scaleX(1);transform-origin:0 50%}
.tlink{position:relative;display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;color:inherit;padding:.15rem 0}
.tlink::after{content:'';position:absolute;left:0;right:0;bottom:-.1em;height:1px;background:currentColor;transform:scaleX(.0);transform-origin:100% 50%;transition:transform .55s var(--ease)}
.tlink:hover::after,.tlink:focus-visible::after{transform:scaleX(1);transform-origin:0 50%}
.tlink--dark{color:var(--nuit)}

/* ── Boutons ──────────────────────────────────────────── */
.btn{--bg:transparent;--fg:var(--soie);--bd:var(--or);--fill:var(--or);--fg-h:var(--nuit);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:1.05rem 1.9rem;border:1px solid var(--bd);border-radius:999px;color:var(--fg);background:var(--bg);
  font:500 .8rem/1 var(--ff-body);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;
  overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s var(--ease);will-change:transform}
.btn::before{content:'';position:absolute;inset:-1px;z-index:-1;background:var(--fill);
  transform:translateY(102%);border-radius:50% 50% 0 0/140% 140% 0 0;
  transition:transform .65s var(--ease),border-radius .65s var(--ease)}
.btn:hover::before,.btn:focus-visible::before{transform:none;border-radius:0}
.btn:hover,.btn:focus-visible{color:var(--fg-h)}
.btn__t{display:inline-block;will-change:transform}
.btn__i{transition:transform .5s var(--ease)}
.btn:hover .btn__i{transform:translateX(5px)}
.btn--solid{--bg:var(--or);--fg:var(--nuit);--fill:var(--soie);--fg-h:var(--nuit)}
.btn--ghost{--bg:rgba(19,13,10,.28);--fg:var(--soie);--fill:var(--or);--fg-h:var(--nuit);backdrop-filter:blur(6px)}
.btn--dark{--bg:var(--nuit);--fg:var(--soie);--bd:var(--nuit);--fill:var(--rubis);--fg-h:var(--soie)}
.btn--outline-dark{--bg:transparent;--fg:var(--nuit);--bd:var(--nuit);--fill:var(--nuit);--fg-h:var(--soie)}
.btn--wa{--bg:transparent;--fg:var(--soie);--bd:var(--soie);--fill:var(--soie);--fg-h:var(--nuit)}
.btn--sm{padding:.82rem 1.35rem;font-size:.72rem}

/* ── Navigation ───────────────────────────────────────── */
.nav{position:fixed;inset:0 0 auto 0;z-index:100;display:flex;align-items:center;gap:2.4rem;padding:1.15rem var(--gut);
  transition:transform .7s var(--ease),background .5s,padding .5s var(--ease)}
.nav.is-solid{background:rgba(19,13,10,.8);backdrop-filter:blur(16px);padding-block:.7rem;border-bottom:1px solid rgba(201,161,91,.18)}
.nav.is-hidden{transform:translateY(-115%)}
.nav__logo{display:flex;align-items:center;gap:.75rem;margin-right:auto}
.nav__lotus{width:2.3rem;height:2.3rem;color:var(--or);stroke-width:2.6}
.nav__logo span{display:flex;flex-direction:column;font:500 1.6rem/1 var(--ff-display);letter-spacing:.05em}
.nav__logo small{font:400 .56rem/1 var(--ff-body);letter-spacing:.34em;text-transform:uppercase;color:var(--or);margin-top:.4rem}
.nav__links{display:flex;gap:2.2rem;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase}
.burger{display:none;position:relative;width:2.8rem;height:2.8rem;border:1px solid rgba(243,233,214,.35);border-radius:50%;z-index:101}
.burger i{position:absolute;left:50%;width:1.1rem;height:1px;background:var(--soie);margin-left:-.55rem;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger i:nth-child(1){top:calc(50% - 4px)}
.burger i:nth-child(2){top:calc(50% + 3px)}
.burger[aria-expanded="true"] i:nth-child(1){top:50%;transform:rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){top:50%;transform:rotate(-45deg)}

.menu{position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;justify-content:space-between;
  padding:6.5rem var(--gut) 2rem;background:var(--jade-fonce);visibility:hidden;
  clip-path:circle(0 at calc(100% - 2.9rem) 2.6rem);transition:clip-path .9s var(--ease),visibility 0s .9s}
.menu.is-open{visibility:visible;clip-path:circle(150% at calc(100% - 2.9rem) 2.6rem);transition:clip-path .9s var(--ease),visibility 0s}
.menu__in{display:grid;gap:.4rem}
.menu__in a{display:flex;align-items:baseline;gap:1rem;font:300 clamp(2.6rem,11vw,4.6rem)/1.12 var(--ff-display);opacity:0;transform:translateY(46px);transition:opacity .5s,transform .9s var(--ease)}
.menu.is-open .menu__in a{opacity:1;transform:none;transition-delay:calc(.3s + var(--i,0)*.07s)}
.menu__in a:nth-child(1){--i:0}.menu__in a:nth-child(2){--i:1}.menu__in a:nth-child(3){--i:2}.menu__in a:nth-child(4){--i:3}.menu__in a:nth-child(5){--i:4}.menu__in a:nth-child(6){--i:5}
.menu__in a>span{font:italic 400 1.1rem/1 var(--ff-display);color:var(--or);min-width:1.8rem}
.menu__cta{color:var(--or-clair);font-style:italic}
.menu__foot{display:grid;gap:.7rem;font-size:.95rem;color:rgba(243,233,214,.75)}
.menu__foot a{display:inline-flex;align-items:center;gap:.6rem;font:300 2rem/1 var(--ff-display);color:var(--or-clair)}

/* ── Hero ─────────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;isolation:isolate;background:var(--nuit)}
.hero__media{position:absolute;inset:-7% 0;z-index:-4}
.hero__video{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transform-origin:50% 40%}
.hero__shade{position:absolute;inset:0;z-index:-3;
  background:radial-gradient(130% 90% at 30% 100%,rgba(19,13,10,.92),transparent 62%),
             linear-gradient(180deg,rgba(19,13,10,.6),rgba(19,13,10,.12) 34%,rgba(19,13,10,.7))}
.hero__mandala{position:absolute;z-index:-2;width:min(100vmin,980px);height:auto;left:50%;top:44%;translate:-50% -50%;color:var(--or);opacity:.3;pointer-events:none}
.hero__sen{position:absolute;inset:0;z-index:-2;width:100%;height:100%;color:var(--or);opacity:.5;pointer-events:none}
.hero__sen .sen,.story__sen .sen,.stats__sen .sen{stroke-dasharray:1;stroke-dashoffset:1}
.hero__petals{position:absolute;inset:0;z-index:2;pointer-events:none}
.petal{position:absolute;left:0;top:0;width:var(--s,26px);height:calc(var(--s,26px)*1.5);color:var(--c,var(--or));opacity:.0;will-change:transform}
.petal svg{width:100%;height:100%;display:block}
.hero__inner{position:relative;z-index:3;padding:9rem var(--gut) clamp(6.5rem,13vh,9.5rem);max-width:1700px;width:100%;margin-inline:auto}
.hero__eyebrow{margin-bottom:1rem}
.hero__title{font-family:var(--ff-display);font-weight:300;line-height:.84;letter-spacing:-.02em}
.hero__t1{display:block;font-size:clamp(4.8rem,19.5vw,21rem);color:var(--soie);margin-left:-.04em}
.hero__t2{display:block;font-size:clamp(2rem,7.6vw,8.4rem);font-weight:400;line-height:1.05;color:var(--or-clair);padding-left:.06em;margin-top:.05em}
.hero__t2 em{font-style:italic;font-weight:300}
.hero__lead{max-width:36rem;margin-top:1.6rem;font-size:clamp(1.02rem,.95rem + .35vw,1.28rem);color:rgba(243,233,214,.9)}
.hero__cta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero__foot{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.1rem var(--gut);border-top:1px solid rgba(243,233,214,.18);background:linear-gradient(0deg,rgba(19,13,10,.55),transparent)}
.chip{display:inline-flex;align-items:center;gap:.7rem;font-size:.82rem;letter-spacing:.06em}
.chip b{font-weight:500}
.chip__stars{display:inline-flex;color:var(--or)}
.chip__stars svg{width:.95rem;height:.95rem}
.dot{width:.55rem;height:.55rem;border-radius:50%;background:#7bd389;box-shadow:0 0 0 0 rgba(123,211,137,.55);animation:pulse 2.4s infinite;flex:none}
.is-closed .dot{background:var(--rubis);animation:none}
@keyframes pulse{70%{box-shadow:0 0 0 .6rem rgba(123,211,137,0)}100%{box-shadow:0 0 0 0 rgba(123,211,137,0)}}
.hero__scroll{display:flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--or)}
.hero__scroll i{width:1px;height:44px;background:linear-gradient(var(--or),transparent);transform-origin:50% 0;animation:cue 2.4s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:50% 0}51%{transform-origin:50% 100%}100%{transform:scaleY(0);transform-origin:50% 100%}}
.vbtn{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid rgba(243,233,214,.35);border-radius:50%;transition:background .3s,border-color .3s}
.vbtn:hover{background:rgba(243,233,214,.12);border-color:var(--or)}

/* ── Marquee ──────────────────────────────────────────── */
.marquee{position:relative;z-index:1;background:var(--nuit);padding:2.4rem 0 1.6rem;overflow:hidden}
.marquee__row{overflow:hidden;white-space:nowrap;line-height:1}
.marquee__track{display:inline-flex;align-items:center;gap:2.4rem;padding-right:2.4rem;will-change:transform}
.marquee__row span{font:300 italic clamp(2.4rem,6.4vw,6rem)/1.25 var(--ff-display);color:var(--soie)}
.marquee__row--thai span{color:transparent;-webkit-text-stroke:1px var(--or);font-style:normal}
.marquee__row--thai span.thai{font-weight:400}
.orn{width:.85rem;height:.85rem;background:var(--or);transform:rotate(45deg);flex:none;border-radius:2px 50% 2px 50%}

/* ── Pétales de lotus entre les sections ──────────────── */
.edge{position:relative;background:var(--edge-bg,var(--nuit));--edge-bg:var(--nuit);z-index:1}
.edge--ebene{--edge-bg:var(--ebene)}
.edge--soie{--edge-bg:var(--soie)}
.edge--jade{--edge-bg:var(--jade-fonce)}
.edge::before{content:'';position:absolute;left:0;right:0;top:calc(var(--edge-h)*-1 + 1px);height:var(--edge-h);z-index:3;pointer-events:none;
  background:var(--edge-bg);
  -webkit-mask:var(--petal) repeat-x 50% 100%/calc(var(--edge-h)*1.9) var(--edge-h);
          mask:var(--petal) repeat-x 50% 100%/calc(var(--edge-h)*1.9) var(--edge-h)}

/* ── Le salon : storytelling épinglé ──────────────────── */
.story{color:var(--soie)}
.story__stage{position:relative;height:100svh;min-height:640px;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(1.5rem,5vw,6rem);
  padding:calc(var(--edge-h) + 3.6rem) var(--gut) 3rem;align-items:center;max-width:1700px;margin-inline:auto}
.story__left{display:flex;flex-direction:column;gap:1.2rem;min-width:0}
.story .h2{max-width:14ch}
.story__steps{position:relative;margin-top:1rem;min-height:clamp(250px,38vh,360px)}
.step{position:absolute;inset:0;opacity:0;visibility:hidden}
.step.is-active{opacity:1;visibility:visible}
.step__n{display:block;font:300 italic clamp(3.6rem,8vw,7.6rem)/.9 var(--ff-display);color:var(--or)}
.step__t{font:400 clamp(1.9rem,3.2vw,3rem)/1.05 var(--ff-display);margin:.2rem 0 .8rem}
.step p{max-width:34rem;color:rgba(243,233,214,.82)}
.step__m{display:none}
.story__prog{height:1px;background:rgba(243,233,214,.2);margin-top:.5rem}
.story__prog i{display:block;height:100%;background:var(--or);transform-origin:0 50%;transform:scaleX(0)}
.story__right{position:relative;height:min(76vh,760px);justify-self:center;width:min(100%,560px)}
.story__frame{position:absolute;inset:0;border-radius:999px 999px 16px 16px;overflow:hidden;background:var(--nuit);box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.story__frame::after{content:'';position:absolute;inset:14px;border:1px solid rgba(236,210,154,.55);border-radius:999px 999px 6px 6px;z-index:3;pointer-events:none}
.sf{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.18);clip-path:circle(0% at 50% 62%)}
.sf.is-on{opacity:1;transform:none;clip-path:circle(150% at 50% 62%)}
.story__big{position:absolute;right:9%;bottom:5%;z-index:4;font-size:clamp(4rem,8vw,7.5rem);line-height:1;color:rgba(243,233,214,.8);mix-blend-mode:soft-light;pointer-events:none}
.story__sen{position:absolute;left:-20%;top:-5%;width:34%;height:110%;color:var(--or);opacity:.55;z-index:5;pointer-events:none}

/* ── Les soins : défilement horizontal ────────────────── */
.soins{color:var(--soie)}
.soins__pin{position:relative;height:100svh;min-height:620px;display:flex;align-items:center;padding-top:var(--edge-h);overflow:hidden}
.soins__track{display:flex;align-items:center;gap:clamp(1.4rem,3vw,3.4rem);padding:0 var(--gut);will-change:transform}
.panel{flex:none;display:flex;flex-direction:column;justify-content:center;gap:1.3rem}
.panel--intro{width:min(80vw,640px)}
.panel__lead{max-width:30rem;color:rgba(243,233,214,.85)}
.panel__lead strong{color:var(--or-clair);font-weight:500}
.panel__hint{display:flex;align-items:center;gap:.8rem;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or);margin-top:.6rem}
.panel__hint svg{animation:nudge 1.8s var(--ease) infinite}
@keyframes nudge{50%{transform:translateX(8px)}}
.panel--end{width:min(70vw,520px);align-items:flex-start;padding-right:6vw}
.panel__big{font-size:clamp(6rem,15vw,14rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--or)}
.offer{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.8rem;align-self:flex-start;padding:.55rem 1.1rem .55rem .55rem;border:1px solid var(--or);border-radius:999px;font-size:.92rem}
.offer__tag{background:var(--rubis);color:var(--soie);padding:.3rem .8rem;border-radius:999px;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}

.card{position:relative;flex:none;width:clamp(290px,26vw,420px);height:min(76vh,690px);display:flex;flex-direction:column;
  border:1px solid rgba(201,161,91,.32);border-radius:999px 999px 22px 22px;background:linear-gradient(180deg,#201712,#140e0b);overflow:hidden;
  transition:border-color .5s;will-change:transform}
.card:hover{border-color:var(--or)}
.card__img{position:relative;flex:0 0 43%;overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.card:hover .card__img img{transform:scale(1.14)}
.card__img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#201712)}
.card__body{position:relative;flex:1;display:flex;flex-direction:column;gap:.55rem;padding:.4rem 1.7rem 1.5rem;min-height:0}
.card__no{position:absolute;left:1.7rem;top:-1.6rem;font:300 italic 1.2rem/1 var(--ff-display);color:var(--or)}
.card__thai{position:absolute;right:1.4rem;top:-2.9rem;font-size:3rem;line-height:1;color:var(--or-clair);opacity:.95;text-shadow:0 2px 18px rgba(19,13,10,.7)}
.card__t{font:400 clamp(1.6rem,2.1vw,2.1rem)/1.05 var(--ff-display);margin-top:.35rem}
.card__t em{display:block;font-size:.72em;color:var(--or-clair)}
.card p{font-size:.93rem;line-height:1.55;color:rgba(243,233,214,.8)}
.prices{display:flex;gap:1.3rem;margin-top:auto;margin-bottom:.4rem}
.prices li{display:flex;align-items:baseline;gap:.55rem;border-bottom:1px solid rgba(201,161,91,.4);padding-bottom:.25rem}
.prices span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.prices b{font:500 1.75rem/1 var(--ff-display)}
.card .btn{align-self:flex-start}
.glare{position:absolute;left:0;top:0;width:70%;aspect-ratio:1;margin:-35% 0 0 -35%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,236,190,.32),transparent);
  pointer-events:none;opacity:0;transform:translate(var(--gx,50%),var(--gy,50%));transition:opacity .5s;mix-blend-mode:soft-light;z-index:6}
.tilt:hover .glare{opacity:1}

.card--gift{background:linear-gradient(160deg,var(--soie),#e2d0a8);color:var(--nuit);border-color:var(--or);perspective:1400px;overflow:visible;border-radius:999px 999px 22px 22px}
.gift{position:relative;flex:1;border-radius:inherit;cursor:pointer;transform-style:preserve-3d;transition:transform 1s var(--ease)}
.gift.is-flipped{transform:rotateY(180deg)}
.gift__face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:3rem 2rem 2rem;text-align:center;
  border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.gift__front::before{content:'';position:absolute;inset:14px;border:1px solid rgba(138,42,58,.5);border-radius:999px 999px 8px 8px;pointer-events:none}
.gift__back{transform:rotateY(180deg);background:linear-gradient(160deg,var(--jade),var(--jade-fonce));color:var(--soie)}
.gift__lotus{width:4.2rem;height:4.2rem;color:var(--rubis);stroke-width:2.4}
.gift__brand{font:500 .72rem/1.4 var(--ff-body);letter-spacing:.28em;text-transform:uppercase;color:var(--rubis)}
.gift__brand small{display:block;font-size:inherit;color:inherit;opacity:.8}
.gift__back .gift__brand{color:var(--or-clair)}
.gift__t{font:300 clamp(2.6rem,4vw,3.6rem)/.95 var(--ff-display)}
.gift__t em{display:block;color:var(--rubis);font-weight:400}
.gift__sub{font-size:.95rem}
.gift__tap{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;opacity:.65;margin-top:.8rem}
.card .gift__front p{color:var(--nuit);font-size:.95rem}
.card .gift__front .gift__brand{color:var(--rubis);font-size:.72rem}
.card .gift__front .gift__tap{font-size:.66rem;color:var(--nuit)}
.card .gift__back p{font-size:.95rem;color:rgba(243,233,214,.92)}
.card .gift__back .gift__brand{color:var(--or-clair);font-size:.72rem}
.card .gift__back .gift__tel{font:300 2rem/1 var(--ff-display);color:var(--or-clair)}
.soins__bar{position:absolute;left:var(--gut);right:var(--gut);bottom:2.2rem;height:1px;background:rgba(243,233,214,.18)}
.soins__bar i{display:block;height:100%;background:var(--or);transform-origin:0 50%;transform:scaleX(0)}

/* ── Chiffres clés ────────────────────────────────────── */
.stats{color:var(--nuit);padding:calc(var(--edge-h) + 6rem) var(--gut) 7rem;overflow:hidden}
.stats__sen{position:absolute;left:0;top:0;width:100%;height:40%;color:var(--rubis);opacity:.4;pointer-events:none}
.stats__grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.2rem,3vw,3rem);max-width:1500px;margin:auto}
.stat{position:relative;padding-top:2.2rem;border-top:1px solid rgba(19,13,10,.28)}
.stat__bg{position:absolute;right:0;top:.6rem;font-size:clamp(5.5rem,11vw,10.5rem);line-height:1;color:rgba(138,42,58,.12);pointer-events:none}
.stat__n{position:relative;display:flex;align-items:baseline;gap:.15em;font:300 clamp(4rem,9.4vw,9rem)/1 var(--ff-display);color:var(--jade);font-variant-numeric:tabular-nums}
.stat__n small{font:500 .22em/1 var(--ff-body);letter-spacing:.1em;color:var(--rubis);text-transform:none}
.stat__l{position:relative;margin-top:1rem;max-width:15rem;font-size:.98rem;color:#3b2f27}

/* ── Galerie ──────────────────────────────────────────── */
.gallery{--curtain:var(--nuit);padding:calc(var(--edge-h) + 6rem) var(--gut) 8rem}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:2rem 4rem;align-items:end;max-width:1500px;margin:0 auto 4rem}
.sec-head .eyebrow{grid-column:1/-1}
.sec-head__p{color:rgba(243,233,214,.78);padding-bottom:.8rem}
.gal{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(16,clamp(46px,6.1vw,96px));gap:clamp(.6rem,1.3vw,1.3rem)}
.gi{position:relative;border-radius:14px;overflow:hidden;background:var(--ebene);will-change:transform}
.gi__f{position:absolute;inset:-10% 0;will-change:transform}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.gi:hover img{transform:scale(1.08)}
.gi::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(19,13,10,.72),transparent 48%);opacity:0;transition:opacity .6s;pointer-events:none}
.gi:hover::after{opacity:1}
.gi figcaption{position:absolute;left:1.1rem;bottom:1rem;z-index:5;font:italic 400 clamp(1.3rem,1.8vw,1.8rem)/1 var(--ff-display);color:var(--soie);transform:translateY(160%);transition:transform .7s var(--ease)}
.gi:hover figcaption,.gi:focus-within figcaption{transform:none}
.gi--a{grid-column:1/6;grid-row:1/9}
.gi--b{grid-column:6/10;grid-row:1/5}
.gi--c{grid-column:10/13;grid-row:1/6}
.gi--d{grid-column:6/10;grid-row:5/9}
.gi--e{grid-column:10/13;grid-row:6/9}
.gi--f{grid-column:1/8;grid-row:9/14}
.gi--g{grid-column:1/5;grid-row:14/17}
.gi--i{grid-column:5/8;grid-row:14/17}
.gi--h{grid-column:8/13;grid-row:9/17}
.curtain{position:absolute;inset:0;z-index:7;background:var(--curtain,var(--nuit));transform-origin:50% 0;pointer-events:none}

/* ── Équipe ───────────────────────────────────────────── */
.team{--curtain:var(--jade-fonce);color:var(--soie);padding:calc(var(--edge-h) + 6.5rem) var(--gut) 8rem;overflow:hidden}
.team__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,7vw,8rem);align-items:center;max-width:1500px;margin:auto}
.team__photo{position:relative;justify-self:center;width:min(100%,500px)}
.team__arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px 18px 18px;overflow:hidden;background:var(--jade)}
.team__arch img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.team__ring{position:absolute;inset:-11%;color:var(--or);animation:spin 90s linear infinite;pointer-events:none;z-index:-1}
@keyframes spin{to{transform:rotate(360deg)}}
.team .h2{max-width:13ch;margin:1.2rem 0 3rem}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,3vw,3rem)}
.duo__i{border-top:1px solid rgba(201,161,91,.5);padding-top:1.4rem}
.duo__i h3{display:flex;align-items:center;gap:.7rem;font:300 clamp(2.6rem,4.6vw,4.4rem)/1 var(--ff-display);color:var(--or-clair)}
.duo__i h3 svg{width:1.6rem;height:1.6rem;stroke-width:2.2;color:var(--or)}
.duo__r{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or);margin:.7rem 0 1rem}
.duo__i p:last-child{color:rgba(243,233,214,.82)}

/* ── Avis ─────────────────────────────────────────────── */
.reviews{color:var(--nuit);padding:calc(var(--edge-h) + 6rem) 0 7rem;overflow:hidden}
.reviews__head,.topics{padding-inline:var(--gut);max-width:1500px;margin-inline:auto}
.reviews__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem}
.reviews .h2{max-width:12ch;margin-top:1.1rem}
.score{display:flex;align-items:center;gap:1.1rem;padding:1rem 1.6rem 1rem 1.4rem;border:1px solid rgba(19,13,10,.25);border-radius:999px;transition:background .4s,border-color .4s}
.score:hover{background:rgba(19,13,10,.06);border-color:var(--nuit)}
.score b{font:300 4rem/1 var(--ff-display);color:var(--jade)}
.score__s{display:flex;color:var(--rubis)}
.score__s svg{width:1.05rem;height:1.05rem}
.score__l{font-size:.86rem;line-height:1.35}
.topics{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2.2rem}
.topics li{border:1px solid rgba(19,13,10,.25);border-radius:999px;padding:.4rem 1.1rem;font-size:.9rem}
.topics b{color:var(--rubis);font-weight:500;margin-left:.35rem}
.rv{position:relative;margin-top:3.2rem}
.rv__track{display:flex;gap:1.4rem;padding-left:var(--gut);cursor:grab;touch-action:pan-y;user-select:none;will-change:transform}
.rv__track:active{cursor:grabbing}
.rc{flex:0 0 min(86vw,470px);display:flex;flex-direction:column;gap:1.1rem;padding:2rem 2rem 1.8rem;background:#fbf4e4;border:1px solid rgba(19,13,10,.12);
  border-radius:26px 26px 26px 4px;box-shadow:0 30px 60px -38px rgba(19,13,10,.6);opacity:.55;transform:scale(.94);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rc.is-active{opacity:1;transform:none}
.rc__top{display:flex;align-items:center;gap:.9rem}
.rc__top small{display:block;font-size:.78rem;color:#6a5a4c}
.rc__av{display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;background:var(--jade);color:var(--soie);font:500 1.3rem/1 var(--ff-display)}
.rc__stars{display:flex;color:var(--rubis)}
.rc__stars svg{width:1.05rem;height:1.05rem}
.rc blockquote{font:400 clamp(1.25rem,1.6vw,1.5rem)/1.45 var(--ff-display);flex:1}
.rc__rep{font-size:.84rem;line-height:1.5;border-left:2px solid var(--or);padding-left:.8rem;color:#5a4a3d}
.rc--more{background:var(--jade);color:var(--soie);justify-content:center;align-items:flex-start;border-color:transparent}
.rc__big{font:300 italic clamp(5rem,9vw,8rem)/.9 var(--ff-display);color:var(--or-clair)}
.rv__ctl{display:flex;align-items:center;gap:1.4rem;margin-top:2.4rem;padding-inline:var(--gut);max-width:1500px;margin-inline:auto}
.rv__b{display:grid;place-items:center;width:3.2rem;height:3.2rem;border:1px solid var(--nuit);border-radius:50%;transition:background .4s,color .4s}
.rv__b:hover{background:var(--nuit);color:var(--soie)}
.rv__dots{display:flex;gap:.55rem}
.rv__dots i{width:.55rem;height:.55rem;border-radius:50%;background:rgba(19,13,10,.25);transition:background .4s,transform .4s var(--ease)}
.rv__dots i.is-on{background:var(--rubis);transform:scale(1.5)}

/* ── Réservation ──────────────────────────────────────── */
.book{padding:calc(var(--edge-h) + 6rem) var(--gut) 7rem;overflow:hidden;isolation:isolate}
.book__bg{position:absolute;inset:0;z-index:-2;background:#0c0806 url("../img/salon-torii.jpg") center/cover}
.book__bg video{width:100%;height:100%;object-fit:cover;opacity:.55}
.book__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(19,13,10,.94),rgba(19,13,10,.72) 55%,rgba(19,13,10,.88))}
.book__grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(2rem,6vw,7rem);align-items:start;max-width:1500px;margin:auto}
.book__intro{position:sticky;top:6.5rem;display:grid;gap:1.4rem;justify-items:start}
.book__p{max-width:30rem;color:rgba(243,233,214,.85)}
.bigtel{display:block;width:100%;margin-top:.8rem;border-top:1px solid rgba(201,161,91,.5);padding-top:1.2rem;will-change:transform}
.bigtel small{display:block;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--or);margin-bottom:.5rem}
.bigtel span{display:block;font:300 clamp(2.7rem,6vw,5.8rem)/1 var(--ff-display);letter-spacing:-.01em;transition:color .4s}
.bigtel:hover span{color:var(--or-clair)}
.book__facts{display:grid;gap:.6rem;font-size:.95rem;color:rgba(243,233,214,.85)}
.book__facts li{display:flex;align-items:center;gap:.7rem}
.book__facts svg{color:var(--or)}

.bform{display:grid;gap:1.5rem;padding:clamp(1.3rem,3vw,2.5rem);background:rgba(29,21,17,.74);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(201,161,91,.32);border-radius:28px 28px 28px 6px;box-shadow:0 50px 90px -50px #000}
.bf-group{border:0;padding:0;margin:0;min-width:0}
.bf-group[hidden]{display:none}
.bf-group legend{display:flex;align-items:center;gap:.7rem;padding:0;margin-bottom:.85rem;font:500 .72rem/1 var(--ff-body);letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.bf-group legend span{display:grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid var(--or);border-radius:50%;font-size:.72rem;letter-spacing:0}
.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.choice{position:relative;display:block;cursor:pointer}
.choice input,.seg input{position:absolute;opacity:0;width:1px;height:1px}
.choice__box{display:block;height:100%;padding:.9rem 1rem;border:1px solid rgba(243,233,214,.22);border-radius:16px;transition:border-color .4s,background .4s,transform .5s var(--ease)}
.choice__box b{display:block;font:500 1.12rem/1.2 var(--ff-display);letter-spacing:.01em}
.choice__box small{display:block;margin-top:.25rem;font-size:.78rem;line-height:1.4;color:rgba(243,233,214,.7)}
.choice:hover .choice__box{border-color:rgba(201,161,91,.7);transform:translateY(-2px)}
.choice input:checked + .choice__box{border-color:var(--or);background:rgba(201,161,91,.15)}
.choice input:focus-visible + .choice__box,.seg input:focus-visible + span{outline:2px solid var(--or-clair);outline-offset:2px}
.seg{display:inline-flex;flex-wrap:wrap;gap:.2rem;padding:.25rem;border:1px solid rgba(243,233,214,.22);border-radius:999px}
.seg label{cursor:pointer}
.seg span{display:block;padding:.6rem 1.3rem;border-radius:999px;font-size:.92rem;transition:background .4s,color .4s}
.seg input:checked + span{background:var(--or);color:var(--nuit)}
.bf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.fld{display:grid;gap:.45rem}
.fld>span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(243,233,214,.72)}
.fld em{text-transform:none;letter-spacing:0;font-style:normal;opacity:.7}
.fld input,.fld select{width:100%;padding:.85rem .95rem;border:1px solid rgba(243,233,214,.24);border-radius:12px;background:rgba(243,233,214,.06);color:var(--soie);font:inherit;font-size:1rem;color-scheme:dark;transition:border-color .3s,background .3s}
.fld input::placeholder{color:rgba(243,233,214,.4)}
.fld input:focus,.fld select:focus{outline:none;border-color:var(--or);background:rgba(243,233,214,.1)}
.fld select option{background:#1d1511;color:var(--soie)}
.fld .is-bad{border-color:#e07a7a}
.bform__prev{display:grid;gap:.55rem}
.bform__lbl{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.bform textarea{width:100%;padding:1rem 1.1rem;border:1px dashed rgba(201,161,91,.55);border-radius:14px;background:rgba(19,13,10,.5);color:var(--soie);font:inherit;font-size:.95rem;line-height:1.55;resize:none}
.bform__price{font:400 1.25rem/1.2 var(--ff-display);color:var(--or-clair)}
.bform__err{padding:.7rem 1rem;border:1px solid #e07a7a;border-radius:12px;color:#ffd5d5;font-size:.92rem}
.bform__err[hidden]{display:none}
.bform__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.bform__more{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem}
.bform__note{font-size:.82rem;color:rgba(243,233,214,.7);border-top:1px solid rgba(243,233,214,.16);padding-top:1rem}
.bform__note.is-ok{color:var(--or-clair)}

/* ── Nous trouver ─────────────────────────────────────── */
.info{--curtain:var(--soie);color:var(--nuit);padding:calc(var(--edge-h) + 6rem) var(--gut) 7rem}
.info__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,6vw,7rem);align-items:center;max-width:1500px;margin:auto}
.info .h2{max-width:11ch;margin:1.1rem 0 2.2rem}
.addr{display:grid;gap:1rem}
.addr p{display:flex;align-items:flex-start;gap:.9rem}
.addr svg{margin-top:.25rem;color:var(--rubis)}
.hours{width:100%;max-width:26rem;margin:2.4rem 0;border-collapse:collapse}
.hours caption{text-align:left;padding-bottom:.7rem;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rubis)}
.hours th,.hours td{padding:.55rem 0;border-bottom:1px solid rgba(19,13,10,.18);text-align:left;font-weight:400}
.hours td{text-align:right;font-variant-numeric:tabular-nums}
.hours tr.is-today{color:var(--rubis);font-weight:500}
.hours tr.is-today th::after{content:' · aujourd’hui';font-size:.78rem;font-weight:400}
.info__btns{display:flex;flex-wrap:wrap;gap:.8rem}
.info__map{position:relative;width:min(100%,540px);justify-self:center}
.map{position:relative;aspect-ratio:4/5;border-radius:999px 999px 20px 20px;overflow:hidden;border:1px solid rgba(19,13,10,.3);background:#e6dcc6;box-shadow:0 40px 80px -50px rgba(19,13,10,.7)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:sepia(.28) saturate(.9)}
.map__open{position:absolute;left:50%;bottom:1.1rem;z-index:8;translate:-50% 0;display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border-radius:999px;background:var(--nuit);color:var(--soie);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}

/* ── Footer ───────────────────────────────────────────── */
.foot{position:relative;background:var(--nuit);padding:5.5rem var(--gut) 1.6rem;overflow:hidden;z-index:1}
.foot__top{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:2rem;max-width:1500px;margin:auto}
.foot__col{display:grid;gap:.5rem;align-content:start;color:rgba(243,233,214,.8);font-size:.95rem}
.foot__h{font:500 .72rem/1 var(--ff-body);letter-spacing:.28em;text-transform:uppercase;color:var(--or);margin-bottom:.8rem}
.foot__col--thai .thai{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.2;color:var(--or-clair)}
.foot__giant{font:300 clamp(6rem,25vw,27rem)/.8 var(--ff-display);letter-spacing:-.035em;text-align:center;color:transparent;-webkit-text-stroke:1px var(--or);margin:4rem 0 1rem;padding-bottom:.2em;white-space:nowrap;user-select:none}
.foot__bot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 2rem;padding-top:1.2rem;border-top:1px solid rgba(243,233,214,.14);font-size:.8rem;color:rgba(243,233,214,.6);max-width:1500px;margin:auto}

/* ── CTA flottant mobile ──────────────────────────────── */
.mcta{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:95;display:none;gap:.6rem;transform:translateY(170%);transition:transform .7s var(--ease)}
.mcta.is-on{transform:none}
.mcta .btn{flex:1}
.mcta .btn--ghost{--bg:rgba(19,13,10,.88)}

/* ══ Responsive ══════════════════════════════════════════ */
@media (max-width:1100px){
  .foot__top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:3.4rem}
}
@media (max-width:900px){
  .nav__links,.nav__cta{display:none}
  .burger{display:block}
  .nav{gap:1rem}
  .hero__inner{padding-top:7rem}
  .hero__foot .hero__scroll,.hero__foot .chip__stars{display:none}
  .mcta{display:flex}
  .sec-head{grid-template-columns:1fr}
  .team__grid,.info__grid,.book__grid{grid-template-columns:1fr}
  .book__intro{position:static}
  .info__map{order:-1}
  .duo{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:46vw}
  .gi{grid-column:auto!important;grid-row:auto!important}
  .gi--a,.gi--h,.gi--d{grid-row:span 2!important}
  .gi figcaption{transform:none;font-size:1.15rem}
  .gi::after{opacity:.9}
}
@media (max-width:560px){
  .hero__t1{font-size:23.5vw}
  .hero__t2{font-size:9.6vw}
  .hero__eyebrow{font-size:.62rem;letter-spacing:.2em}
  .hero__eyebrow::before{width:1.4rem}
  .choices,.bf-row,.bform__actions{grid-template-columns:1fr}
  .hero__cta .btn{flex:1 1 100%}
  .hero__foot{padding-block:.8rem}
  .chip{font-size:.74rem}
  .stats__grid{grid-template-columns:1fr}
  .foot__top{grid-template-columns:1fr}
  .foot__bot{flex-direction:column;align-items:flex-start}
  .score b{font-size:3rem}
}

/* Mises en page empilées (mobile + mouvement réduit) : pas d’épinglage */
html.stack .story__stage{height:auto;min-height:0;grid-template-columns:1fr;padding-bottom:5rem}
html.stack .story__right,html.stack .story__prog{display:none}
html.stack .story__steps{min-height:0;margin-top:2rem}
html.stack .step{position:relative;inset:auto;opacity:1;visibility:visible;margin-bottom:3.2rem}
html.stack .step__m{display:block;margin-top:1.4rem;aspect-ratio:4/5;width:min(100%,340px);border-radius:999px 999px 14px 14px;overflow:hidden}
html.stack .step__m img{width:100%;height:100%;object-fit:cover}
html.stack .soins__pin{display:block;height:auto;min-height:0;padding:calc(var(--edge-h) + 4rem) 0 4rem;overflow:visible}
html.stack .soins__track{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gut) 1.6rem;gap:1.1rem;align-items:stretch;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--or) transparent}
html.stack .panel,html.stack .card{scroll-snap-align:center}
html.stack .panel--intro{width:86vw;padding-bottom:1rem}
html.stack .panel--end{width:70vw}
html.stack .card{width:min(80vw,380px);height:auto;min-height:600px}
html.stack .card--gift{min-height:520px}
html.stack .soins__bar{display:none}
html.stack .panel__hint{display:none}

@media (max-height:720px) and (min-width:901px){
  .story__right{height:68vh}
  .card{height:80vh}
  .card p{font-size:.86rem;line-height:1.45}
  .card__body{gap:.4rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .team__ring{animation:none}
}
