/* Fabien D · Sunflower Studio — démo Seriné Studio
   Monde : la lumière du soleil qui traverse les cheveux. Papier crème, miel, jaune doux ; un seul accent profond (cœur de tournesol). */
:root{
  --paper:#FBF6EC;
  --paper-2:#F5EBD6;
  --sand:#EBD9B4;
  --sun:#F4C85A;
  --honey:#D9972A;
  --honey-ink:#9A5F0C;   /* miel lisible sur crème (titres en italique) */
  --heart:#3B2211;       /* l'accent profond : cœur de tournesol */
  --ink:#2C1B0F;
  --ink-2:rgba(44,27,15,.74);
  --line:rgba(59,34,17,.16);
  --serif:'Newsreader', 'Iowan Old Style', Georgia, serif;
  --sans:'Hanken Grotesk', system-ui, -apple-system, sans-serif;
  --g:clamp(1.25rem, 5vw, 5.5rem);          /* gouttière */
  --petal:1.6em 1.6em 1.6em .38em;          /* forme des boutons : un pétale */
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{line-height:1.6;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--heart);color:var(--paper);padding:.6rem 1rem;border-radius:var(--petal)}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--heart);outline-offset:3px}

/* ---------- soleil qui suit le défilement ---------- */
.sunpath{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.sunpath::before{content:"";position:absolute;width:120vmax;height:120vmax;border-radius:50%;
  left:calc(var(--sx, 78) * 1vw - 60vmax);top:calc(var(--sy, 12) * 1vh - 60vmax);
  background:radial-gradient(closest-side, rgba(255,214,120,var(--sa,.42)), rgba(255,226,160,.16) 48%, rgba(255,240,205,0) 72%);
  transition:background .6s linear}
main,.foot,.top{position:relative;z-index:1}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:3.1rem;padding:.8rem 1.5rem;border-radius:var(--petal);
  font:600 1rem/1.3 var(--sans);letter-spacing:.01em;text-decoration:none;border:0;background:transparent;color:inherit;cursor:pointer;
  transition:background-color .3s, color .3s, box-shadow .3s, transform .3s var(--ease)}
.btn--heart{background:var(--heart);color:var(--paper);box-shadow:0 10px 24px -14px rgba(59,34,17,.7)}
.btn--line{box-shadow:inset 0 0 0 1.5px var(--heart);color:var(--heart);background:rgba(251,246,236,.6)}
.btn--sm{min-height:2.6rem;padding:.55rem 1.1rem;font-size:.95rem}
@media (hover:hover){
  .btn--heart:hover{background:#5A3416}
  .btn--line:hover{background:var(--heart);color:var(--paper)}
}

/* ---------- loader ---------- */
.loader{display:none}
.js .loader{display:grid;place-items:center;position:fixed;inset:0;z-index:90;background:var(--paper);transition:opacity .7s var(--ease), visibility .7s}
.loaded .loader{opacity:0;visibility:hidden}
.loader__in{display:grid;justify-items:center;gap:.5rem}
.flower{width:132px;height:132px;overflow:visible}
.flower__petals ellipse{fill:var(--sun);opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .25s}
.flower__petals ellipse.on{opacity:1}
.flower__heart{fill:var(--heart)}
.loader__count{font:300 2.4rem/1 var(--serif);font-variant-numeric:tabular-nums;color:var(--heart)}
.loader__u{font-size:.5em;margin-left:.1em}
.loader__t{font:500 .78rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2)}

/* ---------- en-tête ---------- */
.top{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;gap:1.5rem;padding:.85rem var(--g);transition:background .4s, box-shadow .4s, padding .4s}
.top.is-scrolled{background:linear-gradient(rgba(251,246,236,.98), rgba(251,246,236,.96));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);padding-top:.6rem;padding-bottom:.6rem}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.15;margin-right:auto}
.brand__name{font:italic 500 1.5rem/1.1 var(--serif);letter-spacing:-.01em}
.brand__sub{font:500 .75rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.top__nav{display:flex;gap:1.6rem}
.top__nav a{text-decoration:none;font-weight:500;font-size:.98rem;position:relative}
.top__nav a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:var(--honey);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
@media (hover:hover){.top__nav a:hover::after{transform:scaleX(1)}}
.top__prog{position:absolute;left:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--sun),var(--honey));transform-origin:left;transform:scaleX(var(--p,0))}

/* ---------- textes communs ---------- */
.label{font:600 .8rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--honey-ink);margin-bottom:1rem}
.h2{font:400 clamp(2.1rem, 4.6vw, 4.1rem)/1.06 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.h2 em{font-style:italic;color:var(--honey-ink)}
section p{max-width:38rem;color:var(--ink-2)}
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease), transform .9s var(--ease)}
.js .reveal.in,.failsafe .reveal{opacity:1;transform:none}

/* ---------- hero ---------- */
.hero{min-height:100svh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem;padding:7rem var(--g) 3.5rem;overflow-x:clip}
.hero__title{font:400 clamp(3.4rem, 8.4vw, 8.6rem)/.95 var(--serif);letter-spacing:-.035em;position:relative;z-index:3;margin-right:-12vw}
.hero__title em{font-style:italic;font-weight:300;color:var(--honey-ink)}
.hero__title .line{display:block;overflow:hidden;padding:.06em .22em .1em 0;margin-bottom:-.1em}
.hero__title .line:nth-child(3){padding-left:1.1em}
.line__in{display:inline-block}
.js .line__in{transform:translateY(112%);transition:transform 1.1s var(--ease)}
.ready .line__in,.failsafe .line__in{transform:none}
.ready .line:nth-child(2) .line__in{transition-delay:.12s}
.ready .line:nth-child(3) .line__in{transition-delay:.24s}
.hero__lede{margin-top:1.8rem;font-size:clamp(1.05rem,1.3vw,1.25rem);max-width:30rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero__arch{position:relative;margin:0;justify-self:end;width:min(100%, 40rem)}
.arch{position:relative;aspect-ratio:3/4;max-height:calc(100svh - 9rem);margin-left:auto;border-radius:999px 999px 1.6rem 1.6rem;overflow:hidden;background:var(--sand);
  box-shadow:0 40px 80px -40px rgba(120,70,10,.45), 0 0 0 1px rgba(59,34,17,.06)}
.arch__img,.arch__gl{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arch__gl{opacity:0;transition:opacity 1.2s var(--ease)}
.gl-ready .arch__gl{opacity:1}
.hero__rating{position:absolute;left:-1.5rem;bottom:2.2rem;z-index:4;display:flex;align-items:center;gap:.55rem;padding:.7rem 1rem;background:var(--paper);border-radius:var(--petal);
  text-decoration:none;font-size:.95rem;box-shadow:0 14px 30px -16px rgba(59,34,17,.5)}
.hero__rating strong{font:500 1.35rem/1 var(--serif)}
.stars{color:var(--honey);letter-spacing:.06em;font-size:.95rem}
.hero__hint{margin-top:.9rem;text-align:right;font-size:.88rem;color:var(--ink-2)}
.hint-touch{display:none}
@media (hover:none) and (pointer:coarse){.hint-touch{display:inline}.hint-mouse{display:none}}

/* ---------- bande ---------- */
.band{overflow:hidden;padding:1.4rem 0;border-block:1px solid var(--line);background:rgba(245,235,214,.55)}
.band__track{display:flex;align-items:center;gap:2.2rem;width:max-content;will-change:transform}
.band span{font:italic 300 clamp(1.8rem, 3.6vw, 3rem)/1.2 var(--serif);white-space:nowrap;color:var(--heart)}
.band i{width:.9rem;height:.9rem;border-radius:50%;background:radial-gradient(circle, var(--heart) 0 34%, var(--sun) 36% 100%);flex:none}

/* ---------- le geste ---------- */
.geste{padding:clamp(2rem,4vw,3rem) var(--g)}
.geste__pin{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center;min-height:100svh;padding:5.5rem 0 2rem}
.geste__text p{margin-top:1.2rem}
.geste__hint{font-weight:600;color:var(--heart)!important}
.geste__again{margin-top:1.4rem}
.geste__frame{position:relative;margin:0;aspect-ratio:3/4;max-height:calc(100svh - 8.5rem);justify-self:center;width:100%;max-width:40rem;border-radius:1.8rem;overflow:hidden;background:var(--sand);touch-action:pan-y;cursor:crosshair;
  box-shadow:0 40px 80px -46px rgba(120,70,10,.55)}
.geste__img,.geste__canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.geste__canvas{opacity:0;transition:opacity .6s}
.paint-ready .geste__canvas{opacity:1}
.geste__cap{position:absolute;left:1rem;bottom:1rem;padding:.45rem .85rem;border-radius:var(--petal);background:rgba(251,246,236,.94);font-size:.9rem;font-weight:600;color:var(--heart);font-variant-numeric:tabular-nums}

/* ---------- signatures ---------- */
.sig{padding:clamp(4rem,9vw,7rem) 0}
.sig__head{padding:0 var(--g);max-width:62rem}
.sig__head p:last-child{margin-top:1rem}
.swipe-hint{display:none}
.sig__rail{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;padding:2.8rem var(--g) 0}
.card{background:var(--paper);border-radius:1.6rem;overflow:hidden;box-shadow:0 0 0 1px var(--line), 0 30px 60px -44px rgba(120,70,10,.5);display:flex;flex-direction:column;transform-style:preserve-3d;will-change:transform}
.card__ph{aspect-ratio:3/4;overflow:hidden;border-radius:1.6rem 1.6rem 0 0}
.card__ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
@media (hover:hover){.card:hover .card__ph img{transform:scale(1.05)}}
.card__body{padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card h3{font:400 1.8rem/1.1 var(--serif);letter-spacing:-.01em}
.card p{font-size:.98rem}
.card__price{margin-top:auto;padding-top:.4rem;color:var(--ink)!important}
.card__price strong{font:500 1.5rem/1 var(--serif);color:var(--heart)}
.card__go{font-weight:600;font-size:.95rem;color:var(--heart);text-underline-offset:.25em;text-decoration-thickness:1.5px;text-decoration-color:var(--honey)}

/* ---------- rythme ---------- */
.rythme{padding:clamp(4rem,9vw,7rem) var(--g);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.rythme__head p:last-child{margin-top:1.2rem}
.arc{margin:0;position:relative}
.arc__svg{width:100%;height:auto;display:block;overflow:visible}
.arc__ground{stroke:var(--line);stroke-width:2}
.arc__track{fill:none;stroke:rgba(217,151,42,.55);stroke-width:2.5;stroke-dasharray:2 10;stroke-linecap:round}
.arc__fill{fill:none;stroke:var(--honey);stroke-width:3.5;stroke-linecap:round}
.arc__ticks circle{fill:var(--paper);stroke:var(--honey);stroke-width:2.5}
.arc__ticks text{font:600 22px var(--sans);fill:rgba(44,27,15,.74);text-anchor:middle}
.arc__halo{fill:rgba(244,200,90,.35)}
.arc__core{fill:var(--sun);stroke:var(--honey);stroke-width:2}
.arc__steps{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.arc__step{display:flex;flex-direction:column;gap:.2rem;padding-top:.9rem;border-top:2px solid var(--line);transition:border-color .5s}
.arc__step strong{font:500 1.35rem/1.2 var(--serif);color:var(--heart)}
.arc__step span{font-size:.95rem;color:var(--ink-2)}
.arc__step.on{border-top-color:var(--honey)}

/* ---------- tarifs ---------- */
.tarifs{padding:clamp(4rem,9vw,7rem) var(--g)}
.tarifs__head{max-width:56rem}
.tarifs__head p:last-child{margin-top:1rem}
.tarifs__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;margin-top:2.6rem}
.tgroup{background:rgba(251,246,236,.9);border-radius:1.6rem;padding:1.4rem 1.6rem 1.2rem;box-shadow:0 0 0 1px var(--line)}
.tgroup__head{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}
.tgroup__head img{width:4.6rem;height:4.6rem;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--sand)}
.tgroup h3{font:400 1.75rem/1.1 var(--serif)}
.tgroup__head p{font-size:.92rem;margin-top:.15rem}
.tgroup dl{margin:0}
.tgroup dl div{display:flex;align-items:baseline;gap:.8rem;padding:.75rem 0;border-top:1px solid var(--line)}
.tgroup dt{flex:1 1 auto;min-width:0}
.tgroup dd{margin:0;flex:none;font:500 1.12rem/1.3 var(--serif);color:var(--heart);text-align:right;font-variant-numeric:tabular-nums}

/* ---------- studio ---------- */
.studio{padding:clamp(4rem,9vw,7rem) var(--g);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.studio__ph{margin:0;border-radius:999px 999px 1.6rem 1.6rem;overflow:hidden;aspect-ratio:3/4;box-shadow:0 40px 80px -46px rgba(120,70,10,.55)}
.studio__ph img{width:100%;height:112%;object-fit:cover}
.studio__role{font:italic 400 1.4rem/1.3 var(--serif);color:var(--honey-ink)!important;margin-top:.8rem}
.studio__text > p{margin-top:1.1rem}
.studio__quote{margin:1.8rem 0 0;padding-left:1.2rem;border-left:3px solid var(--sun)}
.studio__quote p{font:italic 300 clamp(1.6rem,2.6vw,2.2rem)/1.25 var(--serif);color:var(--heart)}
.studio__quote cite{display:block;margin-top:.4rem;font-style:normal;font-weight:600;font-size:.9rem;color:var(--ink-2)}
.stats{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.stats li{display:flex;flex-direction:column;gap:.25rem;padding-top:.9rem;border-top:1px solid var(--line)}
.stats__n{font:300 clamp(2.4rem,4vw,3.4rem)/1 var(--serif);color:var(--heart);font-variant-numeric:tabular-nums}
.stats__n b{font-weight:300}
.stats__n small{font-size:.45em;margin-left:.1em}
.stats__l{font-size:.92rem;color:var(--ink-2);line-height:1.4}
.studio__words{margin-top:1.8rem!important;font-size:.98rem}
.studio__words span{display:inline-block;margin:.25rem .25rem 0 0;padding:.2rem .7rem;border-radius:var(--petal);background:rgba(244,200,90,.28);color:var(--heart);font-weight:600}

/* ---------- produits ---------- */
.produits{padding:clamp(4rem,9vw,7rem) var(--g);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.brands{list-style:none;margin:2rem 0 0;padding:0}
.brands li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.brands strong{font:400 clamp(1.5rem,2.4vw,2rem)/1.15 var(--serif);color:var(--heart)}
.brands span{font-size:.95rem;color:var(--ink-2);text-align:right;max-width:18rem}
.produits__ph{margin:0;border-radius:1.6rem;overflow:hidden;aspect-ratio:3/4}
.produits__ph img{width:100%;height:112%;object-fit:cover}

/* ---------- instagram ---------- */
.insta{position:relative;margin:clamp(2rem,6vw,5rem) var(--g);border-radius:2rem;overflow:hidden;min-height:clamp(28rem,48vw,40rem);display:flex;align-items:center;background:var(--sand)}
.insta__ph{position:absolute;inset:0}
.insta__ph img{width:100%;height:100%;object-fit:cover;object-position:65% 50%}
.insta__card{position:relative;margin:clamp(1.2rem,4vw,3.5rem);max-width:30rem;background:rgba(251,246,236,.97);border-radius:1.6rem;padding:clamp(1.5rem,3vw,2.4rem)}
.insta__handle{font:italic 400 clamp(2rem,4vw,3.2rem)/1.1 var(--serif);color:var(--heart);overflow-wrap:anywhere}
.insta__nums{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:.9rem 0 .8rem;color:var(--ink)!important}
.insta__nums b{font:500 1.3rem/1 var(--serif);color:var(--heart)}
.insta__card .btn{margin-top:1.4rem}

/* ---------- réserver ---------- */
.rdv{padding:clamp(4rem,9vw,7rem) var(--g);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.rdv__head{position:sticky;top:7rem}
.rdv__head p:last-child{margin-top:1.2rem}
.book{background:rgba(251,246,236,.96);border-radius:1.8rem;padding:clamp(1.3rem,3vw,2.2rem);box-shadow:0 0 0 1px var(--line), 0 40px 80px -50px rgba(120,70,10,.5);display:grid;gap:1.4rem;min-width:0}
.field{border:0;margin:0;padding:0;min-width:0}
.field legend,.field__l{display:block;font-weight:600;font-size:.95rem;margin-bottom:.6rem;padding:0;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips span{display:inline-flex;align-items:center;min-height:2.6rem;padding:.5rem 1rem;border-radius:var(--petal);box-shadow:inset 0 0 0 1.5px var(--line);font-size:.96rem;font-weight:500;line-height:1.3;transition:background .25s, color .25s, box-shadow .25s}
.chips input:checked + span{background:var(--heart);color:var(--paper);box-shadow:none}
.chips input:focus-visible + span{outline:2px solid var(--honey);outline-offset:2px}
@media (hover:hover){.chips label:hover span{box-shadow:inset 0 0 0 1.5px var(--heart)}}
.field--text input{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;-webkit-appearance:none;appearance:none;font:500 1rem/1.4 var(--sans);font-size:16px;color:var(--ink);
  padding:.85rem 1rem;border-radius:1rem;border:1.5px solid var(--line);background:#FFFDF8}
.field--text input:focus{outline:none;border-color:var(--honey);box-shadow:0 0 0 3px rgba(244,200,90,.35)}
.bubble{background:#FFFDF8;border-radius:1.2rem 1.2rem 1.2rem .3rem;padding:1rem 1.1rem;box-shadow:0 0 0 1px var(--line)}
.bubble__to{font-size:.82rem;font-weight:600;letter-spacing:.04em;color:var(--ink-2)!important;margin-bottom:.35rem}
.bubble__msg{color:var(--ink)!important;font-size:1rem}
.book__send{display:flex;flex-wrap:wrap;gap:.7rem}
.book__note{font-size:.92rem}
.book__note a{font-weight:600;color:var(--heart)}

/* ---------- infos ---------- */
.infos{padding:clamp(3rem,7vw,6rem) var(--g) clamp(4rem,8vw,7rem)}
.infos__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2.2rem}
.info{padding-top:1.1rem;border-top:2px solid var(--honey)}
.info h3{font:500 .85rem/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--honey-ink);margin-bottom:.6rem}
.info p{font:400 1.45rem/1.3 var(--serif);color:var(--ink)}
.info a{font-weight:600;color:var(--heart);text-underline-offset:.22em}
.info p a{font-weight:400}
.info > a{display:inline-block;margin-top:.7rem;font-size:.98rem}
.info__strong{font:600 1rem/1.4 var(--sans)!important;margin-top:.6rem;color:var(--heart)!important}

/* ---------- pied de page ---------- */
.foot{padding:2rem var(--g) 7rem;border-top:1px solid var(--line);overflow-x:clip}
.foot__sig{margin:0 0 1.6rem;font:italic 300 clamp(3.4rem, 13.5vw, 13rem)/1 var(--serif);letter-spacing:-.04em;color:var(--honey);white-space:nowrap;text-align:center}
.foot__sig::before{content:attr(data-sig)}
.foot__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;font-size:.95rem;color:var(--ink-2)}
.foot__demo{margin-top:1rem;font-size:.85rem;color:var(--ink-2);max-width:48rem}

/* ---------- barre mobile ---------- */
.mbar{display:none}

/* =================== tablette / téléphone =================== */
@media (max-width: 899px){
  .top{gap:.8rem;padding:.7rem 1.1rem}
  .top__nav{display:none}
  .brand__name{font-size:1.35rem}
  .brand__sub{font-size:.76rem;letter-spacing:.1em}

  .hero{grid-template-columns:1fr;align-items:stretch;align-content:start;gap:0;padding:5.6rem 1.1rem 2.4rem}
  .hero__text{display:contents}
  .hero__title{order:1;font-size:clamp(3.3rem, 17.4vw, 5.6rem);line-height:.92;margin-right:0}
  .hero__title .line:nth-child(3){padding-left:1.05em}
  .hero__arch{order:2;justify-self:stretch;width:100%;margin-top:-1.6rem;z-index:1}
  .arch{max-height:none;aspect-ratio:4/4.3;border-radius:999px 999px 1.4rem 1.4rem}
  .hero__rating{left:.8rem;bottom:3.1rem;padding:.55rem .85rem;font-size:.88rem}
  .hero__hint{text-align:left;font-size:.86rem}
  .hero__lede{order:3;margin-top:1.3rem;font-size:1.06rem}
  .hero__cta{order:4;display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.3rem}
  .hero__cta .btn{width:100%;padding-inline:.8rem}

  .geste{padding:4rem 1.1rem}
  .geste__pin{grid-template-columns:1fr;min-height:0;gap:1.8rem;padding:0}
  .geste__frame{max-height:none;aspect-ratio:4/5;border-radius:1.4rem}

  .sig__head{padding:0 1.1rem}
  .swipe-hint{display:block;padding:1.6rem 1.1rem 0;font-weight:600;font-size:.92rem;color:var(--honey-ink)}
  .sig__rail{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem 1.1rem 1.2rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .sig__rail::-webkit-scrollbar{display:none}
  .card{flex:0 0 78%;scroll-snap-align:center}

  .rythme{grid-template-columns:1fr;padding:4rem 1.1rem}
  .arc__steps{grid-template-columns:1fr;gap:.6rem}
  .arc__ticks text{font-size:42px}

  .tarifs{padding:4rem 1.1rem}
  .tarifs__grid{grid-template-columns:1fr;gap:1rem}
  .tgroup{padding:1.2rem 1.1rem 1rem}
  .tgroup dl div{gap:.6rem}
  .tgroup dd{font-size:1.05rem}

  .studio{grid-template-columns:1fr;padding:4rem 1.1rem}
  .studio__ph{max-width:24rem;width:86%;justify-self:center}
  .stats{gap:.7rem}
  .stats__l{font-size:.85rem}

  .produits{grid-template-columns:1fr;padding:4rem 1.1rem}
  .produits__ph{order:-1;aspect-ratio:4/3.4}
  .brands li{flex-direction:column;gap:.15rem}
  .brands span{text-align:left}

  .insta{margin:1rem .6rem;min-height:0;flex-direction:column;align-items:stretch;border-radius:1.6rem}
  .insta__ph{position:relative;aspect-ratio:16/10}
  .insta__card{margin:-2.4rem .8rem .8rem;padding:1.4rem 1.2rem}

  .rdv{grid-template-columns:1fr;padding:4rem 1.1rem}
  .rdv__head{position:static}
  .book{padding:1.2rem 1rem}
  .book__send{display:grid;grid-template-columns:1fr}
  .book__send .btn{width:100%}

  .infos{padding:3rem 1.1rem 4rem}
  .infos__grid{grid-template-columns:1fr;gap:1.6rem}

  .foot{padding:1.6rem 1.1rem 7.5rem}

  .mbar{display:grid;grid-template-columns:1fr 1.4fr;gap:.6rem;position:fixed;left:.7rem;right:.7rem;bottom:calc(.7rem + env(safe-area-inset-bottom));z-index:50;
    padding:.55rem;border-radius:1.4rem;background:rgba(251,246,236,.97);box-shadow:0 0 0 1px var(--line), 0 18px 40px -18px rgba(59,34,17,.55);
    transform:translateY(140%);transition:transform .45s var(--ease)}
  .mbar.on{transform:none}
  .mbar .btn{min-height:2.9rem}
}
@media (max-width: 380px){
  .hero__cta{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
}

/* =================== mouvement réduit =================== */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
  .js .line__in{transform:none}
  .js .loader{display:none}
}

/* v3 (Ani 22/10) : photos réelles nettes, sans effet ; avant/après simple */
.arch{background:var(--sand)} .arch__img{filter:none!important;opacity:1!important}
.geste__wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center;max-width:1200px;margin:0 auto;padding:clamp(2rem,6vw,5rem) 0}
.geste__text p{margin-top:1.2rem}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ba__item{position:relative;margin:0;border-radius:1.4rem;overflow:hidden;aspect-ratio:4/5;background:var(--sand)}
.ba__item img{width:100%;height:100%;object-fit:cover;display:block}
.ba__item figcaption{position:absolute;left:.7rem;bottom:.7rem;padding:.35rem .75rem;border-radius:999px;background:rgba(251,246,236,.94);font-size:.85rem;font-weight:600;color:var(--ink)}
@media (max-width:899px){.geste__wrap{grid-template-columns:1fr;gap:1.6rem;padding:0}}
.top::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:120px;background:rgb(251,246,236);opacity:0;transition:opacity .4s}
.top.is-scrolled::before{opacity:1}

.top.is-scrolled{background:rgb(251,246,236)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.produits{grid-template-columns:1fr!important;max-width:760px;margin:0 auto}
@media (max-width:899px){.hero__arch{margin-top:.6rem}}
