/* tailles agrandies 2026-11-03 */
/* =====================================================================
   VANESSA SABOUN ACADEMY — feuille de style de la page d'accueil
   Rythme : une section noire, une section blanche, et ainsi de suite.
   Or : dégradé métallique doux, réservé aux accents (titres en italique,
   chiffres, boutons, cadres fins, bandeau). Photos pleines dans un cadre
   doré intérieur ; seul détourage : le portrait du hero.
   ===================================================================== */
:root{
 --noir:#090909;--noir-2:#090909;--blanc:#f8f8f8;--blanc-2:#efefef;
 --or:#d5b867;--or-hi:#fad97d;--or-d:#b29136;
 --gold:linear-gradient(115deg,#b29136 0%,#d5b867 22%,#ffdd80 45%,#d1b056 62%,#f6d57b 80%,#b2933d 100%);
 --gold-soft:linear-gradient(180deg,#f7d67b 0%,#d5b867 55%,#b39238 100%);
 --ivoire:#e7e7e7;--muted:#a0a0a0;--ink:#101010;--ink-m:#535353;
 --f-disp:"Cinzel","Trajan Pro",Georgia,serif;--f-ser:"Cormorant Garamond",Garamond,Georgia,serif;--f-body:"Jost","Avenir Next","Helvetica Neue",sans-serif;--f-script:"Pinyon Script","Snell Roundhand",cursive;
 --ease:cubic-bezier(.22,.61,.24,1);--ease-out:cubic-bezier(.16,1,.3,1);
 --sp:clamp(96px,10vw,150px);
 --bg:var(--noir);--fg:var(--ivoire);--acc:var(--or);--line:rgba(213,184,103,.22);
 --hd-bg:rgba(9,9,9,.92);--hd-fg:var(--ivoire);--dd-bg:#080808;--dd-fg:var(--ivoire);
 --cta-bg:var(--gold-soft);--cta-fg:#0d0d0d;--m-bg:var(--noir);--m-fg:var(--ivoire);--f-nav:var(--f-body);--tb-bg:#030303;--tb-fg:#c7c7c7;
 color-scheme:dark;
}
body{background:var(--noir);color:var(--ivoire);font:300 17.5px/1.7 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--or);color:#0d0d0d}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:1.5px solid var(--or);outline-offset:4px}
figure{margin:0}
figure img{width:100%;height:100%;object-fit:cover}
.gold{background:var(--gold);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ---------- Thèmes : alternance noir / blanc ---------- */
section{position:relative}
.s-noir{background:var(--noir);color:var(--ivoire)}
.s-noir:nth-of-type(4n){background:var(--noir-2)}
.s-blanc{background:var(--blanc);color:var(--ink)}
.s-blanc .lede,.s-blanc p{color:var(--ink-m)}
.s-blanc .h2{color:var(--ink)}
.s-noir .lede{color:#c3c3c3}

/* ---------- En-tête ---------- */
.topbar .ic{color:var(--or)}
.hd{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(213,184,103,.45),transparent) 1}
.nv{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.hd-cta{border-radius:999px;padding:12px 22px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.mega{border-top:1px solid rgba(213,184,103,.3)}

/* ---------- Typographie ---------- */
.h2{position:relative;font:300 clamp(38px,3.8vw,60px)/1.05 var(--f-ser);letter-spacing:-.005em;margin:0;text-wrap:balance}
.h2::after{content:"";display:block;width:84px;height:9px;margin-top:22px;
 background:linear-gradient(var(--or),var(--or)) left center/34px 1px no-repeat,linear-gradient(var(--or),var(--or)) right center/34px 1px no-repeat,
  linear-gradient(45deg,transparent 42%,var(--or) 42% 58%,transparent 58%) center/9px 9px no-repeat;opacity:.9}
.h2.center{text-align:center}.h2.center::after{margin-inline:auto}
.h2.big{font-size:clamp(44px,5.2vw,80px)}
.h3title{font:400 clamp(26px,2.2vw,32px)/1.15 var(--f-ser);margin:0}
.lede{font-size:18.5px;line-height:1.75;max-width:56ch;margin-top:24px}
.num{position:relative;display:flex;align-items:baseline;gap:14px;font:500 15px/1 var(--f-disp);letter-spacing:.14em;margin-bottom:24px}
.num::first-line{color:var(--or)}
.num span{font:500 13px/1 var(--f-body);letter-spacing:.28em;text-transform:uppercase;color:var(--or)}
.s-blanc .num,.s-blanc .num span{color:var(--or-d)}
.ghost{position:absolute;top:-.32em;left:-.04em;z-index:0;font:400 clamp(150px,16vw,240px)/1 var(--f-disp);letter-spacing:-.02em;pointer-events:none;user-select:none;
 background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.13}
.s-blanc .ghost{opacity:.2}
.about-text,.form-text,.coach-text,.soins-head,.shop-head,.sec-head{position:relative}
.about-text>*:not(.ghost),.form-text>*:not(.ghost),.coach-text>*:not(.ghost),.soins-head>*:not(.ghost),.shop-head>*:not(.ghost),.sec-head>*:not(.ghost){position:relative;z-index:1}

/* ---------- Boutons et liens ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 32px;border-radius:999px;background:var(--gold-soft);color:#0d0d0d;text-decoration:none;
 font:500 13.5px/1 var(--f-body);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;position:relative;overflow:hidden;isolation:isolate;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(178,141,39,.35);transition:transform .25s var(--ease)}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);transition:left .7s var(--ease)}
.btn:hover::after{left:120%}
.btn:active{transform:scale(.98)}
.btn .ar{transition:transform .25s var(--ease)}.btn:hover .ar{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--ivoire);box-shadow:inset 0 0 0 1px rgba(213,184,103,.7)}
.btn-ghost:hover{background:rgba(213,184,103,.1)}
.s-blanc .btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--or-d)}
.tlink{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font:500 13.5px/1.4 var(--f-body);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--or)}
.s-blanc .tlink{color:var(--or-d)}
.tlink .ar{transition:transform .25s var(--ease)}.tlink:hover .ar{transform:translateX(4px)}

/* ---------- Cadre doré intérieur des photos ---------- */
.frame{position:relative;overflow:hidden}
.frame::after{content:"";position:absolute;inset:14px;border:1px solid rgba(250,217,125,.65);pointer-events:none;z-index:2;transition:inset .6s var(--ease)}
.frame:hover::after{inset:20px}

/* ---------- HERO ---------- */
.hero{background:radial-gradient(60% 80% at 75% 55%,#141414 0%,var(--noir) 62%);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(34% 55% at 72% 60%,rgba(213,184,103,.24),transparent 70%)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:32px;min-height:min(800px,calc(100dvh - 140px))}
.hero-copy{align-self:center;padding-block:clamp(64px,8vw,110px)}
.hero-k{display:flex;align-items:center;gap:16px;font:500 13px/1.6 var(--f-body);letter-spacing:.3em;text-transform:uppercase;color:var(--or);margin-bottom:30px}
.hero-k::before{content:"";width:46px;height:1px;background:var(--gold)}
.hero h1{margin:0;font-weight:300}
.hero h1 .t1,.hero h1 .t2{display:block;font:300 clamp(52px,6.8vw,108px)/.98 var(--f-ser);letter-spacing:-.01em;color:var(--ivoire)}
.hero h1 .t2{font-style:italic;padding-left:.55em;padding-bottom:.08em}
.hero-sub{display:block;margin-top:30px;max-width:40ch;font:300 18.5px/1.7 var(--f-body);color:#c7c7c7}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
.hero-cta.center{justify-content:center}
.hero-visual{position:relative;align-self:end;display:flex;justify-content:center}
.ring{position:absolute;left:50%;bottom:6%;width:min(520px,96%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
 border:1px solid transparent;background:linear-gradient(var(--noir),var(--noir)) padding-box,var(--gold) border-box;opacity:.9;
 -webkit-mask:linear-gradient(#000000 0 0) padding-box exclude,linear-gradient(#000000 0 0);mask:linear-gradient(#000000 0 0) padding-box exclude,linear-gradient(#000000 0 0)}
.ring.r2{width:min(580px,106%);bottom:1%;opacity:.35}
.vanessa{position:relative;width:min(470px,100%);height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
.proof{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(213,184,103,.25)}
.proof li+li{border-left:1px solid rgba(213,184,103,.18)}
.proof a{display:flex;flex-direction:column;gap:6px;padding:28px 30px;text-decoration:none;transition:background .3s}
.proof a:hover{background:rgba(213,184,103,.06)}
.proof strong{font:400 26px/1.05 var(--f-disp);letter-spacing:.04em;background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.proof span{font-size:15px;color:var(--muted)}

/* ---------- 00 Fondatrice (blanc) ---------- */
.about{padding-block:var(--sp)}
.about-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(48px,7vw,112px);align-items:center}
.about-text p:not(.num){max-width:58ch;margin-top:16px}
.quote{position:relative;margin:34px 0 18px;padding:26px 0 26px 30px;font:300 italic clamp(23px,2vw,30px)/1.4 var(--f-ser);color:var(--ink);max-width:32ch;border-left:2px solid transparent;border-image:var(--gold) 1}
.engage{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.engage li{padding:22px 20px;background:#ffffff;box-shadow:inset 0 0 0 1px rgba(178,145,54,.22)}
.engage h3{font:500 15px/1.3 var(--f-disp);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0}
.engage h3::before{content:"";display:block;width:7px;height:7px;margin-bottom:14px;transform:rotate(45deg);background:var(--gold)}
.engage p{font-size:16.5px;line-height:1.55;margin-top:8px!important}
.about-photo img{aspect-ratio:4/5}
.about-photo figcaption{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;padding:40px 18px 16px;font:300 italic 16px var(--f-ser);color:#ffffff;background:linear-gradient(0deg,rgba(9,9,9,.7),transparent)}

/* ---------- 01 Formations (noir) ---------- */
.formations{padding-block:var(--sp)}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,112px);align-items:center}
.form-photo img{aspect-ratio:1}
.fgroups{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.fgroups li{padding:20px 22px;background:rgba(213,184,103,.05);box-shadow:inset 0 0 0 1px rgba(213,184,103,.2);transition:box-shadow .3s,background .3s}
.fgroups li:hover{background:rgba(213,184,103,.09);box-shadow:inset 0 0 0 1px rgba(213,184,103,.5)}
.fgroups h3{font:500 13px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--or);margin:0 0 10px}
.fgroups p{margin:0;font-size:16.5px;line-height:1.65;color:#c7c7c7}
.fgroups a{color:#dddddd;text-decoration:none;background:linear-gradient(var(--or),var(--or)) 0 100%/0 1px no-repeat;transition:background-size .3s var(--ease),color .2s}
.fgroups a:hover{background-size:100% 1px;color:var(--or-hi)}
.facts{display:flex;flex-wrap:wrap;gap:8px 26px;margin:28px 0 34px;font-size:16px}
.facts a{color:#dddddd;text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.facts a::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--gold)}

/* ---------- 02 Coaching (blanc) ---------- */
.coaching{padding-block:var(--sp)}
.coach-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(48px,7vw,112px);align-items:center}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:40px 0;padding:0;list-style:none}
.steps li{padding:24px 22px;background:#ffffff;box-shadow:inset 0 0 0 1px rgba(178,145,54,.22);border-top:2px solid transparent;border-image:var(--gold) 1}
.steps span{font:500 16px/1 var(--f-disp);color:var(--or-d)}
.steps h3{font:400 28px/1.1 var(--f-ser);margin:12px 0 8px;color:var(--ink)}
.steps p{font-size:16.5px;line-height:1.55;margin:0}
.row-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 30px}
.row-cta .tlink{margin-top:0}
.coach-photo img{aspect-ratio:4/5}
.coach-photo figcaption{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;padding:60px 26px 22px;font:300 italic 21px/1.4 var(--f-ser);color:var(--or-hi);background:linear-gradient(0deg,rgba(9,9,9,.85),transparent)}

/* ---------- 03 Soins (noir) ---------- */
.soins{padding-block:0 var(--sp)}
.soins-band{position:relative}
.soins-band img{height:clamp(300px,38vw,600px);width:100%;object-fit:cover}
.soins-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,9,0) 55%,var(--noir) 100%)}
.soins-grid{position:relative;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.25fr;gap:clamp(28px,3.4vw,56px);margin-top:-80px;z-index:1}
.soins-head{padding:44px 40px;background:var(--noir);box-shadow:inset 0 0 0 1px rgba(213,184,103,.3)}
.soins-head .ghost{top:-.2em;left:auto;right:.05em}
.soins-head .btn{margin-top:30px}
.soins-list{padding-top:120px}
.soins-list h3,.cures h3{font:500 13px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--or);margin:0 0 18px}
.soins-list li a{display:flex;align-items:center;gap:12px;padding:8px 0;text-decoration:none;font:400 20px/1.3 var(--f-ser);color:var(--ivoire);transition:color .25s,transform .25s var(--ease)}
.soins-list li a::before{content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--or);opacity:.7}
.soins-list li a:hover{color:var(--or-hi);transform:translateX(4px)}
.cures{padding-top:40px}
.cure-photo{margin-bottom:26px}
.cure-photo img{aspect-ratio:16/10}
.cure-photo.frame::after{inset:10px}
.cures>a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid rgba(213,184,103,.18);text-decoration:none;color:var(--ivoire)}
.cures>a span{font-size:16.5px;color:#c7c7c7}
.cures strong{font:400 28px/1 var(--f-ser);white-space:nowrap;background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cures p{font-size:15.5px;color:var(--muted);margin:12px 0 0}
.cures .tlink{display:flex;margin-top:16px}

/* ---------- Bandeau doré ---------- */
.marquee{overflow:hidden;padding-block:26px}
.gold-band{background:var(--gold);color:#0e0e0e}
.marq-t{display:flex;width:max-content;animation:mq 60s linear infinite}
.marq-t span{font:400 italic clamp(24px,2.6vw,38px)/1 var(--f-ser);color:#0e0e0e;padding:0 34px;white-space:nowrap;display:flex;align-items:center;gap:68px}
.marq-t span::after{content:"";width:7px;height:7px;background:#0e0e0e;transform:rotate(45deg);margin-right:-34px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- 04 Boutique (blanc) ---------- */
.boutique{padding-block:var(--sp)}
.shop-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(20px,2.4vw,36px);align-items:end}
.shop-head{grid-column:1/7;align-self:center;padding-bottom:40px}
.shop-head .btn{margin-top:32px}
.shop-photo{grid-column:8/13}
.shop-photo img{aspect-ratio:4/5}
.prods{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,36px);margin-top:clamp(20px,3vw,40px)}
.prod{display:block;text-decoration:none;color:var(--ink);background:#ffffff;box-shadow:inset 0 0 0 1px rgba(178,145,54,.2);transition:box-shadow .35s}
.prod:hover{box-shadow:inset 0 0 0 1px var(--or)}
.prod-img{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:radial-gradient(65% 65% at 50% 50%,#ffffff,#ececec);padding:16%;overflow:hidden}
.prod-img img{max-height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 18px 20px rgba(178,141,39,.18));transition:transform .9s var(--ease-out)}
.prod:hover .prod-img img{transform:scale(1.05)}
.prod-name{display:block;padding:20px 22px 0;font:400 24px/1.2 var(--f-ser)}
.prod-price{display:inline-block;margin:6px 22px 22px;font-size:15.5px;color:var(--ink-m)}
.shop-foot{grid-column:1/13;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:40px}
.cats{display:flex;flex-wrap:wrap;gap:8px}
.cats a{padding:10px 18px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(178,145,54,.4);text-decoration:none;font-size:15.5px;color:var(--ink);transition:background .25s,color .25s}
.cats a:hover{background:var(--gold-soft);color:#0d0d0d;box-shadow:none}
.pro{margin:0;font-size:16.5px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pro .tlink{margin-top:0}

/* ---------- 05 Journal (noir) ---------- */
.journal{padding-block:var(--sp)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 40px;margin-bottom:56px}
.sec-head .num{grid-column:1/-1;margin-bottom:0}
.sec-head .tlink{margin-top:0}
.sec-head .lede{grid-column:1/-1;margin-top:0}
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,36px)}
.art{display:block;text-decoration:none;color:var(--ivoire)}
.art figure{position:relative;overflow:hidden}
.art figure::after{content:"";position:absolute;inset:10px;border:1px solid rgba(250,217,125,.55);pointer-events:none}
.art img{aspect-ratio:4/5;transition:transform 1.2s var(--ease-out)}
.art:hover img{transform:scale(1.05)}
.art-cat{display:block;margin-top:22px;font:500 13px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--or)}
.art h3{font:400 25px/1.25 var(--f-ser);margin:10px 0 0;transition:color .25s}
.art:hover h3{color:var(--or-hi)}

/* ---------- Catalogue (blanc) ---------- */
.catalogue{padding-block:var(--sp)}
.narrow{max-width:1000px}
.tabs{display:flex;justify-content:center;gap:4px;width:max-content;margin:40px auto 40px;padding:5px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(178,145,54,.4);background:#ffffff}
.tabs button{min-height:44px;padding:0 28px;border:0;border-radius:999px;background:none;color:var(--ink-m);cursor:pointer;font:500 13.5px/1 var(--f-body);letter-spacing:.18em;text-transform:uppercase;transition:background .25s,color .25s}
.tabs button[aria-selected="true"]{background:var(--gold-soft);color:#0d0d0d}
.cat-title{font:400 28px/1.2 var(--f-ser);text-align:center;margin:0 0 24px;color:var(--ink)}
.js-tabs .cat-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cat-panel+.cat-panel{margin-top:56px}
.js-tabs .cat-panel+.cat-panel{margin-top:0}
.cat-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cat-panel li{padding:24px 26px;background:#ffffff;box-shadow:inset 0 0 0 1px rgba(178,145,54,.2)}
.cat-panel h4{margin:0 0 12px;font:500 13px/1.4 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--or-d)}
.cat-panel p{margin:0;display:flex;flex-direction:column;gap:2px}
.cat-panel p a{font:400 20px/1.45 var(--f-ser);color:var(--ink);text-decoration:none;transition:color .25s}
.cat-panel p a:hover{color:var(--or-d)}
.cat-panel>.tlink{display:flex;justify-content:center;margin-top:34px}

/* ---------- Destinations (noir) ---------- */
.destinations{padding-block:var(--sp)}
.dests{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px)}
.dests figure{position:relative;overflow:hidden}
.dests figure::after{content:"";position:absolute;inset:10px;border:1px solid rgba(250,217,125,.55);pointer-events:none}
.dests img{aspect-ratio:4/5;transition:transform 1.2s var(--ease-out)}
.dests li:hover img{transform:scale(1.05)}
.dests h3{font:500 17.5px/1 var(--f-disp);letter-spacing:.14em;margin:20px 0 6px;color:var(--or-hi)}
.dests p{margin:0;font-size:16px;color:var(--muted)}

/* ---------- Certification (blanc) ---------- */
.certif{padding-block:calc(var(--sp) * .7)}
.cert-grid{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:48px;align-items:center;padding:40px 44px;background:#ffffff;box-shadow:inset 0 0 0 1px rgba(178,145,54,.25)}
.q-logo{display:block}
.q-logo img{width:180px}
.certif .h3title{color:var(--ink)}
.certif p{margin:10px 0 0;max-width:52ch}
.cert-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}
.cert-links a{display:inline-flex;align-items:center;gap:10px;font-size:16px;color:var(--ink);text-decoration:none}
.cert-links a::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:var(--gold)}
.cert-links a:hover{color:var(--or-d)}

/* ---------- Avis Google (noir) ---------- */
.avis{padding-block:var(--sp)}
.avis-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:28px;margin-bottom:48px}
.gscore{display:flex;align-items:center;gap:18px;padding:18px 26px;box-shadow:inset 0 0 0 1px rgba(213,184,103,.35)}
.gnum{font:400 64px/1 var(--f-ser)}
.gscore p{margin:0}
.gstars{margin:0;color:var(--or);letter-spacing:3px;font-size:17px}
.gstars.big{font-size:20px}
.gcount{font-size:15.5px;color:#c3c3c3}
.gslider{position:relative}
.gtrack{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.gtrack::-webkit-scrollbar{display:none}
.gcard{scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;padding:30px 30px 32px;background:linear-gradient(180deg,#0c0c0c,#090909);box-shadow:inset 0 0 0 1px rgba(213,184,103,.25)}
.gtop{display:flex;align-items:center;gap:14px}
.av{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;font:500 18px var(--f-disp);color:#0d0d0d;background:var(--gold-soft)}
.gwho{display:flex;flex-direction:column;line-height:1.3;flex:1}
.gwho strong{font-weight:500;color:var(--ivoire)}
.gwho span{font-size:14.5px;color:var(--muted)}
.gcard .g{flex:none}
.gcard blockquote{margin:0;font:300 italic 20px/1.5 var(--f-ser);color:#e2e2e2}
.gnav{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.gbtn{width:48px;height:48px;border:0;border-radius:50%;background:none;color:var(--or);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(213,184,103,.5);display:grid;place-items:center;transition:background .25s,color .25s}
.gbtn:hover{background:var(--gold-soft);color:#0d0d0d}
.ic.flip{transform:rotate(180deg)}
.avis .row-cta{margin-top:36px}

/* ---------- Ancrage local + FAQ (blanc) ---------- */
.local{padding-block:var(--sp)}
.local-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7vw,112px)}
.local-text .h2{font-size:clamp(32px,3vw,46px)}
.local-text p{margin-top:20px;max-width:60ch}
.local-text p a{color:var(--ink);text-decoration-color:rgba(178,145,54,.5);text-underline-offset:4px}
.faq{padding:34px 36px;background:#ffffff;box-shadow:inset 0 0 0 1px rgba(178,145,54,.22)}
.faq .h3title{color:var(--ink);margin-bottom:12px}
.faq details{border-bottom:1px solid rgba(16,16,16,.1)}
.faq details:last-child{border-bottom:0}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;cursor:pointer;font:400 20px/1.3 var(--f-ser);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:300 20px/1 var(--f-body);color:#0d0d0d;background:var(--gold-soft);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;font-size:17px;max-width:58ch}

/* ---------- CTA final (noir) ---------- */
.final{padding-block:var(--sp);text-align:center;overflow:hidden;background:radial-gradient(50% 80% at 50% 40%,#131313,var(--noir) 70%)!important}
.final-in{position:relative;display:flex;flex-direction:column;align-items:center;padding:clamp(48px,6vw,80px) clamp(20px,5vw,72px);box-shadow:inset 0 0 0 1px rgba(213,184,103,.35)}
.final-in::before{content:"";position:absolute;inset:10px;box-shadow:inset 0 0 0 1px rgba(213,184,103,.15);pointer-events:none}
.final-k{font:300 italic 22px/1.3 var(--f-ser);color:var(--or-hi);margin:0 0 18px}
.final .lede{margin-inline:auto}
.final .h2::after{margin-inline:auto}
.final .hero-cta{margin-top:36px}
.path{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 40px;margin:56px 0 0;padding:0;list-style:none;font-size:16px;color:#c7c7c7}
.path li{display:flex;align-items:center;gap:12px}
.path span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:500 15px/1 var(--f-disp);color:#0d0d0d;background:var(--gold-soft)}

/* ---------- Footer ---------- */
.ft{background:#040404;padding-block:84px 30px;font-size:16px;border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(213,184,103,.5),transparent) 1}
.ft-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr) 1.2fr 1.4fr;gap:32px}
.ft .logo img{width:150px}
.ft-tag{font:400 26px/1.15 var(--f-script);margin:14px 0 0;background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.soc{display:flex;gap:10px;margin-top:20px}
.soc a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--or);box-shadow:inset 0 0 0 1px rgba(213,184,103,.4);transition:background .25s,color .25s}
.soc a:hover{background:var(--gold-soft);color:#0d0d0d}
.soc .ic{width:16px;height:16px}
.f-h{font:500 13px/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--or);margin:0 0 16px}
.f-col li a{display:block;padding:4px 0;text-decoration:none;color:#b2b2b2;transition:color .2s}.f-col li a:hover{color:var(--or-hi)}
.f-contact address p{display:flex;gap:10px;margin:0 0 10px;color:#b2b2b2;line-height:1.5}.f-contact .ic{color:var(--or);margin-top:4px}
.f-link{display:inline-flex;gap:8px;align-items:center;color:var(--or);text-decoration:none}
.nl p{color:#b2b2b2;margin:0}
.nl label{display:block;margin:16px 0 8px;font-size:14.5px;color:#c4c4c4}
.nl-row{display:flex;gap:6px}
.nl input{flex:1;min-width:0;height:46px;padding:0 16px;border:0;border-radius:999px;background:#0c0c0c;color:var(--ivoire);font:inherit;box-shadow:inset 0 0 0 1px rgba(213,184,103,.35)}
.nl input::placeholder{color:#828282}
.nl input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--or)}
.nl button{height:46px;padding:0 18px;border:0;border-radius:999px;background:var(--gold-soft);color:#0d0d0d;cursor:pointer;font:500 13px var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.ft-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(213,184,103,.14);color:#828282;font-size:14.5px}
.ft-bot p{margin:0}
.legal{display:flex;gap:18px;flex-wrap:wrap}.legal a{text-decoration:none;color:#828282}.legal a:hover{color:var(--ivoire)}

.mbar{display:none}

/* ---------- Mouvement ---------- */
html.anim .rv:not(.done){transform:translate3d(0,22px,0);transition:opacity .7s var(--ease) var(--d,0ms),transform .8s var(--ease-out) var(--d,0ms)}
html.anim .rv-h:not(.done){filter:none}
html.anim .rv-img:not(.done){transition:clip-path 1.1s var(--ease) var(--d,0ms)}
html.anim .rv-img:not(.done) img:not([data-px]){transform:scale(1.08);transition:transform 1.5s var(--ease-out) var(--d,0ms)}
html.anim .ring{opacity:0;transform:translateX(-50%) scale(.92);transition:opacity 1.4s var(--ease) .5s,transform 1.8s var(--ease-out) .5s}
html.anim.loaded .ring{opacity:.9;transform:translateX(-50%)}
html.anim.loaded .ring.r2{opacity:.35}
@media (prefers-reduced-motion:reduce){.marq-t{animation:none}.btn::after{display:none}.gtrack{scroll-behavior:auto}}

/* =====================================================================
   Tablette
   ===================================================================== */
@media (max-width:1100px){
 .soins-grid{grid-template-columns:1fr 1fr;margin-top:-60px}
 .soins-head{grid-column:1/-1}
 .soins-list{padding-top:0}
 .cures{grid-column:1/-1;padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
 .cure-photo{grid-row:span 6}
 .cert-grid{grid-template-columns:auto 1fr}.cert-links{grid-column:1/-1}
 .ft-grid{grid-template-columns:repeat(3,1fr)}.ft-brand,.nl{grid-column:span 3}
 .gtrack{grid-auto-columns:calc((100% - 24px) / 2)}
}
@media (max-width:900px){
 .hero-grid,.about-grid,.form-grid,.coach-grid,.local-grid{grid-template-columns:1fr}
 .hero-grid{min-height:0;gap:0}
 .hero-copy{padding-block:56px 24px}
 .vanessa{width:min(380px,82%)}
 .about-photo,.coach-photo{max-width:540px}
 .form-photo{order:-1}
 .shop-head,.shop-photo{grid-column:1/-1}
 .shop-head{padding-bottom:0}
 .shop-photo img{aspect-ratio:16/10}
 .proof{grid-template-columns:1fr 1fr}
 .proof li:nth-child(3){border-left:0}
 .proof li:nth-child(n+3){border-top:1px solid rgba(213,184,103,.18)}
 .dests{grid-template-columns:1fr 1fr}
 .cat-panel ul{grid-template-columns:1fr}
}

/* =====================================================================
   Mobile
   ===================================================================== */
@media (max-width:640px){
 :root{--sp:80px}
 body{font-size:17.5px}
 .ghost{font-size:130px;top:-.28em}
 .h2::after{margin-top:18px}
 .hero-k{font-size:12.5px;letter-spacing:.22em;margin-bottom:22px}
 .hero-k::before{width:28px}
 .hero h1 .t1,.hero h1 .t2{font-size:clamp(44px,12.8vw,60px)}
 .hero h1 .t2{padding-left:0}
 .hero-sub{font-size:17.5px;margin-top:22px}
 .hero-cta{display:grid;grid-template-columns:1fr;margin-top:30px}
 .hero-cta .btn{justify-content:center}
 .proof a{padding:20px 4px}
 .proof li:nth-child(even) a{padding-left:16px}
 .proof strong{font-size:20px}
 .engage,.steps,.fgroups{grid-template-columns:1fr}
 .quote{padding-left:20px}
 .soins-grid{grid-template-columns:1fr;gap:36px;margin-top:-40px}
 .soins-head{padding:34px 24px}
 .cures{display:block}
 .soins-band img{height:260px}
 .prods{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(-1 * max(18px,env(safe-area-inset-left,0px)));padding-inline:max(18px,env(safe-area-inset-left,0px));scrollbar-width:none}
 .prods::-webkit-scrollbar{display:none}
 .prods li{flex:0 0 74%;scroll-snap-align:start}
 .shop-foot{flex-direction:column;align-items:flex-start}
 .sec-head{grid-template-columns:1fr;margin-bottom:36px}
 .arts{grid-template-columns:1fr;gap:28px}
 .tabs{width:100%}.tabs button{flex:1;padding:0 10px;letter-spacing:.12em}
 .dests{gap:14px}
 .dests h3{font-size:15px;margin-top:14px}
 .cert-grid{grid-template-columns:1fr;gap:24px;padding:30px 24px}
 .cert-links{grid-template-columns:1fr}
 .gscore{width:100%}
 .gtrack{grid-auto-columns:86%;gap:14px}
 .faq{padding:24px 20px}
 .path{flex-direction:column;align-items:flex-start;gap:12px;margin-top:40px}
 .final-in{align-items:flex-start;text-align:left}
 .final .h2::after{margin-inline:0}
 .final .hero-cta{width:100%}
 .ft-grid{grid-template-columns:1fr 1fr}.ft-brand,.nl,.f-contact{grid-column:1/-1}
 .ft{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
 .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:65;padding:10px max(12px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));
  background:rgba(9,9,9,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(213,184,103,.3);transform:translateY(110%);transition:transform .32s var(--ease)}
 .mbar.on{transform:none}
 .mbar a{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;text-decoration:none;font:500 13px/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
 .mbar a:first-child{background:var(--gold-soft);color:#0d0d0d}
 .mbar a:last-child{box-shadow:inset 0 0 0 1px rgba(213,184,103,.6);color:var(--ivoire)}
 .toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
}

/* Ajustements */
.ghost{font-size:clamp(120px,12vw,190px);top:-.42em;opacity:.1}
.s-blanc .ghost{opacity:.16}
.soins-grid{grid-template-columns:1.55fr .95fr .95fr 1.15fr}
.soins-head{padding:44px 40px 46px}
.soins-head .h2{font-size:clamp(34px,3vw,46px)}
.soins-list{padding-top:110px}
.soins-list li a{font-size:19.5px}
@media (max-width:1100px){.soins-list{padding-top:0}}
.soins-head{align-self:start}

/* =====================================================================
   HERO créatif : sceau rotatif, objets en apesanteur, mot animé, profondeur au pointeur
   ===================================================================== */
.hero-rot{margin:22px 0 0;font:300 italic clamp(20px,1.7vw,25px)/1.3 var(--f-ser);color:#cccccc;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35em}
.rot{position:relative;display:inline-block}
.rot-w{position:relative;display:inline-grid}
.rot-w .w{grid-area:1/1;white-space:nowrap;font-style:italic;background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
 opacity:0;transform:translateY(60%);transition:opacity .6s var(--ease),transform .7s var(--ease-out)}
.rot-w .w.on{opacity:1;transform:none}
.rot-w .w.out{opacity:0;transform:translateY(-60%)}
.rot-w::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--gold);transform-origin:left;animation:rotline 2.8s var(--ease) infinite}
@keyframes rotline{0%{transform:scaleX(0)}40%,80%{transform:scaleX(1)}100%{transform:scaleX(1);opacity:0}}
.hero-visual{--px:0;--py:0}
.hero-visual [data-depth]{transition:transform .9s var(--ease-out)}
.vanessa{transform:translate3d(calc(var(--px) * 6px),calc(var(--py) * 6px),0)}
.fl{position:absolute;z-index:2;height:auto;pointer-events:none;filter:drop-shadow(0 22px 26px rgba(0,0,0,.55)) saturate(.95)}
.fl-1{width:clamp(80px,8vw,128px);left:2%;top:26%;--r:-14deg;animation:float1 7s ease-in-out infinite}
.fl-2{width:clamp(74px,7vw,112px);right:0;top:12%;--r:12deg;animation:float2 8s ease-in-out infinite}
.fl-1{translate:calc(var(--px) * 18px) calc(var(--py) * 18px)}
.fl-2{translate:calc(var(--px) * -14px) calc(var(--py) * -14px)}
@keyframes float1{0%,100%{transform:translateY(0) rotate(-14deg)}50%{transform:translateY(-16px) rotate(-8deg)}}
@keyframes float2{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(14px) rotate(18deg)}}
.seal{position:absolute;z-index:3;left:0;bottom:12%;width:clamp(116px,10vw,148px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-decoration:none;
 background:radial-gradient(circle,#0c0c0c 0 52%,rgba(12,12,12,.85) 53% 100%);box-shadow:0 18px 40px rgba(0,0,0,.5),inset 0 0 0 1px rgba(213,184,103,.55)}
.seal-ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 26s linear infinite}
.seal-ring text{font:500 15.5px var(--f-body);letter-spacing:3.2px;fill:var(--or)}
.seal-in{display:flex;flex-direction:column;align-items:center;line-height:1}
.seal-in strong{font:400 34px/1 var(--f-ser);background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.seal-in span{font-size:10px;letter-spacing:2px;color:var(--or);margin-top:4px}
.seal-in small{font:500 10px var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:#c3c3c3;margin-top:4px}
.seal:hover .seal-ring{animation-duration:8s}
@keyframes spin{to{transform:rotate(360deg)}}
html.anim .fl,html.anim .seal{opacity:0;transition:opacity 1.2s var(--ease) 1.1s}
html.anim.loaded .fl,html.anim.loaded .seal{opacity:1}
.av{object-fit:cover}
@media (prefers-reduced-motion:reduce){.fl,.seal-ring,.rot-w::after{animation:none}.rot-w .w{transition:none}}
@media (max-width:900px){.seal{left:2%;bottom:8%}.fl-1{left:4%}.fl-2{right:4%}}
@media (max-width:640px){.hero-rot{font-size:20px}.seal{width:104px}.seal-ring text{font-size:14.5px}.seal-in strong{font-size:28px}.fl-1{width:70px;top:30%}.fl-2{width:64px;top:8%}}
.fl-1{left:-5%;top:auto;bottom:34%}
.fl-2{right:-2%;top:auto;bottom:16%}
@media (max-width:900px){.fl-1{left:0}.fl-2{right:0}}
@media (max-width:640px){.fl{display:none}}

/* Hero : sous-titre en deux lignes + 5 spécialités (médaillons du design 4) */
.hero-sub{display:flex;flex-direction:column;gap:8px;max-width:none}
.hs-1{font:500 14px/1.6 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:var(--or)}
.hs-2{display:flex;align-items:center;gap:14px;font:300 italic clamp(20px,1.7vw,25px)/1.3 var(--f-ser);color:#d8d8d8}
.hs-2 i{width:6px;height:6px;transform:rotate(45deg);background:var(--gold)}
.hero-spec{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:34px;max-width:620px}
.hero-spec a{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;text-decoration:none;font:400 13px/1.35 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#cccccc;transition:color .25s}
.hs-ic{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--or-hi);
 background:radial-gradient(circle at 35% 30%,#191919,#0a0a0a) padding-box,var(--gold) border-box;border:1px solid transparent;
 box-shadow:inset 0 0 0 3px #090909;transition:transform .3s var(--ease),box-shadow .3s}
.hero-spec a:hover{color:var(--or-hi)}
.hero-spec a:hover .hs-ic{transform:translateY(-4px);box-shadow:inset 0 0 0 3px #090909,0 10px 24px rgba(213,184,103,.25)}
.hero-cta{margin-top:36px}
@media (max-width:640px){
 .hs-1{font-size:13px;letter-spacing:.16em}
 .hero-spec{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:6px;scrollbar-width:none;margin-inline:calc(-1 * max(18px,env(safe-area-inset-left,0px)));padding-inline:max(18px,env(safe-area-inset-left,0px))}
 .hero-spec::-webkit-scrollbar{display:none}
 .hero-spec li{flex:0 0 96px;scroll-snap-align:start}
 .hs-ic{width:52px;height:52px}
}
.hero-copy{min-width:0;max-width:100%}
.hero-grid>*{min-width:0}
@media (max-width:640px){.hs-1{white-space:normal}.hero-k{flex-wrap:wrap}}

/* =====================================================================
   v5 — OR LUMINEUX (plus de reflets bruns), NOIRS NEUTRES
   ===================================================================== */
:root{
 --noir:#0a0a0a;--noir-2:#111111;
 --or:#e3c36a;--or-hi:#ffdd80;--or-d:#b29134;
 --gold:linear-gradient(110deg,#d5b04b 0%,#f6d57b 28%,#ededed 46%,#e9c86e 64%,#ffdd80 82%,#d5b04b 100%);
 --gold-soft:linear-gradient(180deg,#ffdd80 0%,#edce77 48%,#d5b250 100%);
 --cta-bg:var(--gold-soft);--hd-bg:rgba(10,10,10,.92);--dd-bg:#0e0e0e;--m-bg:#0a0a0a;--tb-bg:#050505;
}
.hero{background:radial-gradient(55% 75% at 74% 58%,rgba(227,195,106,.16) 0%,transparent 65%),var(--noir)}
.hero-glow{background:radial-gradient(30% 50% at 72% 62%,rgba(255,221,128,.14),transparent 70%)}
.final{background:radial-gradient(50% 80% at 50% 40%,rgba(227,195,106,.12),transparent 70%),var(--noir)!important}
.gcard{background:linear-gradient(180deg,#161616,#101010)}
.hs-ic{background:radial-gradient(circle at 35% 30%,#1d1d1d,#0b0b0b) padding-box,var(--gold) border-box}
.seal{background:radial-gradient(circle,#101010 0 52%,rgba(16,16,16,.9) 53% 100%)}
.nl input{background:#151515}
.s-noir .lede{color:#c9c9c9}
.hero-sub .hs-2{color:#e6e6e6}
.marq-t span,.gold-band{color:#0e0e0e}
/* icônes : un seul trait, couleur or claire */
.topbar .ic,.hs-ic .ic,.facts a::before,.f-contact .ic,.soc a{color:var(--or-hi)}
.ic{stroke-width:1.4}
/* étoiles SVG */
.stars{display:inline-flex;gap:3px;vertical-align:middle}
.stars svg{width:15px;height:15px;fill:url(#none);fill:var(--or)}
.gscore .stars svg{width:19px;height:19px}
.seal-in .stars{margin-top:5px;gap:2px}.seal-in .stars svg{width:9px;height:9px}
.gcard .stars{margin:0}

/* =====================================================================
   EN-TÊTE « MAISON » : logo centré, navigation en ruban doré
   ===================================================================== */
.hd2{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,10,10,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:0}
.hd2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(227,195,106,.7) 30%,rgba(255,221,128,.9) 50%,rgba(227,195,106,.7) 70%,transparent)}
.hd-top{max-width:1320px;margin-inline:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;
 padding:16px max(24px,env(safe-area-inset-right,0px)) 12px max(24px,env(safe-area-inset-left,0px));transition:padding .45s var(--ease)}
.hd-left{display:flex;align-items:center}
.hd-search{display:inline-flex;align-items:center;gap:10px;background:none;border:0;cursor:pointer;color:#d2d2d2;font:400 13.5px var(--f-body);letter-spacing:.2em;text-transform:uppercase;padding:8px 0}
.hd-search .ic{color:var(--or-hi)}
.hd-search:hover{color:var(--or-hi)}
.hd-logo{display:block;justify-self:center}
.hd-logo img{width:200px;height:auto;transition:width .45s var(--ease)}
.hd2 .hd-act{justify-self:end;display:flex;align-items:center;gap:6px}
.hd-ico{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#e1e1e1;text-decoration:none;transition:color .25s,box-shadow .25s}
.hd-ico:hover{color:var(--or-hi);box-shadow:inset 0 0 0 1px rgba(227,195,106,.5)}
.hd2 .hd-cta{margin-left:8px;background:var(--gold-soft)!important;color:#0d0d0d!important;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.5);padding:13px 22px}
.hd2 .hd-nav{display:flex;justify-content:center;border-top:1px solid rgba(227,195,106,.14)}
.hd2 .hd-nav>ul{display:flex;align-items:center;gap:0}
.hd2 .hd-nav>ul>li{position:static;display:flex;align-items:center}
.hd2 .hd-nav>ul>li+li::before{content:"";width:4px;height:4px;margin:0 6px;transform:rotate(45deg);background:var(--or);opacity:.6}
.hd2 .nv{position:relative;display:block;padding:15px 16px;font:400 14px/1 var(--f-body);letter-spacing:.22em;text-transform:uppercase;color:#e6e6e6;text-decoration:none;transition:color .3s}
.hd2 .nv::after{content:"";position:absolute;left:50%;right:50%;bottom:8px;height:1px;background:var(--gold);transition:left .4s var(--ease),right .4s var(--ease)}
.hd2 .nv:hover,.hd2 .has-dd.open>.nv{color:var(--or-hi)}
.hd2 .nv:hover::after,.hd2 .has-dd.open>.nv::after{left:16px;right:16px}
.hd2 .dd-btn{margin-left:-10px;color:var(--or)}
.hd2.scrolled .hd-top{padding-block:8px 6px}
.hd2.scrolled .hd-logo img{width:140px}
.hd2.scrolled .nv{padding-block:12px}
/* méga-menu : panneau sous le ruban, filet or */
.hd2 .mega{background:linear-gradient(180deg,#0f0f0f,#0a0a0a);border-top:0;border-bottom:1px solid rgba(227,195,106,.35)}
.hd2 .mg-h i{background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hd2 .fx-cta,.hd2 .mega-all{color:var(--or-hi)}
/* bouton menu */
.hd2 .burger{display:none;position:static;width:auto;height:44px;align-items:center;gap:10px;padding:0 4px 0 10px;background:none;border:0;color:#e6e6e6;cursor:pointer}
.hd2 .burger span{position:static;background:none;height:auto}
.hd2 .b-lines{display:grid;gap:5px;width:24px}
.hd2 .b-lines span{display:block;height:1.5px;background:var(--or-hi)!important;transition:width .3s var(--ease)}
.hd2 .b-lines span:nth-child(2){width:65%;justify-self:end}
.hd2 .burger:hover .b-lines span:nth-child(2){width:100%}
.hd2 .b-txt{font:500 13px var(--f-body);letter-spacing:.24em;text-transform:uppercase}
@media (max-width:1240px){
 .hd2 .hd-nav{display:none}
 .hd2 .burger{display:inline-flex}
 .hd-top{padding-block:12px}
}
@media (max-width:760px){
 .hd-top{grid-template-columns:auto 1fr;gap:8px;padding-block:10px}
 .hd-left{display:none}
 .hd-logo{justify-self:start}.hd-logo img{width:126px}
 .hd2 .hd-acc,.hd2 .hd-cart,.hd2 .hd-cta{display:none}
 .hd2 .b-txt{display:none}
}

/* =====================================================================
   03 SOINS : photo verticale + médaillon, texte à côté
   ===================================================================== */
.soins{padding-block:var(--sp)}
.soins-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,6vw,96px);align-items:start;margin:0}
.soins-media{position:relative;padding:0 0 70px 0}
.soins-main img{aspect-ratio:4/5}
.soins-inset{position:absolute;right:-28px;bottom:0;width:44%;box-shadow:0 0 0 8px var(--noir),0 30px 50px rgba(0,0,0,.5)}
.soins-inset img{aspect-ratio:4/5}
.soins-inset.frame::after{inset:8px}
.soins-head{padding:0;background:none;box-shadow:none}
.soins-head .ghost{top:-.42em;left:-.04em;right:auto}
.soins-cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px;padding-top:30px;border-top:1px solid rgba(227,195,106,.2)}
.soins-list{padding:0}
.soins-list li a{font-size:20px;padding:7px 0}
.cures{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;padding:0}
.cures h3{grid-column:1/-1;margin:0}
.cures>a{flex-direction:column;align-items:flex-start;gap:12px;padding:22px 24px;border:0;background:rgba(227,195,106,.06);box-shadow:inset 0 0 0 1px rgba(227,195,106,.3);transition:box-shadow .3s,background .3s}
.cures>a:hover{background:rgba(227,195,106,.1);box-shadow:inset 0 0 0 1px var(--or)}
.cures>a span{font:400 21px/1.2 var(--f-ser);color:var(--ivoire)}
.cures>a small{display:block;font:400 14px var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.cures strong{font-size:34px}
.cures p{grid-column:1/-1;margin:0}
.soins .row-cta{margin-top:34px}
@media (max-width:900px){.soins-grid{grid-template-columns:1fr}.soins-media{max-width:520px}.soins-inset{right:0}}
@media (max-width:640px){.soins-cols,.cures{grid-template-columns:1fr}.soins-inset{width:46%;right:-6px}}

/* =====================================================================
   DESTINATIONS : cartes typographiques (nettes à toutes les tailles)
   ===================================================================== */
.dests{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:14px}
.dcard{position:relative;display:flex;flex-direction:column;min-height:300px;padding:28px 24px;background:linear-gradient(180deg,#141414,#0d0d0d);box-shadow:inset 0 0 0 1px rgba(227,195,106,.25);overflow:hidden;transition:box-shadow .4s}
.dcard::before{content:"";position:absolute;inset:10px;border:1px solid rgba(227,195,106,.14);pointer-events:none;transition:inset .5s var(--ease),border-color .4s}
.dcard:hover{box-shadow:inset 0 0 0 1px var(--or)}
.dcard:hover::before{inset:14px;border-color:rgba(255,221,128,.4)}
.d-k{font:500 13px var(--f-body);letter-spacing:.26em;text-transform:uppercase;color:var(--or)}
.dcard h3{margin:auto 0 0;font:300 clamp(30px,2.6vw,42px)/1 var(--f-ser);color:var(--ivoire);letter-spacing:-.01em}
.d-geo{margin-top:16px;font:500 13px var(--f-body);letter-spacing:.18em;color:var(--muted);font-variant-numeric:tabular-nums}
.d-what{margin-top:6px;font-size:15.5px;color:#c9c9c9}
.dcard.home{background:var(--gold);box-shadow:none}
.dcard.home::before{border-color:rgba(14,14,14,.3)}
.dcard.home .d-k,.dcard.home .d-geo{color:#202020}
.dcard.home h3,.dcard.home .d-what{color:#0d0d0d}
.dcard.home h3{font-size:clamp(38px,3.4vw,54px)}
@media (max-width:1100px){.dests{grid-template-columns:repeat(2,1fr)}.dcard.home{grid-column:1/-1;min-height:220px}}
@media (max-width:640px){.dcard{min-height:200px;padding:22px 18px}}

/* =====================================================================
   PROPOSITION B : hero blanc (body.v-blanc)
   ===================================================================== */
.v-blanc .hd2{background:rgba(255,255,255,.95)}
.v-blanc .hd2 .nv,.v-blanc .hd-search,.v-blanc .hd-ico,.v-blanc .hd2 .burger{color:#101010}
.v-blanc .hd2 .nv:hover,.v-blanc .hd2 .has-dd.open>.nv{color:var(--or-d)}
.v-blanc .hd-search .ic,.v-blanc .hd2 .dd-btn{color:var(--or-d)}
.v-blanc .hd2 .b-lines span{background:var(--or-d)!important}
.v-blanc .hd2 .hd-nav{border-top-color:rgba(178,145,52,.2)}
.v-blanc body::before{background:#ffffff}
.v-blanc .hero{background:radial-gradient(55% 75% at 74% 58%,rgba(227,195,106,.22) 0%,transparent 65%),#ffffff}
.v-blanc .hero::before{opacity:.03}
.v-blanc .hero-glow{background:radial-gradient(30% 50% at 72% 62%,rgba(227,195,106,.2),transparent 70%)}
.v-blanc .hero h1 .t1{color:#101010}
.v-blanc .hero h1 .t2{background:linear-gradient(110deg,#b29134,#e3c36a 40%,#c19d3c 70%,#d5b04b);-webkit-background-clip:text;background-clip:text}
.v-blanc .hero-k,.v-blanc .hs-1{color:var(--or-d)}
.v-blanc .hero-sub .hs-2{color:#222222}
.v-blanc .hero-spec a{color:#222222}
.v-blanc .hs-ic{background:radial-gradient(circle at 35% 30%,#ffffff,#f2f2f2) padding-box,var(--gold) border-box;color:var(--or-d);box-shadow:inset 0 0 0 3px #ffffff}
.v-blanc .hero .btn-ghost{color:#101010;box-shadow:inset 0 0 0 1px var(--or-d)}
.v-blanc .ring{background:linear-gradient(#ffffff,#ffffff) padding-box,var(--gold) border-box}
.v-blanc .vanessa{filter:drop-shadow(0 30px 40px rgba(178,149,69,.25))}
.v-blanc .fl{filter:drop-shadow(0 20px 24px rgba(178,141,39,.3))}
.v-blanc .proof{background:var(--noir);box-shadow:0 0 0 100vmax var(--noir);clip-path:inset(0 -100vmax)}
.v-blanc .about{border-top:0}

/* bascule de présentation (à retirer à l'intégration) */
.vswitch{position:fixed;z-index:70;left:max(14px,env(safe-area-inset-left,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;padding:4px;border-radius:999px;background:rgba(10,10,10,.92);box-shadow:inset 0 0 0 1px rgba(227,195,106,.5);font:500 13px/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase}
.vswitch a{padding:10px 14px;border-radius:999px;color:#e1e1e1;text-decoration:none}
.v-noir .vswitch a[data-v="noir"],.v-blanc .vswitch a[data-v="blanc"]{background:var(--gold-soft);color:#0d0d0d}
@media (max-width:640px){.vswitch{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.soins-grid{margin:0 auto}
.vswitch{left:auto;right:max(14px,env(safe-area-inset-right,0px))}
.hd2 .hd-nav>ul>li+li::before{margin:0 10px}

/* =====================================================================
   DESTINATIONS v6 : photographies HD (Unsplash) sous voile, cadre or
   ===================================================================== */
.dcard{min-height:440px}
.dcard>*:not(.d-ph){position:relative;z-index:2}
.dcard::before{z-index:3}
.d-ph{position:absolute;inset:0;margin:0;z-index:0}
.d-ph img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transform:scale(1.02);transition:transform 1.4s var(--ease),filter .6s;filter:saturate(.92) brightness(.92)}
.dcard.has-ph::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,0) 30%,rgba(10,10,10,.15) 52%,rgba(10,10,10,.88) 100%);pointer-events:none}
.dcard.has-ph:hover .d-ph img{transform:scale(1.08);filter:saturate(1) brightness(1)}
.dcard.has-ph .d-k{color:var(--or-hi)}
.dcard.has-ph h3{text-shadow:0 2px 24px rgba(0,0,0,.45)}
.dcard.has-ph .d-geo{color:rgba(246,246,246,.72)}
.dcard.has-ph .d-what{color:#ebebeb}
.d-credit{margin-top:18px;font-size:13.5px;letter-spacing:.04em;color:var(--muted)}
@media (max-width:1100px){.dcard{min-height:380px}.dcard.home{min-height:220px}}
@media (max-width:640px){.dests{grid-template-columns:1fr}.dcard{min-height:300px}}
.dests .dcard>.d-ph{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;z-index:0}
.dests .dcard>.d-ph::before,.dests .dcard>.d-ph::after{display:none}
.dcard.has-ph::after{background:linear-gradient(180deg,rgba(10,10,10,.5) 0%,rgba(10,10,10,0) 24%,rgba(10,10,10,.1) 44%,rgba(10,10,10,.78) 70%,rgba(10,10,10,.94) 100%)}

/* =====================================================================
   v7 « NOIR, BLANC & OR » : blanc pur à la place du crème/marron,
   noir profond neutre, or champagne lumineux et métallique
   ===================================================================== */
:root{
 --noir:#050505;--noir-2:#0c0c0c;--blanc:#ffffff;--blanc-2:#f7f7f7;
 --or:#dcb85a;--or-hi:#f7e3a1;--or-d:#a77f1c;
 --gold:linear-gradient(110deg,#b8902c 0%,#e4c160 20%,#fff4c8 40%,#e8c766 56%,#c99c30 74%,#f6dd8e 90%,#d2a83e 100%);
 --gold-soft:linear-gradient(180deg,#fff0bf 0%,#efd27c 34%,#d9b04a 70%,#c29425 100%);
 --gold-line:linear-gradient(90deg,transparent,#c99c30 18%,#fff1c1 50%,#c99c30 82%,transparent);
 --ivoire:#f5f5f3;--muted:#9a9a9a;--ink:#0b0b0b;--ink-m:#4a4a4a;
 --line:rgba(220,184,90,.24);
 --hd-bg:rgba(5,5,5,.9);--dd-bg:#0a0a0a;--m-bg:#050505;--tb-bg:#000;--tb-fg:#d9d9d9;--cta-fg:#0b0b0b;
}
body{background:var(--noir)}

/* ---------- Sections : noir velours / blanc galerie ---------- */
.s-noir{background:radial-gradient(1200px 520px at 85% -10%,rgba(220,184,90,.075),transparent 60%),radial-gradient(900px 480px at -10% 110%,rgba(220,184,90,.05),transparent 60%),var(--noir);color:var(--ivoire)}
.s-blanc{background:#fff;color:var(--ink)}
.s-blanc .lede,.s-blanc p{color:var(--ink-m)}
/* filet or entre deux sections */
.s-noir+.s-blanc,.s-blanc+.s-noir,.gold-band+section{position:relative}
.s-noir+.s-blanc::before,.s-blanc+.s-noir::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--gold-line);opacity:.9;z-index:1}

/* ---------- Or : métal lumineux, jamais brun ---------- */
.gold,.proof strong,.cures strong{background-size:200% 100%;animation:goldsheen 9s ease-in-out infinite alternate}
@keyframes goldsheen{from{background-position:0% 50%}to{background-position:100% 50%}}
.gold{filter:drop-shadow(0 0 22px rgba(232,199,102,.18))}
.s-blanc .gold{filter:none}
.btn{background:var(--gold-soft);color:#0b0b0b;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(150,105,10,.35),0 10px 30px -10px rgba(220,184,90,.55)}
.btn:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(150,105,10,.35),0 16px 40px -10px rgba(232,199,102,.75)}
.btn-ghost{background:transparent;color:var(--ivoire);box-shadow:inset 0 0 0 1px rgba(232,199,102,.75)}
.btn-ghost:hover{background:rgba(232,199,102,.1)}
.s-blanc .btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px #c99c30}
.hd-cta{background:var(--gold-soft)!important;color:#0b0b0b!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 8px 26px -10px rgba(220,184,90,.6)}
.frame::after{border-color:rgba(255,236,170,.8)}
.gold-band{background:var(--gold);background-size:200% 100%;animation:goldsheen 12s ease-in-out infinite alternate;color:#0b0b0b}

/* petites étiquettes sur blanc : noir + losange or (lisible, pas d'or terne) */
.s-blanc .num,.s-blanc .num span,.s-blanc .tlink,.cat-panel h4,.steps span{color:#0b0b0b}
.s-blanc .num::before{background:var(--gold)}
.s-blanc .tlink .ar{color:#c99c30}
.s-blanc .ghost{opacity:.22}
.cat-panel p a:hover{color:#a77f1c}

/* ---------- Cartes sur blanc : blanc pur, filet or, ombre douce ---------- */
.engage li,.steps li,.prod,.cat-panel li,.faq,.certif .wrap,.qcard{background:#fff;box-shadow:inset 0 0 0 1px rgba(201,156,48,.28),0 24px 50px -32px rgba(0,0,0,.18)}
.steps li{border-top:2px solid transparent;border-image:var(--gold) 1}
.prod:hover,.cat-panel li:hover{box-shadow:inset 0 0 0 1px #d9b04a,0 30px 60px -30px rgba(0,0,0,.22)}
.prod-img{background:#f7f7f7}

/* ---------- Cartes sur noir : noir laqué, filet or ---------- */
.fgroups li,.cures>a,.gcard,.dcard:not(.home){background:linear-gradient(180deg,#111,#080808)}
.fgroups li{box-shadow:inset 0 0 0 1px rgba(220,184,90,.22)}
.fgroups li:hover{background:linear-gradient(180deg,#141414,#0a0a0a);box-shadow:inset 0 0 0 1px rgba(232,199,102,.6)}
.gcard{box-shadow:inset 0 0 0 1px rgba(220,184,90,.22),0 30px 60px -40px rgba(0,0,0,.9)}
.gcard blockquote{color:#ececec}
.cures>a{background:none}
.fgroups p,.cures>a span{color:#cfcfcf}
.fgroups a{color:#ececec}
.dcard.home{background:var(--gold);background-size:200% 100%;animation:goldsheen 10s ease-in-out infinite alternate}
.dcard.home .d-k,.dcard.home .d-geo{color:#1a1a1a}
.dcard.home h3,.dcard.home .d-what{color:#000}

/* ---------- En-tête et pied de page ---------- */
.topbar{background:#000;border-bottom:1px solid rgba(220,184,90,.18)}
.hd2{background:rgba(5,5,5,.88);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1)}
.hd2 .hd-nav{border-top:1px solid rgba(220,184,90,.14)}
.hd2 .hd-nav::after{background:var(--gold-line)}
.ft{background:radial-gradient(900px 400px at 50% 0%,rgba(220,184,90,.07),transparent 70%),#000}

@media (prefers-reduced-motion:reduce){.gold,.proof strong,.cures strong,.gold-band,.dcard.home{animation:none}}

/* ---------- Variante hero blanc ---------- */
.v-blanc .hero{background:radial-gradient(900px 600px at 78% 30%,rgba(232,199,102,.16),transparent 62%),#fff}

/* hero blanc : en-tête blanc pur, étiquettes lisibles, or net */
.v-blanc .hd2,.v-blanc .hd2 .hd-top,.v-blanc .hd2 .hd-nav{background:#fff!important}
.v-blanc .hd2{box-shadow:0 1px 0 rgba(201,156,48,.25)}
.v-blanc .hd2 .nv,.v-blanc .hd-search,.v-blanc .hd-ico,.v-blanc .hd2 .burger{color:#0b0b0b}
.v-blanc .hero .gold{filter:none}
.v-blanc .hero h1 .t1{color:#0b0b0b}
.v-blanc .hero h1 .t2{background:linear-gradient(110deg,#b8902c 0%,#d9b04a 30%,#c99c30 55%,#e2bf5e 80%,#b8902c);-webkit-background-clip:text;background-clip:text;animation:none}
.v-blanc .hero-k,.v-blanc .hs-1{color:#0b0b0b}
.v-blanc .hero-sub .hs-2,.v-blanc .hero-spec a{color:#1a1a1a}
.v-blanc .hs-ic{color:#b8902c}
.v-blanc .hero .btn-ghost{color:#0b0b0b;box-shadow:inset 0 0 0 1px #c99c30}
.v-blanc .vanessa{filter:drop-shadow(0 30px 40px rgba(0,0,0,.18))}
.v-blanc .fl{filter:drop-shadow(0 20px 24px rgba(0,0,0,.2))}
