:root{
  --noir:#0d0a09; --noir-2:#17120f; --creme:#f5eee4; --creme-2:#ebe0d1;
  --or:#c6a15b; --or-clair:#e2c88f; --bordeaux:#5b1d22; --texte:#2a211c; --gris:#8a7c70;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',system-ui,sans-serif; --script:'Pinyon Script',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--texte);background:var(--creme);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--or);font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1}
h2{font-size:clamp(2.2rem,4.5vw,3.4rem);margin:.4em 0 .5em}
h2 em,h1 em{font-style:italic;color:var(--or)}
.btn{display:inline-flex;align-items:center;gap:.6em;padding:15px 30px;font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:1px solid var(--or);transition:.3s}
.btn-or{background:var(--or);color:var(--noir)}
.btn-or:hover{background:var(--or-clair);border-color:var(--or-clair)}
.btn-ligne{color:var(--creme)}
.btn-ligne:hover{background:rgba(198,161,91,.15)}
.btn-sombre{border-color:var(--noir);color:var(--noir)}
.btn-sombre:hover{background:var(--noir);color:var(--creme)}

/* Monogramme */
.mono{width:46px;height:46px;flex:none}
.mono text{font-family:var(--serif)}

/* Header */
header{position:fixed;inset:0 0 auto 0;z-index:50;transition:.4s;padding:18px 0}
header.scrolled{background:rgba(13,10,9,.94);backdrop-filter:blur(10px);padding:10px 0;border-bottom:1px solid rgba(198,161,91,.2)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:12px;color:var(--creme)}
.logo-txt{white-space:nowrap;font-family:var(--serif);font-size:1.35rem;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.logo-txt small{display:block;font-family:var(--sans);font-size:.55rem;letter-spacing:.42em;color:var(--or);margin-top:5px}
.menu{display:flex;gap:24px;list-style:none;white-space:nowrap}
.menu a{color:var(--creme);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.menu a:hover{color:var(--or);opacity:1}
.nav .btn{padding:11px 20px}
.burger{display:none;background:none;border:0;width:30px;height:20px;position:relative;cursor:pointer}
.burger span{position:absolute;left:0;right:0;height:1px;background:var(--creme);transition:.3s}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:10px}.burger span:nth-child(3){top:20px}

/* Visuels (emplacements photos) */
.visuel{position:relative;overflow:hidden;background:
  radial-gradient(ellipse at 30% 20%,rgba(226,200,143,.28),transparent 60%),
  linear-gradient(160deg,#3a2a22,#120d0b);}
.visuel::before{content:"";position:absolute;inset:0;opacity:.13;background:
  repeating-linear-gradient(115deg,transparent 0 22px,var(--or) 22px 24px,transparent 24px 38px,var(--or) 38px 39px)}
.visuel .tag{position:absolute;left:14px;bottom:14px;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or-clair);background:rgba(13,10,9,.6);padding:6px 10px;border:1px dashed rgba(198,161,91,.5)}
.visuel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.visuel:has(img)::before{display:none}
.visuel.bx{background:radial-gradient(ellipse at 70% 30%,rgba(226,200,143,.25),transparent 60%),linear-gradient(160deg,#5b1d22,#1a0b0c)}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;background:var(--noir);color:var(--creme);overflow:hidden}
.hero .visuel{position:absolute;inset:0 0 0 42%}
.hero .visuel::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--noir) 0%,rgba(13,10,9,.55) 35%,rgba(13,10,9,.1) 100%)}
.hero-in{position:relative;z-index:2;padding-top:110px;padding-bottom:80px;max-width:640px}
.hero h1{font-size:clamp(3rem,7vw,5.6rem);font-weight:400;margin:.25em 0 .35em}
.hero p{font-size:1.08rem;color:#d9cfc2;max-width:470px;margin-bottom:38px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-meta{display:flex;gap:34px;margin-top:56px;padding-top:28px;border-top:1px solid rgba(198,161,91,.25);flex-wrap:wrap}
.hero-meta b{display:block;font-family:var(--serif);font-size:2rem;font-weight:500;color:var(--or);line-height:1}
.hero-meta span{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#a99d90}

/* Pastilles catégories */
.pastilles{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;max-width:520px}
.pastilles a{padding:8px 18px;border-radius:999px;background:rgba(245,238,228,.94);color:var(--noir);font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--noir);transition:.3s}
.pastilles a:hover{background:var(--or);border-color:var(--or)}
.script{font-family:var(--script);font-weight:400;color:var(--or-clair);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;display:block;margin-top:6px}

/* Collection */
.collection{background:#e9ded0}
.collection .centre{text-align:center;margin-bottom:50px}
.tuiles{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.tuile{grid-column:span 2;position:relative;aspect-ratio:3/4;overflow:hidden;display:block;color:var(--creme)}
.tuile:nth-child(4),.tuile:nth-child(5){grid-column:span 3;aspect-ratio:4/3}
.tuile .visuel{position:absolute;inset:0}
.tuile .visuel img{transition:transform 1s ease}
.tuile:hover .visuel img{transform:scale(1.06)}
.tuile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,10,9,.78))}
.tuile .txt{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:12px}
.tuile h3{font-size:1.9rem;font-weight:500}
.tuile small{display:block;font-size:.78rem;color:#e0d6ca;font-family:var(--sans)}
.tuile .voir{flex:none;padding:9px 16px;border-radius:999px;background:var(--creme);color:var(--noir);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.tuile:hover .voir{background:var(--or)}

/* Maquillage permanent */
.mp{background:var(--creme)}
.mp-grille{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.mp-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative}
.mp-photos .visuel{aspect-ratio:3/5}
.mp-photos .visuel:last-child{transform:translateY(50px)}
.mp-photos .etiquette{position:absolute;z-index:3;left:50%;top:-18px;transform:translateX(-50%);background:var(--bordeaux);color:var(--creme);padding:10px 22px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
.mp-soins{display:grid;gap:14px;margin:30px 0 34px}
.mp-soin{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;padding:20px 22px;background:#fff;border-left:2px solid var(--bordeaux)}
.mp-soin .ico{width:54px;height:54px;border-radius:50%;background:var(--bordeaux);color:var(--or-clair);display:grid;place-items:center;font-family:var(--serif);font-size:1.5rem;font-style:italic}
.mp-soin h3{font-size:1.55rem;margin-bottom:2px}
.mp-soin p{font-size:.88rem;color:#5a4d44}
.mp-soin .nouveau{display:inline-block;margin-left:8px;vertical-align:middle;font-family:var(--sans);font-size:.58rem;letter-spacing:.18em;background:var(--or);color:var(--noir);padding:3px 8px;font-style:normal}
.mp-promesse{font-family:var(--script);font-size:2.4rem;color:var(--bordeaux);line-height:1;margin-bottom:24px}
.mp .ctas{display:flex;gap:12px;flex-wrap:wrap}

/* Bandeau */
.bandeau{background:var(--or);color:var(--noir);overflow:hidden;padding:15px 0;white-space:nowrap}
.bandeau div{display:inline-block;animation:defile 38s linear infinite;font-family:var(--serif);font-size:1.25rem;font-style:italic}
.bandeau i{font-style:normal;margin:0 26px;font-size:.8rem}
@keyframes defile{to{transform:translateX(-50%)}}

section{padding:110px 0}

/* Maison */
.maison{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.maison .visuel{aspect-ratio:4/5}
.maison-img{position:relative}
.maison-img .badge{position:absolute;right:-26px;bottom:40px;background:var(--noir);color:var(--creme);padding:26px 28px;max-width:220px;border:1px solid var(--or)}
.maison-img .badge b{font-family:var(--serif);font-size:1.5rem;font-weight:500;font-style:italic;color:var(--or);display:block;line-height:1.1;margin-bottom:6px}
.maison-img .badge{font-size:.8rem}
.maison p{margin-bottom:18px;color:#4a3e36}
.signature{font-family:var(--serif);font-style:italic;font-size:1.6rem;color:var(--bordeaux);margin-top:10px}

/* Signature lissages */
.sombre{background:var(--noir);color:var(--creme)}
.sombre p{color:#bdb1a4}
.entete{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px;flex-wrap:wrap}
.entete p{max-width:420px}
.lissages{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.carte-l{border:1px solid rgba(198,161,91,.25);background:var(--noir-2);transition:.4s}
.carte-l:hover{border-color:var(--or);transform:translateY(-6px)}
.carte-l .visuel{aspect-ratio:4/3}
.carte-l .corps{padding:30px 28px 34px}
.carte-l .num{font-family:var(--serif);color:var(--or);font-size:.95rem;font-style:italic}
.carte-l h3{font-size:1.75rem;margin:.2em 0 .45em;color:var(--creme)}
.carte-l ul{list-style:none;margin:18px 0 0;font-size:.85rem}
.carte-l li{padding:7px 0;border-top:1px solid rgba(198,161,91,.14);display:flex;gap:10px;color:#cfc4b7}
.carte-l li::before{content:"✦";color:var(--or);font-size:.7rem;margin-top:3px}

/* Prestations */
.onglets{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}
.onglets button{font-family:var(--sans);background:none;border:1px solid var(--creme-2);padding:11px 22px;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--texte);transition:.3s}
.onglets button.actif,.onglets button:hover{background:var(--noir);color:var(--creme);border-color:var(--noir)}
.panneau{display:none;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start}
.panneau.actif{display:grid;animation:apparait .5s}
@keyframes apparait{from{opacity:0;transform:translateY(10px)}}
.panneau .visuel{aspect-ratio:1/1}
.liste-p{list-style:none}
.liste-p li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;border-bottom:1px solid var(--creme-2)}
.liste-p h4{font-family:var(--serif);font-size:1.4rem;font-weight:500}
.liste-p small{display:block;color:var(--gris);font-size:.82rem}
.liste-p .prix{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bordeaux);white-space:nowrap;font-weight:500}

/* Résultats */
.resultats{background:var(--creme-2)}
.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.galerie .visuel{aspect-ratio:3/4}
.galerie .visuel:nth-child(odd){transform:translateY(30px)}
.galerie .chiffre{position:absolute;top:16px;right:16px;font-family:var(--serif);font-size:2rem;color:var(--or-clair);font-style:italic}

/* Gamme */
.gamme{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.produit{display:grid;grid-template-columns:1fr 1.15fr;background:var(--noir-2);border:1px solid rgba(198,161,91,.2)}
.produit .visuel{min-height:340px}
.produit .corps{padding:36px 30px;display:flex;flex-direction:column}
.produit h3{font-size:2rem;color:var(--creme);margin:.3em 0 .1em}
.produit .ing{font-style:italic;font-family:var(--serif);color:var(--or);font-size:1.1rem;margin-bottom:14px}
.produit p{font-size:.9rem;flex:1}
.produit .btn{margin-top:22px;align-self:flex-start;padding:12px 20px}
.duo{margin-top:26px;text-align:center;padding:28px;border:1px dashed rgba(198,161,91,.4);font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--or-clair)}

/* Avis */
.avis-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.avis{background:#fff;padding:38px 32px;position:relative;border-top:2px solid var(--or)}
.avis::before{content:"“";position:absolute;top:6px;right:24px;font-family:var(--serif);font-size:5rem;color:var(--creme-2);line-height:1}
.etoiles{color:var(--or);letter-spacing:.2em;font-size:.85rem}
.avis p{font-family:var(--serif);font-size:1.25rem;font-style:italic;margin:14px 0 22px;line-height:1.45}
.avis b{font-weight:500;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}
.note-maquette{text-align:center;margin-top:26px;font-size:.78rem;color:var(--gris)}

/* Formation */
.formation{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--bordeaux);color:var(--creme)}
.formation .visuel{min-height:460px}
.formation .corps{padding:80px 64px}
.formation p{color:#e6d3cf;margin-bottom:26px}
.formation ul{list-style:none;margin-bottom:34px}
.formation li{padding:10px 0;border-bottom:1px solid rgba(245,238,228,.15);display:flex;gap:12px}
.formation li::before{content:"—";color:var(--or-clair)}

/* RDV */
.rdv{text-align:center;background:var(--noir);color:var(--creme);position:relative;overflow:hidden}
.rdv::before{content:"RK";position:absolute;font-family:var(--serif);font-size:32rem;color:rgba(198,161,91,.05);left:50%;top:50%;transform:translate(-50%,-50%);line-height:1;pointer-events:none}
.rdv h2{font-size:clamp(2.6rem,6vw,4.6rem);position:relative}
.rdv p{max-width:520px;margin:0 auto 38px;color:#bdb1a4;position:relative}
.rdv .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}
.infos{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:80px;padding-top:50px;border-top:1px solid rgba(198,161,91,.2);position:relative;text-align:left}
.infos h4{font-family:var(--sans);font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--or);font-weight:500;margin-bottom:10px}
.infos p{margin:0;font-size:.95rem;color:#d9cfc2}

footer{background:#070505;color:#8f8377;padding:40px 0;font-size:.8rem}
.pied{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.reseaux{display:flex;gap:22px}
.reseaux a{letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;color:var(--creme)}
.reseaux a:hover{color:var(--or)}

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

/* Animations */
.rev{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.rev.vu{opacity:1;transform:none}

@media (max-width:1140px){
  .menu,.nav>.btn{display:none}
  .burger{display:block}
  .menu.ouvert{display:flex;flex-direction:column;position:fixed;inset:70px 0 auto 0;background:var(--noir);padding:30px 24px;gap:22px;border-bottom:1px solid var(--or)}
}
@media (max-width:960px){
  section{padding:80px 0}
  .hero .visuel{inset:0}
  .hero .visuel::after{background:linear-gradient(180deg,rgba(13,10,9,.55),var(--noir) 85%)}
  .maison,.panneau.actif,.formation{grid-template-columns:1fr;gap:40px}
  .maison-img .badge{right:12px;bottom:-24px}
  .lissages,.avis-grille,.gamme{grid-template-columns:1fr}
  .galerie{grid-template-columns:repeat(2,1fr)}
  .mp-grille{grid-template-columns:1fr;gap:60px}
  .mp-photos .visuel:last-child{transform:translateY(30px)}
  .tuiles{grid-template-columns:1fr 1fr}
  .tuile,.tuile:nth-child(4),.tuile:nth-child(5){grid-column:span 1;aspect-ratio:3/4}
  .tuile:nth-child(5){grid-column:span 2;aspect-ratio:16/10}
  .tuile h3{font-size:1.4rem}
  .tuile .txt{left:14px;right:14px;bottom:14px;flex-direction:column;align-items:start}
  .formation .corps{padding:50px 24px}
  .formation .visuel{min-height:300px}
  .infos{grid-template-columns:1fr;text-align:center}
  .barre-mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0 0;z-index:60;border-top:1px solid var(--or)}
  .barre-mobile a{padding:16px;text-align:center;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}
  .barre-mobile a:first-child{background:var(--noir);color:var(--creme)}
  .barre-mobile a:last-child{background:var(--or);color:var(--noir)}
  footer{padding-bottom:90px}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .produit{grid-template-columns:1fr}
  .produit .visuel{min-height:240px}
  .hero-meta{gap:22px}
  .galerie .visuel:nth-child(odd){transform:none}
  .logo-txt{font-size:1.1rem}
  .onglets{gap:6px}
  .onglets button{padding:9px 12px;font-size:.62rem;letter-spacing:.1em}
  .panneau .visuel{aspect-ratio:16/10}
}
@media (prefers-reduced-motion:reduce){.bandeau div{animation:none}.rev{opacity:1;transform:none}}

/* ===== Thème clair (palette inspirée Pure Hair London) ===== */
:root{--noir:#1c1b1b;--noir-2:#ffffff;--creme:#ffffff;--creme-2:#f3f3f3;--or:#a8927c;--or-clair:#c9b8a6;--bordeaux:#1c1b1b;--texte:#1c1b1b;--gris:#5c5c5c;--sable:#efebe6}
body{background:#fff;color:#1c1b1b}
h1,h2{font-family:var(--sans);font-weight:300;text-transform:uppercase;letter-spacing:.08em}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.25}
h1 em,h2 em{font-family:var(--script);text-transform:none;letter-spacing:0;font-style:normal;color:var(--or);font-size:1.35em;font-weight:400}
h3{font-family:var(--sans);font-weight:400;letter-spacing:.04em}
.eyebrow{color:var(--gris);letter-spacing:.38em}
p{color:var(--gris)}
.btn{border-radius:999px;border-color:#1c1b1b}
.btn-or{background:#1c1b1b;color:#fff}
.btn-or:hover{background:#5c5c5c;border-color:#5c5c5c}
.btn-ligne{color:#1c1b1b}
.btn-ligne:hover{background:#1c1b1b;color:#fff}
.mono{color:#1c1b1b}
header,header.scrolled{background:rgba(255,255,255,.97);border-bottom:1px solid #e7e7e7;backdrop-filter:blur(8px)}
.logo,.menu a{color:#1c1b1b}
.logo-txt small{color:var(--gris)}
.menu a:hover{color:var(--or)}
.burger span{background:#1c1b1b}
.menu.ouvert{background:#fff!important;border-bottom:1px solid #e7e7e7!important}
.hero{background:var(--sable);color:#1c1b1b}
.hero .visuel::after{background:linear-gradient(90deg,var(--sable) 0%,rgba(239,235,230,.6) 30%,rgba(239,235,230,0) 60%)}
.hero h1{font-size:clamp(2.2rem,4vw,3.6rem)}
.hero-in{max-width:540px}
.hero .visuel{inset:0 0 0 46%}
.hero .visuel img{object-position:70% 20%!important}
@media (min-width:1201px){.hero>.wrap{max-width:none;margin:0;padding-left:clamp(32px,6vw,120px);width:100%}.hero .hero-in{max-width:min(600px,46vw)!important}.hero .visuel{inset:0 0 0 56%}.hero .visuel img{transform:scaleX(-1);object-position:0% 20%!important}.hero-in{max-width:500px}.hero .visuel::after{background:linear-gradient(90deg,var(--sable) 0%,rgba(239,235,230,0) 22%)!important}}
.hero .script{font-size:clamp(2.2rem,3.6vw,3.2rem)!important}
.hero p{color:#3f3f3f}
.hero .script{color:var(--or);font-size:clamp(2.6rem,5vw,4rem);text-transform:none;letter-spacing:0}
.hero-meta{border-top-color:rgba(28,27,27,.15)}
.hero-meta b{color:#1c1b1b;font-family:var(--sans);font-weight:300}
.hero-meta span{color:var(--gris)}
.pastilles a{background:#fff;border-color:#1c1b1b}
.pastilles a:hover{background:#1c1b1b;color:#fff}
.bandeau{background:#1c1b1b;color:#fff}
.bandeau div{font-family:var(--sans);font-style:normal;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase}
.maison p{color:var(--gris)}
.maison-img .badge{background:#fff;color:#1c1b1b;border-color:#e7e7e7;box-shadow:0 20px 40px rgba(0,0,0,.08)}
.signature{font-family:var(--script);font-style:normal;color:var(--or);font-size:2.2rem}
.collection{background:#f3f3f3}
.sombre{background:#fff;color:#1c1b1b}
.sombre p{color:var(--gris)}
.carte-l{background:#fff;border-color:#e7e7e7}
.carte-l:hover{border-color:#1c1b1b}
.carte-l h3,.produit h3{color:#1c1b1b}
.carte-l .num{color:var(--or)}
.carte-l li{color:#3f3f3f;border-top-color:#e7e7e7}
.carte-l li::before{color:var(--or)}
.mp{background:var(--sable)}
.mp-soin{background:#fff;border-left-color:#1c1b1b}
.mp-soin p{color:var(--gris)}
.mp-soin .ico{background:#1c1b1b;color:#fff;padding:11px}
.mp-soin .ico svg{width:100%;height:100%}
.mp-soin .nouveau{background:var(--or);color:#fff;border-radius:999px}
.mp-promesse{color:var(--or)}
.mp-photos .etiquette{background:#1c1b1b;border-radius:999px}
.onglets button{border-radius:999px;border-color:#e7e7e7}
.onglets button.actif,.onglets button:hover{background:#1c1b1b;border-color:#1c1b1b}
.liste-p li{border-bottom-color:#e7e7e7}
.liste-p .prix{color:var(--or)}
.resultats{background:#f3f3f3}
#gamme{background:var(--sable)}
.produit{background:#fff;border-color:#e7e7e7}
.produit .ing{color:var(--or)}
.duo{color:#1c1b1b;border-color:rgba(28,27,27,.2);font-family:var(--script);font-style:normal;font-size:2rem}
.avis{background:#f3f3f3;border-top-color:#1c1b1b}
.avis::before{color:#e0dcd6}
.etoiles{color:#1c1b1b}
.formation{background:#1c1b1b}
.formation p,.formation li{color:#cfcfcf}
.formation h2{color:#fff}
.formation .btn-or,.rdv .btn-or{background:#fff;color:#1c1b1b;border-color:#fff}
.formation .btn-or:hover,.rdv .btn-or:hover{background:var(--or-clair);border-color:var(--or-clair)}
.rdv{background:#1c1b1b}
.rdv h2{color:#fff}
.rdv::before{color:rgba(255,255,255,.04)}
.rdv .btn-ligne{color:#fff;border-color:#fff}
.rdv .btn-ligne:hover{background:#fff;color:#1c1b1b}
.infos{border-top-color:rgba(255,255,255,.12)}
.infos h4{color:var(--or-clair)}
.infos p,.infos a{color:#cfcfcf}
.rdv p{color:#bdbdbd}
footer{background:#000;color:#8a8a8a}
footer .logo,.reseaux a{color:#fff}
footer .mono{color:#fff}
footer a[href^="mailto"]{color:#cfcfcf}
.barre-mobile{border-top-color:#1c1b1b}
.barre-mobile a:first-child{background:#fff;color:#1c1b1b}
.barre-mobile a:last-child{background:#1c1b1b;color:#fff}
.visuel{background:#e7e2dc}
@media (max-width:1200px){
  .hero{flex-direction:column;align-items:stretch;min-height:0;padding-top:74px}
  .hero .visuel{position:relative;inset:auto;height:62vh;min-height:380px}
  .hero-in{max-width:640px}
  .hero .visuel img{object-position:50% 38%!important}
  .hero .visuel::after{background:linear-gradient(180deg,rgba(239,235,230,0) 65%,var(--sable) 100%)}
  .hero-in{padding-top:10px;padding-bottom:60px}
}

/* Packshots produits : flacon entier, fond blanc */
.produit .visuel{background:#fff}
.produit .visuel img{object-fit:contain;padding:18px}
.tuile .visuel img[src*="curl-therapy"],.tuile .visuel img[src*="chrono-liss"]{object-fit:contain;background:#fff;padding:12px}
.tuile .visuel:has(img[src*="curl-therapy"]),.tuile .visuel:has(img[src*="chrono-liss"]){background:#fff}

/* Ancres sous le header fixe */
section[id]{scroll-margin-top:90px}
a:focus-visible,button:focus-visible{outline:2px solid var(--or);outline-offset:3px}

/* Tarifs mèches */
.tarifs{background:#fff}
.tarifs-grille{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:center}
.tarifs .visuel{aspect-ratio:3/4}
.prix-table{width:100%;border-collapse:collapse;margin:26px 0 10px}
.prix-table th{text-align:left;font-family:var(--sans);font-weight:500;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);padding-bottom:12px;border-bottom:1px solid #e7e7e7}
.prix-table td{padding:11px 0;border-bottom:1px solid #f0efec;font-size:.95rem}
.prix-table td:last-child{text-align:right;font-weight:500}
.prix-table tr:hover td{background:#faf9f7}
.tarifs .mention{font-size:.82rem;color:var(--gris);margin-bottom:26px}
.tarifs .ctas{display:flex;gap:12px;flex-wrap:wrap}

/* Preuve sociale */
.preuve{background:#f3f3f3;text-align:center}
.preuve-chiffres{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:44px}
.preuve-chiffres b{display:block;font-size:2.4rem;font-weight:300;line-height:1;margin-bottom:8px}
.preuve-chiffres span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.preuve .btn{margin-top:44px}
@media (max-width:960px){
  .tarifs-grille{grid-template-columns:1fr;gap:36px}
  .preuve-chiffres{grid-template-columns:1fr 1fr;gap:28px}
}

/* Comparateur avant / après */
.compare{position:relative;aspect-ratio:3/4;overflow:hidden;background:#e7e2dc;cursor:ew-resize;user-select:none;touch-action:none}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.compare .apres{clip-path:inset(0 0 0 50%)}
.compare .barre{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.35);z-index:3}
.compare .poignee{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;z-index:4;display:grid;place-items:center;font-size:.8rem;color:#1c1b1b;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.compare .lab{position:absolute;bottom:14px;z-index:5;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(28,27,27,.72);color:#fff}
.compare .lab-a{left:14px}.compare .lab-b{right:14px;background:#fff;color:#1c1b1b}
.compare-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.compare-lg{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-top:12px;text-align:center}

/* Sélecteur de longueur */
.selecteur{background:#fff;border:1px solid #e7e7e7;border-radius:14px;padding:26px 24px;margin:26px 0}
.longueurs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.longueurs button{font-family:var(--sans);border:1px solid #e0ded9;background:#fff;border-radius:999px;padding:9px 15px;font-size:.78rem;cursor:pointer;transition:.25s;color:#1c1b1b}
.longueurs button:hover{border-color:#1c1b1b}
.longueurs button.actif{background:#1c1b1b;color:#fff;border-color:#1c1b1b}
.prix-affiche{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.prix-affiche b{font-size:2.6rem;font-weight:300;line-height:1}
.prix-affiche small{color:var(--gris);font-size:.82rem}
@media (max-width:960px){.compare-grille{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.compare-grille{grid-template-columns:1fr}}

/* Gamme 4 produits */
.gamme-4{grid-template-columns:repeat(4,1fr);gap:18px}
.gamme-4 .produit{display:block}
.gamme-4 .produit .visuel{aspect-ratio:1/1;min-height:0}
.gamme-4 .produit .corps{padding:22px 20px 26px}
.gamme-4 .produit h3{font-size:1.45rem;margin:.25em 0 .05em}
.gamme-4 .produit .ing{font-size:.92rem;display:block;margin-bottom:10px}
.gamme-4 .produit p{font-size:.84rem;min-height:3.6em}
.gamme-4 .produit .btn{padding:10px 16px;font-size:.66rem;margin-top:14px}
@media (max-width:960px){.gamme-4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.gamme-4{grid-template-columns:1fr}}

/* Bouton WhatsApp flottant */
.wa-flottant{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;align-items:center;gap:10px;background:#25D366;color:#fff;border-radius:999px;padding:10px 18px 10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.22);font-size:.78rem;letter-spacing:.08em;font-weight:500;transition:.3s}
.wa-flottant:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.wa-flottant svg{width:30px;height:30px;flex:none}
.wa-flottant::before{content:"";position:absolute;inset:-6px;border-radius:999px;border:2px solid rgba(37,211,102,.45);animation:wa-pulse 2.2s ease-out infinite}
@keyframes wa-pulse{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@media (max-width:1140px){.wa-flottant{bottom:78px;right:14px;padding:11px}.wa-flottant span{display:none}}
@media (prefers-reduced-motion:reduce){.wa-flottant::before{animation:none}}

/* ===== Panier ===== */
.nav-droite{display:flex;align-items:center;gap:14px}
.btn-panier{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid #e0ded9;background:#fff;display:grid;place-items:center;cursor:pointer;color:#1c1b1b;transition:.25s}
.btn-panier:hover{border-color:#1c1b1b}
.btn-panier svg{width:20px;height:20px}
.btn-panier .nb{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#1c1b1b;color:#fff;font-size:.68rem;font-weight:500;display:grid;place-items:center;transform:scale(0);transition:transform .25s}
.btn-panier .nb.plein{transform:scale(1)}
.btn-panier.pop{animation:pop .4s}
@keyframes pop{40%{transform:scale(1.18)}}
.prix-produit{font-size:1.25rem;font-weight:400;margin-top:12px;display:block}
.btn-ajout{width:100%;justify-content:center;cursor:pointer;background:#1c1b1b;color:#fff;border:1px solid #1c1b1b}
.btn-ajout:hover{background:#5c5c5c;border-color:#5c5c5c;color:#fff}
.btn-ajout.ok{background:var(--or);border-color:var(--or)}
.voile{position:fixed;inset:0;background:rgba(28,27,27,.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .3s}
.voile.ouvert{opacity:1;pointer-events:auto}
.tiroir{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;z-index:95;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:-20px 0 60px rgba(0,0,0,.15)}
.tiroir.ouvert{transform:none}
.tiroir-tete{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid #e7e7e7}
.tiroir-tete h3{font-size:1rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.tiroir-fermer{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:#1c1b1b;width:40px;height:40px}
.tiroir-corps{flex:1;overflow:auto;padding:8px 24px}
.ligne{display:grid;grid-template-columns:72px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid #f0efec;align-items:center}
.ligne img{width:72px;height:90px;object-fit:cover;background:#f3f3f3}
.ligne img.contenu{object-fit:contain;padding:6px}
.ligne h4{font-family:var(--sans);font-weight:400;font-size:.98rem}
.ligne small{color:var(--gris);font-size:.78rem;display:block}
.qte{display:inline-flex;align-items:center;border:1px solid #e0ded9;border-radius:999px;margin-top:8px}
.qte button{width:30px;height:30px;background:none;border:0;cursor:pointer;font-size:1rem;color:#1c1b1b}
.qte span{min-width:22px;text-align:center;font-size:.85rem}
.ligne .droite{text-align:right}
.ligne .droite b{font-weight:500;display:block}
.ligne .suppr{background:none;border:0;color:var(--gris);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;margin-top:10px;text-decoration:underline}
.panier-vide{text-align:center;padding:70px 10px;color:var(--gris)}
.panier-vide .btn{margin-top:20px}
.tiroir-pied{border-top:1px solid #e7e7e7;padding:20px 24px 24px;background:#faf9f7}
.total-ligne{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.total-ligne b{font-size:1.5rem;font-weight:400}
.tiroir-pied .info{font-size:.76rem;color:var(--gris);margin-bottom:16px}
.tiroir-pied .btn{width:100%;justify-content:center;margin-top:8px;cursor:pointer}
.btn-payer{background:#1c1b1b;color:#fff;border:1px solid #1c1b1b;gap:10px}
.btn-payer:hover{background:#5c5c5c;border-color:#5c5c5c}
.btn-payer svg{width:16px;height:16px}
.moyens{display:flex;justify-content:center;gap:8px;margin-top:14px;flex-wrap:wrap}
.moyens span{font-size:.6rem;letter-spacing:.1em;border:1px solid #e0ded9;border-radius:4px;padding:3px 7px;color:var(--gris);background:#fff}
/* Écran de paiement (démo) */
.paiement{position:fixed;inset:0;z-index:100;background:#f6f8fa;display:none;overflow:auto}
.paiement.ouvert{display:block}
.pay-grille{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.pay-gauche{padding:60px 40px;background:#fff}
.pay-droite{padding:60px 40px}
.pay-retour{background:none;border:0;cursor:pointer;font-size:.85rem;color:#5c5c5c;margin-bottom:30px}
.pay-marchand{font-size:.9rem;color:#5c5c5c}
.pay-total{font-size:2.4rem;font-weight:500;margin:6px 0 30px}
.pay-item{display:flex;justify-content:space-between;gap:14px;font-size:.9rem;padding:9px 0}
.pay-item small{display:block;color:#8a8a8a}
.pay-champ{display:block;margin-bottom:14px;font-size:.8rem;color:#5c5c5c}
.pay-champ div{margin-top:6px;border:1px solid #dcdfe4;border-radius:6px;padding:12px 14px;color:#b0b5bd;background:#fff;font-size:.92rem}
.pay-ok{width:100%;border:0;border-radius:6px;background:#1c1b1b;color:#fff;padding:14px;font-size:.95rem;cursor:pointer;margin-top:10px}
.pay-note{margin-top:18px;font-size:.74rem;color:#8a8a8a;text-align:center}
.pay-bandeau{background:#fff8e6;border:1px solid #f1dfa9;color:#7a5b00;font-size:.78rem;padding:10px 14px;border-radius:6px;margin-bottom:24px}
.pay-merci{display:none;text-align:center;padding:120px 24px}
.pay-merci .rond{width:72px;height:72px;border-radius:50%;background:#1c1b1b;color:#fff;display:grid;place-items:center;font-size:2rem;margin:0 auto 22px}
@media (max-width:760px){.pay-grille{grid-template-columns:1fr}.pay-gauche,.pay-droite{padding:34px 20px}}
@media (max-width:1140px){.nav-droite .btn{display:none}}

/* ===== Corrections client ===== */
.autorite{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.autorite li{background:#f7f5f2;padding:16px 18px;border-left:2px solid #1c1b1b}
.autorite b{display:block;font-weight:400;font-size:1.25rem;line-height:1.2}
.autorite span{font-size:.8rem;color:var(--gris)}
#reine .maison-img .visuel{background:linear-gradient(160deg,#e7e2dc,#d6cec4)}
#reine .maison-img .visuel::before{display:none}
#reine .maison-img .tag,.visuel.vide .tag{left:50%;bottom:50%;transform:translate(-50%,50%);background:rgba(255,255,255,.8);color:#5c4400;border-color:#c9b28a;white-space:nowrap}
.visuel.vide{background:#f3f1ee;display:grid;place-items:center}.visuel.vide::before{display:none}
.visuel.vide .mono{width:96px;height:96px;color:#d9d3ca}
.visuel.vide .tag{left:50%;bottom:16px;transform:translateX(-50%);background:#fff;color:var(--gris);border:1px solid #e0ded9;font-size:.58rem}
.liste-p a.prix{text-decoration:underline;text-underline-offset:3px}
.entretien{background:var(--sable)}
.entretien .carte-l{background:#fff}
.visuel.pack{background:#fff}
.visuel.pack img{object-fit:contain;padding:16px}
.pousse{display:grid;grid-template-columns:.85fr 1fr;gap:70px;align-items:center}
.pousse figure{max-width:440px}
.points{list-style:none;margin:22px 0 30px}
.points li{padding:11px 0;border-bottom:1px solid #e0ded9;display:flex;gap:12px}
.points li::before{content:"✦";color:var(--or);font-size:.75rem;margin-top:4px}
.ext-resultats{background:#fff}
.compare-grille.trois{grid-template-columns:repeat(3,1fr)}
.formations{background:#1c1b1b;color:#fff}
.formations h2{color:#fff}
.formations p{color:#cfcfcf}
.formations .note-maquette{color:#8a8a8a}
.formations-grille{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.formation-carte{background:#262423;display:grid;grid-template-columns:.8fr 1fr}
.formation-carte .visuel{min-height:340px}
.formation-carte .corps{padding:34px 30px}
.formation-carte .num{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or-clair)}
.formation-carte h3{font-size:1.9rem;margin:.25em 0 .35em;color:#fff}
.formation-carte ul{list-style:none;margin:16px 0 24px}
.formation-carte li{padding:9px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.88rem;color:#e6e6e6;display:flex;gap:10px}
.formation-carte li::before{content:"—";color:var(--or-clair)}
.formation-carte .btn-or{background:#fff;color:#1c1b1b;border-color:#fff;padding:12px 20px;font-size:.68rem}
.formation-carte .btn-or:hover{background:var(--or-clair);border-color:var(--or-clair)}
.gamme-6{grid-template-columns:repeat(3,1fr)}
.gamme-6 .produit h3{font-size:1.3rem}
@media (max-width:1300px){.menu{gap:16px}.menu a{letter-spacing:.14em;font-size:.7rem}}
@media (max-width:960px){
  .pousse{grid-template-columns:1fr;gap:40px}.pousse figure{max-width:none}
  .compare-grille.trois{grid-template-columns:1fr 1fr}
  .formations-grille{grid-template-columns:1fr}
  .gamme-6{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .autorite{grid-template-columns:1fr}
  .compare-grille.trois,.gamme-6{grid-template-columns:1fr}
  .formation-carte{grid-template-columns:1fr}.formation-carte .visuel{min-height:220px}
}

/* ===== Multi-pages ===== */
.ligne .sans-photo{width:72px;height:90px;background:#f3f1ee}
.menu a.actif{color:var(--or);opacity:1}
.page-tete{background:var(--sable);padding:150px 0 70px;text-align:center}
.page-tete h1{font-size:clamp(2rem,4.4vw,3.2rem);margin:.3em 0 .2em}
.page-tete p{max-width:560px;margin:0 auto}
.page-tete.avec-photo{padding:0;text-align:left}
.pt-grille{display:grid;grid-template-columns:1fr 1fr;min-height:540px}
.pt-txt{display:flex;flex-direction:column;justify-content:center;padding:150px 60px 70px max(24px,calc((100vw - 1180px)/2 + 24px))}
.page-tete.avec-photo p{margin:0;max-width:440px}
.page-tete.avec-photo .fil{margin-bottom:6px}
.pt-grille .visuel{min-height:100%;background:#fff}
@media (max-width:960px){
  .pt-grille{grid-template-columns:1fr;min-height:0}
  .pt-txt{padding:120px 24px 40px}
  .pt-grille .visuel{min-height:0;height:300px}
}
.fil{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.fil a:hover{color:var(--or)}
.rassure{background:#1c1b1b;color:#fff;padding:0}
.rassure .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.rassure div{padding:30px 20px;text-align:center;border-left:1px solid rgba(255,255,255,.12)}
.rassure div:first-child{border-left:0}
.rassure b{display:block;font-weight:400;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;margin-bottom:4px}
.rassure span{font-size:.8rem;color:#bdbdbd}
.vers-boutique{background:var(--sable)}
.vers-grille{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:44px}
.vers-carte{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;color:#fff}
.vers-carte .visuel{position:absolute;inset:0}
.vers-carte .visuel img{transition:transform 1s ease}
.vers-carte:hover .visuel img{transform:scale(1.05)}
.vers-carte::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(13,10,9,.8))}
.vers-carte .txt{position:absolute;left:26px;right:26px;bottom:24px;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:14px}
.vers-carte h3{font-size:1.7rem}
.vers-carte small{display:block;color:#e0d6ca;font-size:.82rem}
.vers-carte .voir{flex:none;padding:10px 18px;border-radius:999px;background:#fff;color:#1c1b1b;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
/* Pages légales */
.legal{padding:70px 0 110px;background:#fff}
.legal .wrap{max-width:820px}
.legal h2{font-size:1.25rem;letter-spacing:.06em;margin:2.2em 0 .6em;padding-top:1.4em;border-top:1px solid #e7e7e7}
.legal h2:first-of-type{border-top:0;padding-top:0}
.legal p,.legal li{color:#3f3f3f;margin-bottom:.9em;font-size:.98rem}
.legal ul{padding-left:1.2em;margin-bottom:1em}
.legal a{text-decoration:underline;text-underline-offset:3px}
.legal .tableau{overflow-x:auto;margin:1em 0 1.4em}
.legal table{width:100%;min-width:560px;border-collapse:collapse;font-size:.92rem}
.legal p,.legal li{overflow-wrap:anywhere}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid #e7e7e7;vertical-align:top}
.legal th{font-weight:500;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris)}
.a-completer{background:#fff3c4;color:#5c4400;padding:1px 6px;border-radius:3px;font-size:.92em}
.note-modele{background:#fff8e6;border:1px solid #f1dfa9;color:#7a5b00;padding:14px 18px;border-radius:8px;font-size:.86rem;margin-bottom:34px}
.maj{font-size:.8rem;color:var(--gris)}
/* Pied de page */
footer{padding:64px 0 28px}
.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.pied-grille h4{font-family:var(--sans);font-weight:500;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.pied-grille ul{list-style:none}
.pied-grille li{margin-bottom:9px}
.pied-grille a:hover{color:#fff}
.pied-grille p{color:#8a8a8a;margin-top:14px;max-width:260px}
.signe-toudoum{display:inline-flex;align-items:center;gap:9px;color:#cfcfcf}
.signe-toudoum i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:#fff;color:#1c1b1b;font-style:normal;font-weight:500;font-size:.8rem}
.pied-bas{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:46px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.74rem}
@media (max-width:960px){
  .rassure .wrap{grid-template-columns:1fr 1fr}
  .rassure div:nth-child(3){border-left:0}
  .rassure div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)}
  .vers-grille{grid-template-columns:1fr}
  .pied-grille{grid-template-columns:1fr 1fr;gap:32px}
  .page-tete{padding:120px 0 50px}
  footer{padding-bottom:100px}
}
@media (max-width:560px){.pied-grille{grid-template-columns:1fr}.vers-carte{aspect-ratio:4/3}}

/* ===== Site multi-pages v2 : accueil en aperçu, une page par rubrique ===== */
.titre-bloc{text-align:center;margin-bottom:48px}
.titre-bloc h2{margin-bottom:0}
.suite{text-align:center;margin-top:40px}
.univers{background:#fff}
.univers-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ucarte{display:flex;flex-direction:column;background:#f7f5f2;transition:transform .35s,box-shadow .35s}
.ucarte:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,0,0,.09)}
.ucarte .visuel{aspect-ratio:4/5}
.ucarte .visuel img{transition:transform 1s ease}
.ucarte:hover .visuel img{transform:scale(1.05)}
.ucarte .txt{padding:24px 22px 26px;display:flex;flex-direction:column;flex:1}
.ucarte .num{font-size:.66rem;letter-spacing:.26em;color:var(--or)}
.ucarte h3{font-size:1.5rem;margin:.3em 0 .35em}
.ucarte p{font-size:.88rem;flex:1;margin-bottom:18px}
.ucarte .voir{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:#1c1b1b}
.vedettes{background:var(--sable)}
.vedettes-grille .produit{background:#fff;border:1px solid #e7e7e7}
.vedettes-grille .produit .corps{text-align:left}
.vedettes-grille a.btn-ajout{margin-top:14px;padding:10px 16px;font-size:.66rem}
.preuves-accueil{background:#fff}
.preuves-grille{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:860px;margin:0 auto}
.preuves-grille .suite{margin-top:22px}
.apropos-apercu{background:#f3f3f3;text-align:center}
.apropos-apercu p{max-width:620px;margin:0 auto}
.apropos-apercu .preuve-chiffres{margin:44px auto;max-width:860px}
.appel{background:#1c1b1b;color:#fff;text-align:center;padding:90px 0}
.appel h2{color:#fff}
.appel p{color:#cfcfcf;max-width:520px;margin:0 auto 32px}
.appel .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.appel .btn-or{background:#fff;color:#1c1b1b;border-color:#fff}
.appel .btn-or:hover{background:var(--or-clair);border-color:var(--or-clair)}
.appel .btn-ligne{color:#fff;border-color:#fff}
.appel .btn-ligne:hover{background:#fff;color:#1c1b1b}
.etapes{background:#fff}
.etapes-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.etapes-grille>div{background:#f7f5f2;padding:34px 28px;border-top:2px solid #1c1b1b}
.etapes-grille b{font-weight:300;font-size:2rem;color:var(--or);display:block;line-height:1;margin-bottom:14px}
.etapes-grille h3{font-size:1.25rem;margin-bottom:8px}
.etapes-grille p{font-size:.9rem}
.hero-in .ctas{margin-bottom:0}
@media (max-width:960px){
  .univers-grille{grid-template-columns:1fr 1fr}
  .etapes-grille{grid-template-columns:1fr}
  .preuves-grille{gap:24px}
  .appel{padding:70px 0}
}
@media (max-width:560px){
  .univers-grille{grid-template-columns:1fr}
  .ucarte{flex-direction:row}
  .ucarte .visuel{aspect-ratio:auto;width:38%;flex:none;min-height:170px}
  .ucarte .txt{padding:18px 16px}
  .ucarte h3{font-size:1.25rem}
  .preuves-grille{grid-template-columns:1fr}
}

/* ===== Pages enrichies v3 ===== */
.fond-sable{background:var(--sable)}
.fond-gris{background:#f3f3f3}
.fond-blanc{background:#fff}
.volet{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.volet.inverse>.volet-img{order:2}
.volet-img .visuel{aspect-ratio:4/5}
.volet-img .visuel.pack{background:#fff}
.volet-img .visuel.pack img{object-fit:contain;padding:30px}
.volet .points{margin:18px 0 28px}
.volet .ctas{display:flex;gap:12px;flex-wrap:wrap}
.fond-noir{background:#1c1b1b;color:#fff}
.fond-noir h2,.fond-noir h3{color:#fff}
.fond-noir p{color:#cfcfcf}
.fond-noir .eyebrow{color:var(--or-clair)}
.fond-noir .points li{border-bottom-color:rgba(255,255,255,.14);color:#e6e6e6}
.fond-noir .btn-or{background:#fff;color:#1c1b1b;border-color:#fff}
.fond-noir .btn-or:hover{background:var(--or-clair);border-color:var(--or-clair)}
.fond-noir .btn-ligne{color:#fff;border-color:#fff}
.fond-noir .btn-ligne:hover{background:#fff;color:#1c1b1b}
.citation{background:var(--sable);text-align:center;padding:90px 0}
.citation blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.3;max-width:820px;margin:0 auto 18px}
.citation cite{font-style:normal;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}
.fiches{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fiche{background:#fff;border:1px solid #e7e7e7;padding:30px 26px;display:flex;flex-direction:column}
.fond-blanc .fiche{background:#f7f5f2;border-color:#f7f5f2}
.fiche .num{font-size:.66rem;letter-spacing:.26em;color:var(--or);text-transform:uppercase}
.fiche h3{font-size:1.4rem;margin:.3em 0 .4em}
.fiche p{font-size:.9rem;flex:1}
.fiche dl{margin-top:18px;border-top:1px solid #e7e7e7;font-size:.84rem}
.fiche dl div{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid #e7e7e7}
.fiche dt{flex:none;width:86px;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);padding-top:3px}
.fiche dd{color:#3f3f3f}
.faq .wrap{max-width:860px}
.faq details{border-bottom:1px solid #dcd8d2}
.faq details:first-of-type{border-top:1px solid #dcd8d2}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:300;color:var(--or);transition:transform .3s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 44px 22px 0;font-size:.94rem;color:#3f3f3f}
.mosaique{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mosaique .visuel{aspect-ratio:3/4}
.mosaique .visuel img{transition:transform 1s ease}
.mosaique .visuel:hover img{transform:scale(1.05)}
.comparatif{overflow-x:auto}
.comparatif table{width:100%;min-width:640px;border-collapse:collapse;background:#fff}
.comparatif th,.comparatif td{padding:18px 20px;text-align:left;border-bottom:1px solid #e7e7e7;vertical-align:top;font-size:.92rem}
.comparatif thead th{font-family:var(--serif);font-size:1.3rem;font-weight:500;border-bottom:2px solid #1c1b1b}
.comparatif tbody th{font-weight:500;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);width:150px}
.programme{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.prog{background:#fff;padding:38px 34px;border-top:2px solid #1c1b1b}
.prog h3{font-size:1.7rem;margin:.2em 0 .3em}
.prog ol{list-style:none;counter-reset:m;margin-top:22px}
.prog li{counter-increment:m;display:grid;grid-template-columns:44px 1fr;padding:15px 0;border-top:1px solid #e7e7e7}
.prog li::before{content:"0" counter(m);font-weight:300;font-size:1.3rem;color:var(--or);line-height:1.2}
.prog li b{display:block;font-weight:500;font-size:.98rem}
.prog li span{font-size:.86rem;color:var(--gris)}
.cles{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#e0ded9;border:1px solid #e0ded9}
.cles.quatre{grid-template-columns:repeat(4,1fr)}
.cles div{background:#fff;padding:26px 18px;text-align:center}
.cles b{display:block;font-weight:500;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.cles span{font-size:.95rem}
.frise{max-width:760px;margin:0 auto;border-left:1px solid #1c1b1b;padding-left:36px}
.frise div{position:relative;padding-bottom:40px}
.frise div:last-child{padding-bottom:0}
.frise div::before{content:"";position:absolute;left:-41px;top:8px;width:9px;height:9px;border-radius:50%;background:#1c1b1b}
.frise b{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or);font-weight:500}
.frise h3{font-size:1.45rem;margin:.2em 0 .3em}
.frise p{font-size:.94rem}
.routine .gamme .produit{border:1px solid #e7e7e7}
.etapes-grille.quatre{grid-template-columns:repeat(4,1fr)}
.lissages-accueil .suite,.fiches+.suite{margin-top:44px}
/* Vitrine de la page Produits */
.vitrine{background:var(--sable);text-align:center;padding:150px 0 70px}
.vitrine h1{font-size:clamp(2.2rem,5vw,3.8rem);margin:.25em 0 .2em}
.vitrine .fil{margin-bottom:26px}
.vitrine-txt{max-width:520px;margin:0 auto}
.vitrine-rang{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;align-items:end;max-width:1040px;margin:56px auto 0}
.arche{display:block}
.arche span{display:block;background:#fff;border-radius:999px 999px 0 0;aspect-ratio:3/4.4;overflow:hidden;padding:26% 12% 10%;transition:transform .5s ease,box-shadow .5s ease}
.arche:nth-child(odd) span{aspect-ratio:3/5}
.arche img{width:100%;height:100%;object-fit:contain;transition:transform .8s ease}
.arche:hover span{transform:translateY(-8px);box-shadow:0 24px 44px rgba(0,0,0,.08)}
.arche:hover img{transform:scale(1.05)}
.arche small{display:block;margin-top:14px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.vitrine-atouts{list-style:none;display:flex;justify-content:center;gap:14px 40px;flex-wrap:wrap;margin-top:54px;padding-top:28px;border-top:1px solid rgba(28,27,27,.14);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#1c1b1b}
.vitrine-atouts li::before{content:"✦";color:var(--or);margin-right:10px}
@media (max-width:760px){
  .vitrine{padding:120px 0 50px}
  .vitrine-rang{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px}
  .arche:nth-child(n+4){display:none}
  .arche small{font-size:.58rem;letter-spacing:.1em}
  .vitrine-atouts{flex-direction:column;align-items:center;margin-top:36px}
}
/* Tablette et téléphone : les photos basse définition ne sont jamais agrandies en pleine largeur */
@media (max-width:960px){
  .lissages{grid-template-columns:repeat(3,1fr);gap:14px}
  .carte-l .corps{padding:20px 16px 22px}
  .carte-l h3{font-size:1.25rem}
  .pousse figure{max-width:420px;margin:0 auto}
  .formations-grille{grid-template-columns:1fr 1fr}
  .formation-carte{grid-template-columns:1fr}
  .formation-carte .visuel{min-height:260px}
  .pt-grille{grid-template-columns:1fr 1fr;min-height:380px}
  .pt-txt{padding:120px 24px 40px}
  .pt-grille .visuel{height:auto;min-height:100%}
}
@media (max-width:700px){
  .lissages{grid-template-columns:1fr}
  .formations-grille{grid-template-columns:1fr}
  .formation-carte{grid-template-columns:36% 1fr}
  .formation-carte .visuel{min-height:100%}
  .carte-l{display:grid;grid-template-columns:36% 1fr}
  .carte-l .visuel{aspect-ratio:auto;min-height:100%}
  .pt-grille{grid-template-columns:1fr;min-height:0}
  .pt-grille .visuel{height:340px;min-height:0}
}
@media (max-width:960px){
  .volet{grid-template-columns:1fr;gap:36px}
  .volet.inverse>.volet-img{order:0}
  .volet-img .visuel{aspect-ratio:4/3}
  .fiches{grid-template-columns:1fr 1fr}
  .programme{grid-template-columns:1fr}
  .cles,.cles.quatre{grid-template-columns:1fr 1fr}
  .etapes-grille.quatre{grid-template-columns:1fr 1fr}
  .citation{padding:70px 0}
}
@media (max-width:560px){
  .fiches{grid-template-columns:1fr}
  .mosaique{grid-template-columns:1fr 1fr}
  .etapes-grille.quatre{grid-template-columns:1fr}
  .prog{padding:30px 22px}
  .frise{padding-left:26px}
  .frise div::before{left:-31px}
}

/* ===== Catalogue (soins et cheveux) ===== */
.catalogue{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.fiche-p{background:#fff;border:1px solid #e7e7e7;display:flex;flex-direction:column}
.fond-blanc .fiche-p{border-color:#ece9e4}
.fiche-p[hidden]{display:none}
.fiche-p .visuel{position:relative;aspect-ratio:4/5;overflow:hidden;background:#f6f4f1}
.fiche-p .visuel img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
/* Packshots retouchés (fond crème) : l'image remplit la vignette */
.fiche-p .visuel.pack{background:#efe9e1;aspect-ratio:1/1}
.fiche-p .visuel.pack img{object-fit:cover;padding:0}
.vedettes .visuel.pack{background:#efe9e1;aspect-ratio:1/1}
.vedettes .visuel.pack img{object-fit:cover;padding:0}
.arche span{padding:0;background:#efe9e1}
.arche img{object-fit:cover}
.volet-img .visuel.pack img[src*="p-"]{object-fit:cover;padding:0}
.fiche-p:hover .visuel img{transform:scale(1.03)}
.fiche-p .corps{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.fiche-p h3{font-size:1.45rem;margin:.25em 0 .15em}
.fiche-p .ing{font-size:.74rem;letter-spacing:.06em;color:var(--gris);display:block;margin-bottom:10px}
.fiche-p p{font-size:.9rem;margin-bottom:12px;flex:none}
.fiche-p .opt{margin:4px 0 6px}
.fiche-p .opt-nom{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.fiche-p .longueurs{margin:8px 0 6px;gap:6px}
.fiche-p .longueurs button{padding:7px 11px;font-size:.72rem}
.fiche-p .prix-produit{display:block;font-family:var(--serif);font-size:1.7rem;margin:8px 0 12px}
.fiche-p .prix-demande{font-size:1.15rem;color:var(--gris)}
.fiche-p .btn-ajout{width:100%;justify-content:center;margin-top:auto}
.fiche-p .lien-wa{display:block;text-align:center;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-top:12px;text-decoration:underline;text-underline-offset:3px}
.fiche-p .plus{margin-top:14px;border-top:1px solid #ece9e4;padding-top:10px;font-size:.86rem}
.fiche-p .plus summary{cursor:pointer;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#1c1b1b;list-style:none}
.fiche-p .plus summary::after{content:" +";color:var(--or)}
.fiche-p .plus[open] summary::after{content:" −"}
.fiche-p .plus ul{margin:10px 0 0 16px;display:grid;gap:6px;color:#3f3f3f}
.voir-video{position:absolute;left:12px;bottom:12px;background:rgba(28,27,27,.82);color:#fff;border:0;border-radius:999px;padding:9px 15px;font:500 .68rem var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .3s}
.voir-video:hover{background:#1c1b1b}
.filtres{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-10px 0 34px}
.filtres button{font:500 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;border:1px solid #d9d6d1;background:#fff;color:#1c1b1b;border-radius:999px;padding:10px 18px;cursor:pointer;transition:.25s}
.filtres button.actif,.filtres button:hover{background:#1c1b1b;color:#fff;border-color:#1c1b1b}
dialog.lecteur{position:fixed;inset:0;margin:auto;height:fit-content;width:min(92vw,520px);border:0;padding:0;background:transparent;max-height:90vh;overflow:visible}
dialog.lecteur::backdrop{background:rgba(10,9,9,.85)}
dialog.lecteur video{display:block;width:100%;max-height:86vh;background:#000;border-radius:6px}
dialog.lecteur .fermer{position:absolute;top:-44px;right:0;background:none;border:0;color:#fff;font-size:2.2rem;line-height:1;cursor:pointer}
/* Vidéos en vignettes */
.videos{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.videos.trois{grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto}
.vignette{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;background:#111;border:0;padding:0;cursor:pointer;width:100%}
.vignette img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease,opacity .4s}
.vignette:hover img{transform:scale(1.04);opacity:.85}
.vignette::after{content:"▶";position:absolute;inset:auto auto 14px 14px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.92);color:#1c1b1b;display:grid;place-items:center;font-size:.9rem;padding-left:3px}
.vignette span{position:absolute;left:70px;bottom:24px;color:#fff;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.logo img{height:60px;width:auto;display:block}
footer .logo img{height:90px}
@media (max-width:960px){
  .catalogue{grid-template-columns:1fr 1fr}
  .videos{grid-template-columns:1fr 1fr}
  .logo img{height:48px}
}
@media (max-width:560px){
  .catalogue{grid-template-columns:1fr}
  .videos.trois{grid-template-columns:1fr 1fr}
  .vignette span{display:none}
}

/* ===== Cartes produit (grilles) ===== */
.carte-p{background:#fff;border:1px solid #ece9e4;display:flex;flex-direction:column}
.carte-p[hidden]{display:none}
.carte-visuel{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#f6f4f1}
.carte-visuel.pack{aspect-ratio:1/1;background:#efe9e1}
.carte-visuel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s ease,transform 1.2s ease}
.carte-visuel .i2{opacity:0}
.carte-p:hover .carte-visuel .i2{opacity:1}
.carte-p:hover .carte-visuel img{transform:scale(1.03)}
.carte-badge{position:absolute;left:12px;bottom:12px;background:rgba(28,27,27,.78);color:#fff;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:6px 11px;border-radius:999px}
.carte-corps{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.carte-corps h3{font-size:1.4rem;margin:.3em 0 .15em}
.carte-corps h3 a:hover{color:var(--or)}
.carte-corps .ing{font-size:.74rem;letter-spacing:.05em;color:var(--gris);display:block;margin-bottom:14px}
.carte-bas{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.carte-prix{font-family:var(--serif);font-size:1.55rem;line-height:1}
.carte-prix .prix-de{font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-right:4px}
.carte-prix .prix-demande{font-size:1.1rem;color:var(--gris)}
.carte-p .btn-ajout{width:100%;justify-content:center;padding:13px 18px;font-size:.7rem}

/* ===== Page produit ===== */
.pp{background:#fff;padding:130px 0 80px}
.pp .fil{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris);margin-bottom:24px}
.pp .fil a:hover{color:var(--or)}
.pp-grille{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:start}
.pp-galerie{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;position:sticky;top:100px}
.pp-vignettes{display:flex;flex-direction:column;gap:10px;height:0;min-height:100%;overflow-y:auto;scrollbar-width:none}
.pp-vignettes::-webkit-scrollbar{display:none}
.pp-vignettes button{position:relative;flex:none;width:78px;aspect-ratio:4/5;border:1px solid transparent;padding:0;background:#f6f4f1;cursor:pointer;opacity:.6;transition:.25s;overflow:hidden}
.pp-galerie.pack .pp-vignettes button{aspect-ratio:1/1}
.pp-vignettes button img{width:100%;height:100%;object-fit:cover}
.pp-vignettes button.actif,.pp-vignettes button:hover{opacity:1;border-color:#1c1b1b}
.pp-vignettes button.v::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.8rem;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.pp-scene{position:relative;grid-column:2}
.pp-piste{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:4/5;background:#f6f4f1}
.pp-galerie.pack .pp-piste{aspect-ratio:1/1;background:#efe9e1}
.pp-piste::-webkit-scrollbar{display:none}
.pp-diapo{flex:0 0 100%;scroll-snap-align:start;position:relative;margin:0;height:100%}
.pp-diapo img,.pp-diapo video{width:100%;height:100%;object-fit:cover;display:block;background:#111}
.pp-diapo img{background:transparent}
.pp-diapo.entier{background:#fff}
.pp-diapo.entier img{object-fit:contain}
.pp-lire{display:block;width:100%;height:100%;border:0;padding:0;cursor:pointer;position:relative;background:#111}
.pp-lire img{opacity:.92}
.pp-lire span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.94);color:#1c1b1b;display:grid;place-items:center;font-size:1.2rem;padding-left:4px;transition:transform .3s}
.pp-lire:hover span{transform:translate(-50%,-50%) scale(1.07)}
.pp-fl{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#1c1b1b;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.pp-fl.prec{left:12px}.pp-fl.suiv{right:12px}
.pp-compteur{position:absolute;right:14px;bottom:14px;background:rgba(28,27,27,.75);color:#fff;font-size:.68rem;letter-spacing:.14em;padding:5px 11px;border-radius:999px}
.pp-compteur b{font-weight:500}
.pp-infos{padding-top:6px}
.pp-infos h1{font-size:clamp(2rem,3.4vw,2.9rem);margin:.25em 0 .15em}
.pp-ing{display:block;font-size:.8rem;letter-spacing:.06em;color:var(--gris)}
.pp-prix{margin:22px 0 18px;padding:18px 0;border-top:1px solid #ece9e4;border-bottom:1px solid #ece9e4}
.pp-prix span{font-family:var(--serif);font-size:2.1rem;line-height:1}
.pp-prix .prix-demande{font-size:1.4rem;color:var(--gris)}
.pp-prix small{display:block;margin-top:6px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.pp-desc{font-size:.98rem;margin-bottom:22px}
.pp-opt{margin-bottom:20px}
.pp-opt-nom{display:block;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.pp-opt-nom b{color:#1c1b1b;font-weight:500;letter-spacing:.06em;text-transform:none;font-size:.86rem}
.pp-choix{display:flex;flex-wrap:wrap;gap:8px}
.pp-choix button{font:400 .8rem var(--sans);border:1px solid #d9d6d1;background:#fff;color:#1c1b1b;padding:10px 14px;cursor:pointer;transition:.2s;min-width:52px}
.pp-choix button:hover{border-color:#1c1b1b}
.pp-choix button.actif{background:#1c1b1b;border-color:#1c1b1b;color:#fff}
.pp-achat{display:flex;gap:12px;margin:26px 0 14px}
.pp-qte{display:flex;align-items:center;border:1px solid #d9d6d1}
.pp-qte button{width:44px;height:100%;border:0;background:none;font-size:1.1rem;cursor:pointer}
.pp-qte span{min-width:28px;text-align:center}
.pp-ajout{flex:1;justify-content:center;cursor:pointer}
.pp-ajout.ok{background:#2e7d4f;border-color:#2e7d4f;color:#fff}
.pp-plein{display:flex;margin:26px 0 10px}
.pp-wa{display:block;text-align:center;font-size:.74rem;letter-spacing:.1em;color:var(--gris);text-decoration:underline;text-underline-offset:3px}
.pp-wa:hover{color:#1c1b1b}
.pp-paiement{margin-top:20px}
.pp-paiement b{display:block;font-size:.72rem;font-weight:500;letter-spacing:.04em;margin-bottom:8px}
.pp-paiement img{display:block;width:340px;max-width:100%;height:auto}
.pp-note{font-size:.84rem;color:var(--gris);text-align:center}
.pp-atouts{list-style:none;margin:24px 0;padding:16px 18px;background:#f8f6f3;display:grid;gap:6px;font-size:.84rem}
.pp-atouts li::before{content:"✓";color:var(--or);margin-right:10px}
.pp-acc{border-top:1px solid #ece9e4}
.pp-acc:last-child{border-bottom:1px solid #ece9e4}
.pp-acc summary{cursor:pointer;list-style:none;padding:16px 0;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;display:flex;justify-content:space-between}
.pp-acc summary::-webkit-details-marker{display:none}
.pp-acc summary::after{content:"+";color:var(--or);font-size:1rem}
.pp-acc[open] summary::after{content:"−"}
.pp-acc div{padding:0 0 18px;font-size:.92rem;color:#3f3f3f}
.pp-acc ul{margin-left:18px;display:grid;gap:6px}
.pp-acc p+p{margin-top:8px}
.pp-acc a{text-decoration:underline}
.pp-suggestions .catalogue{grid-template-columns:repeat(4,1fr)}
.vedettes-grille.catalogue{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){
  .pp{padding:100px 0 50px}
  .pp-suggestions .catalogue,.vedettes-grille.catalogue{grid-template-columns:1fr 1fr}
  .pp-grille{grid-template-columns:1fr;gap:28px}
  .pp-galerie{grid-template-columns:1fr;position:static}
  .pp-scene{grid-column:1}
  .pp-vignettes{flex-direction:row;height:auto;min-height:0;overflow-x:auto;order:2}
  .pp-vignettes button{width:64px}
  .pp-fl{display:none}
}

/* ===== Sections de vente des pages produit ===== */
.ps-accroche{background:var(--noir);color:var(--creme);padding:90px 24px;text-align:center}
.ps-acc-txt{max-width:860px;margin:0 auto}
.ps-accroche.avec-photo{display:grid;grid-template-columns:1fr 1fr;padding:0;text-align:left;min-height:620px}
.ps-accroche.avec-photo .ps-acc-txt{align-self:center;max-width:600px;margin:0;padding:70px 60px;justify-self:end}
.ps-acc-img{overflow:hidden}.ps-acc-img img{width:100%;height:100%;object-fit:cover;display:block}
.ps-etapes-grille{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ps-etapes-grille.n4{grid-template-columns:repeat(4,1fr);gap:20px}
.ps-etapes-grille.n4 h3{font-size:1.4rem}
.ps-etape-img{display:block;aspect-ratio:4/5;overflow:hidden;margin-bottom:18px;background:#e6dfd4}
.ps-etape-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.ps-etape:hover .ps-etape-img img{transform:scale(1.03)}
.ps-etape small{display:block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--or);font-weight:500;margin-bottom:6px}
.ps-etape h3{font-size:1.65rem;margin-bottom:6px}
.ps-etape p{font-size:.95rem;color:#4a4039}
.ps-res-bandeau{margin-top:48px;background:var(--noir);padding:44px 40px;text-align:center}
.ps-res-bandeau p{color:var(--creme);font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.35;max-width:780px;margin:12px auto 0}
.ps-grand{color:var(--creme);font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.3;margin:16px 0 18px}
.ps-grand em{color:var(--or-clair)}
.ps-format{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#bfb3a6}
.ps-benefs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ps-benef{border-top:2px solid var(--or);padding:22px 4px 0}
.ps-benef b{display:block;font-family:var(--serif);font-size:1.45rem;font-weight:500;margin-bottom:8px}
.ps-benef p{font-size:.92rem;color:#4a4039}
.ps-ingredients{background:#f8f3ea;padding:100px 0}
.ps-ingr-grille{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}
.ps-ingr-visuel{aspect-ratio:4/5;background:#fff;overflow:hidden}
.ps-ingr-visuel img{width:100%;height:100%;object-fit:cover}
.ps-ingr-grille h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:.3em 0 .8em}
.ps-ingr{display:grid;grid-template-columns:48px 1fr;column-gap:14px;padding:18px 0;border-top:1px solid #e6dccd}
.ps-ingr .ps-num{grid-row:span 2;font-family:var(--serif);font-style:italic;color:var(--or);font-size:1.4rem}
.ps-ingr h3{font-size:1.45rem;margin-bottom:4px}
.ps-ingr p{font-size:.94rem;color:#4a4039}
.ps-pourquoi{max-width:860px}
.ps-comp{width:100%;border-collapse:collapse;font-size:.95rem}
.ps-comp th{font:500 .7rem var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:14px 16px;text-align:left}
.ps-comp th:first-child{background:var(--noir);color:var(--or-clair)}
.ps-comp th:last-child{background:#f1ede7;color:var(--gris)}
.ps-comp td{padding:15px 16px;border-bottom:1px solid #ece9e4;vertical-align:top}
.ps-comp td:first-child{background:#fbf8f3;font-weight:400}
.ps-comp td:first-child::before{content:"✓";color:var(--or);margin-right:10px;font-weight:600}
.ps-comp td:last-child{color:var(--gris)}
.ps-comp td:last-child::before{content:"✕";color:#c9bfb4;margin-right:10px}
.ps-destinee{background:var(--bordeaux);color:var(--creme);text-align:center;padding:80px 0}
.ps-destinee .eyebrow{color:var(--or-clair)}
.ps-script{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.35;max-width:820px;margin:16px auto 18px}
.ps-script em{font-family:var(--script);font-style:normal;color:var(--or-clair);font-size:1.3em}
.ps-script{color:var(--creme)}
.ps-destinee p:last-child{color:#e3d4c6;font-size:.95rem}
.ps-mode{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:start}
.ps-mode h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:.3em 0 .8em}
.ps-etapes{list-style:none;display:grid;gap:16px}
.ps-etapes li{display:grid;grid-template-columns:46px 1fr;gap:14px;background:#fff;padding:18px 20px}
.ps-etapes li>span{width:40px;height:40px;border-radius:50%;background:var(--noir);color:var(--or-clair);display:grid;place-items:center;font-family:var(--serif);font-size:1.2rem}
.ps-etapes b{display:block;font-weight:500;margin-bottom:2px}
.ps-etapes p{font-size:.92rem;color:#4a4039}
.ps-resultat{background:var(--noir);color:var(--creme);padding:40px 34px;position:sticky;top:110px}
.ps-resultat p{color:var(--creme);font-family:var(--serif);font-size:1.6rem;line-height:1.35;margin:14px 0 22px}
.ps-resultat .btn{border-color:var(--or)}
.ps-routine{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;padding-top:6px}
.ps-routine::before{content:"";position:absolute;left:20px;right:12.5%;top:26px;height:1px;background:#d9cfc1}
.ps-rt{position:relative;display:block;color:inherit}
.ps-rt-num{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid #d9cfc1;font-family:var(--serif);font-size:1.15rem;margin-bottom:18px;transition:.3s}
.ps-rt.ici .ps-rt-num,.ps-rt:hover .ps-rt-num{background:#1c1b1b;border-color:#1c1b1b;color:#fff}
.ps-rt-img{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#efe9e1;margin-bottom:16px}
.ps-rt-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.ps-rt:hover .ps-rt-img img{transform:scale(1.04)}
.ps-rt-img em{position:absolute;left:10px;top:10px;background:#1c1b1b;color:#fff;font:500 .6rem var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:6px 10px}
.ps-rt small{display:block;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);margin-bottom:6px}
.ps-rt b{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:500;line-height:1.2;margin-bottom:6px}
.ps-rt-txt{display:block;font-size:.86rem;color:#4a4039;line-height:1.5}
.ps-longueurs{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#e6dccd;border:1px solid #e6dccd}
.ps-longueurs div{background:#fff;padding:18px 12px;text-align:center}
.ps-longueurs b{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:500;line-height:1}
.ps-longueurs span{display:block;font-size:.78rem;color:var(--gris);margin:4px 0}
.ps-longueurs small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
@media (max-width:960px){
  .ps-benefs{grid-template-columns:1fr 1fr}
  .ps-routine{grid-template-columns:1fr 1fr;gap:28px 16px}
  .ps-routine::before{display:none}
  .ps-ingr-grille,.ps-mode{grid-template-columns:1fr;gap:34px}
  .ps-accroche.avec-photo{grid-template-columns:1fr;min-height:0}
  .ps-accroche.avec-photo .ps-acc-txt{padding:60px 24px;justify-self:start}
  .ps-acc-img{aspect-ratio:4/5}
  .ps-etapes-grille,.ps-etapes-grille.n4{grid-template-columns:1fr 1fr;gap:26px 14px}
  .ps-etapes-grille.n3{grid-template-columns:1fr}
  .ps-ingredients{padding:70px 0}
  .ps-resultat{position:static}
  .ps-longueurs{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .ps-benefs{grid-template-columns:1fr}
  .ps-comp{font-size:.86rem}
  .ps-comp th,.ps-comp td{padding:12px 10px}
}

/* Carrousels de vidéos */
.car{overflow:hidden;display:grid;gap:14px}
.car-rang{overflow:hidden}
.car-piste{display:flex;width:max-content;animation:car-defile var(--duree,60s) linear infinite}
.car-rang.inverse .car-piste{animation-direction:reverse}
.car-rang:hover .car-piste,.car-rang:focus-within .car-piste{animation-play-state:paused}
@keyframes car-defile{to{transform:translateX(-50%)}}
.car-item{position:relative;display:block;flex:none;margin-right:14px;overflow:hidden;background:#17120f;border:0;padding:0;cursor:pointer}
.car.un .car-item{width:clamp(230px,31vw,430px);aspect-ratio:4/5}
.car.deux .car-item{width:clamp(165px,19vw,280px);aspect-ratio:9/14}
.car-item video,.car-item img{width:100%;height:100%;object-fit:cover;display:block}
.car-item i{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.88);color:#1c1b1b;display:grid;place-items:center;font-style:normal;font-size:.7rem;padding-left:2px}
.car-item span{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;text-align:left;color:#fff;font:400 .68rem var(--sans);letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.car-section .titre-bloc{margin-bottom:34px}
@media (prefers-reduced-motion:reduce){.car-rang{overflow-x:auto}.car-piste{animation:none}}

.mediatheque .en-plus{display:none}
.mediatheque.ouverte .en-plus{display:block}
.media-photo{aspect-ratio:9/16;overflow:hidden;background:#f3f1ee}
.media-photo img{width:100%;height:100%;object-fit:cover}

.trio-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}
.trio-photos .visuel{aspect-ratio:1/1}
.trio-photos img{width:100%;height:100%;object-fit:cover}
@media (max-width:700px){.trio-photos{grid-template-columns:1fr}}

/* Choix de la livraison dans le panier */
.livraison-choix{border:1px solid #e7e7e7;padding:12px 14px;margin-bottom:12px;font-size:.84rem}
.livraison-choix label[for]{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:6px}
.livraison-choix select{width:100%;padding:9px 10px;border:1px solid #d9d6d1;border-radius:6px;font:inherit;background:#fff}
.livraison-choix .modes{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.livraison-choix .modes label{display:flex;gap:8px;align-items:center;cursor:pointer}
.total-ligne.petit{font-size:.86rem;color:var(--gris)}
.total-ligne.petit b{font-weight:400}

/* Trois formations côte à côte */
.formations-grille.trois{grid-template-columns:repeat(3,1fr)}
.formations-grille.trois .formation-carte{grid-template-columns:1fr}
.formations-grille.trois .formation-carte .visuel{min-height:0;height:240px}
.programme{grid-template-columns:repeat(3,1fr)}
#fermeture .eyebrow{display:block;margin-top:14px}
#fermeture .longueurs{margin:10px 0 6px}
@media (max-width:960px){
  .formations-grille.trois{grid-template-columns:1fr 1fr}
  .programme{grid-template-columns:1fr}
}
@media (max-width:700px){
  .formations-grille.trois{grid-template-columns:1fr}
  .formations-grille.trois .formation-carte{grid-template-columns:36% 1fr}
  .formations-grille.trois .formation-carte .visuel{height:auto;min-height:100%}
}

/* Page Formations */
.fo-apercu{padding-bottom:0}
.fo-minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.fo-mini{display:flex;flex-direction:column;background:#f8f5f0;transition:transform .3s ease,box-shadow .3s ease}
.fo-mini:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(28,27,27,.08)}
.fo-mini-img{display:block;aspect-ratio:16/9;overflow:hidden;background:#e6dfd4}
.fo-mini-img img{width:100%;height:100%;object-fit:cover;display:block}
.fo-mini-txt{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px}
.fo-mini small{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.fo-mini b{font-weight:400;font-size:1.25rem;line-height:1.25}
.fo-mini-txt>span{font-size:.86rem;color:var(--gris)}
.fo-carte{scroll-margin-top:100px}
@media (max-width:760px){
  .fo-minis{grid-template-columns:1fr;gap:12px}
  .fo-mini{flex-direction:row;align-items:stretch}
  .fo-mini-img{flex:0 0 110px;aspect-ratio:auto}
  .fo-mini-txt{padding:14px 16px}
}
.fo-liste{display:grid;gap:44px}
.fo-carte{display:grid;grid-template-columns:1fr 1fr;background:#f8f5f0;overflow:hidden}
.fo-carte.inverse .fo-img{order:2}
.fo-img{min-height:100%;background:#e6dfd4}
.fo-img img{width:100%;height:100%;object-fit:cover;display:block}
.fo-txt{padding:48px 50px}
.fo-txt h3{font-size:clamp(1.9rem,3vw,2.5rem);margin:.3em 0 .25em}
.fo-intro{font-size:1.02rem;margin-bottom:20px}
.fo-txt dl{display:grid;gap:8px;padding:16px 0;border-top:1px solid #e3dcd1;border-bottom:1px solid #e3dcd1;margin-bottom:20px}
.fo-txt dl div{display:grid;grid-template-columns:90px 1fr;font-size:.92rem}
.fo-txt dt{color:var(--gris)}
.fo-titre{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;margin-bottom:10px}
.fo-txt ul{list-style:none;display:grid;gap:8px;margin-bottom:26px;font-size:.95rem}
.fo-txt li{padding-left:24px;position:relative}
.fo-txt li::before{content:"✓";position:absolute;left:0;color:var(--or)}
@media (max-width:860px){
  .fo-carte{grid-template-columns:1fr}
  .fo-carte.inverse .fo-img{order:0}
  .fo-img{aspect-ratio:4/3;min-height:0}
  .fo-txt{padding:30px 22px}
}

/* Page À propos */
#reine .maison-img .visuel img{width:100%;height:100%;object-fit:cover;display:block}
.ap-exp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
.ap-exp-tete{position:sticky;top:110px}
.ap-exp-tete h2{margin:.35em 0 .5em}
.ap-exp-liste article{display:grid;grid-template-columns:72px minmax(0,1fr);padding:30px 0;border-top:1px solid #e3dcd1}
.ap-exp-liste article:first-child{border-top:0;padding-top:0}
.ap-exp-liste span{font-family:var(--serif);font-size:2.2rem;line-height:1;color:var(--or)}
.ap-exp-liste h3{font-size:1.45rem;margin-bottom:.35em}
.ap-eng{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ap-eng article{padding:8px 40px;text-align:center;border-left:1px solid #d9d1c5}
.ap-eng article:first-child{border-left:0}
.ap-eng h3{font-family:var(--serif);font-style:italic;font-size:1.7rem;margin-bottom:.5em}
.ap-salon{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:72px;align-items:center}
.ap-salon-img{aspect-ratio:4/5;overflow:hidden;background:#e6dfd4}
.ap-salon-img img{width:100%;height:100%;object-fit:cover;display:block}
.ap-salon h2{margin:.35em 0 .5em}
.ap-salon dl{margin-top:26px}
.ap-salon dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:15px 0;border-top:1px solid #e3dcd1}
.ap-salon dt{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris);padding-top:3px}
@media (max-width:860px){
  .ap-exp,.ap-salon{grid-template-columns:minmax(0,1fr);gap:32px}
  .ap-exp-tete{position:static}
  .ap-exp-liste article{grid-template-columns:52px minmax(0,1fr);padding:22px 0}
  .ap-eng{grid-template-columns:minmax(0,1fr)}
  .ap-eng article{padding:24px 8px;border-left:0;border-top:1px solid #d9d1c5}
  .ap-eng article:first-child{border-top:0}
  .ap-salon-img{aspect-ratio:4/3}
  .ap-salon dl div{grid-template-columns:100px minmax(0,1fr)}
}
