/* =======================================================================
   LASER DERMA — Feuille de style « Éditorial Luxe »
   Partagée par toutes les pages du site (multipage).
   Charte : sable chaud + ambre signature + espresso dramatique + or filet.
   Display : Fraunces (serif expressif) · Corps : Inter.
   ======================================================================= */
:root{
  --cream:#FBF7F1; --cream-2:#F5EDE1; --cream-3:#EFE5D6; --sand-line:#E6DAC7;
  --espresso:#1E1811; --espresso-2:#2B2318; --espresso-soft:#37301F;
  --ink:#37301F; --ink-strong:#221B12; --muted:#8C806D;
  --gold:#D79942; --gold-deep:#B97A2B; --gold-hair:#C9A45E; --gold-100:#FAF0DE;
  --pole:#2F5A46; --pole-deep:#234636; --pole-100:#E7EFEA;   /* accent Béziers (proposition) */
  --white:#fff; --surface:#FFFDFA;
  --brand:var(--gold); --brand-deep:var(--gold-deep); --brand-100:var(--gold-100);

  --fd:"Fraunces",Georgia,"Times New Roman",serif;
  --fb:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --container:1280px; --narrow:820px; --gutter:clamp(1.25rem,4.5vw,4rem);
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-xl:30px; --r-pill:999px;
  --ease:cubic-bezier(.4,0,.2,1); --ease-out:cubic-bezier(.16,1,.3,1); --dur:.4s;
  --sh-sm:0 12px 32px -20px rgba(34,27,18,.30);
  --sh-md:0 20px 50px -24px rgba(34,27,18,.35);
  --sh-lg:0 40px 90px -30px rgba(34,27,18,.45);
}
.brand-pole{--brand:var(--pole);--brand-deep:var(--pole-deep);--brand-100:var(--pole-100);}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--fb);font-size:1.0625rem;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--fd);color:var(--ink-strong);font-weight:400;line-height:1.02;letter-spacing:-.025em}
.wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}
.narrow{max-width:var(--narrow);margin-inline:auto}

/* labels */
.eyebrow{font-family:var(--fb);font-size:.74rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold-hair)}
.eyebrow.c{justify-content:center}
.num{font-family:var(--fd);font-style:italic;color:var(--gold);font-size:1rem}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--fb);font-size:.86rem;font-weight:600;letter-spacing:.02em;padding:1.05rem 2rem;border-radius:var(--r-pill);cursor:pointer;border:1px solid transparent;transition:all var(--dur) var(--ease)}
.btn--primary{background:var(--brand);color:#fff}
.btn--primary:hover{background:var(--brand-deep);transform:translateY(-2px)}
.btn--dark{background:var(--ink-strong);color:var(--cream)}
.btn--dark:hover{transform:translateY(-2px)}
.btn--outline{border-color:currentColor;color:var(--ink-strong)}
.btn--outline:hover{background:var(--ink-strong);color:var(--cream);border-color:var(--ink-strong)}
.btn--light{background:var(--cream);color:var(--ink-strong)}
.btn--light:hover{transform:translateY(-2px)}
.arrow{transition:transform var(--dur) var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}

/* link underline */
.ulink{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem;letter-spacing:.02em;color:var(--ink-strong);padding-bottom:3px;background:linear-gradient(var(--gold),var(--gold)) left bottom / 0 1.5px no-repeat;transition:background-size var(--dur) var(--ease),color var(--dur)}
.ulink:hover{background-size:100% 1.5px;color:var(--gold-deep)}

/* ============ HEADER (2 états) ============ */
.hdr{position:fixed;inset:0 0 auto;z-index:100;transition:background var(--dur) var(--ease),backdrop-filter var(--dur),box-shadow var(--dur),padding var(--dur)}
.hdr .bar{display:flex;align-items:center;justify-content:space-between;height:88px;transition:height var(--dur) var(--ease)}
.hdr .logo{height:44px;width:auto;transition:height var(--dur)}
.hdr .logo-color{display:none}                       /* couleur masquée en haut */
.hdr:not(.scrolled) .logo-white{display:inline-block}/* BLANC en haut de page */
.hdr.scrolled .logo-white{display:none}
.hdr.scrolled .logo-color{display:inline-block;height:44px} /* même taille que le blanc → swap sans décalage */
/* voile sombre en haut pour garder le blanc lisible sur le hero */
.hdr::before{content:"";position:absolute;inset:0 0 auto;height:140px;background:linear-gradient(180deg,rgba(20,16,11,.38),transparent);z-index:-1;pointer-events:none;transition:opacity var(--dur)}
.hdr.scrolled::before{opacity:0}
.hdr nav ul{display:flex;gap:2.1rem;list-style:none;font-family:var(--fb);font-size:.92rem;font-weight:500}
.hdr nav a{color:var(--ink-strong);position:relative;padding:.4rem 0;transition:color var(--dur)}
.hdr nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:currentColor;transition:width var(--dur) var(--ease)}
.hdr nav a:hover::after,.hdr nav a.active::after{width:100%}
.hdr .cta-wrap{display:flex;align-items:center;gap:1.2rem}
.hdr .rdv{font-family:var(--fb);font-weight:600;font-size:.84rem;letter-spacing:.02em;padding:.72rem 1.5rem;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.6);color:#fff;transition:all var(--dur) var(--ease)}
.hdr .rdv:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.hdr .burger{display:none}
/* état scrollé : barre espresso translucide + logo blanc */
.hdr.scrolled{background:color-mix(in srgb,var(--cream) 90%,transparent);backdrop-filter:blur(14px) saturate(1.1);box-shadow:0 8px 30px -18px rgba(34,27,18,.4)}
.hdr.scrolled .bar{height:72px}
.hdr.scrolled nav a{color:var(--ink-strong)}
.hdr.scrolled .rdv{border-color:var(--ink-strong);color:var(--ink-strong)}
.hdr.scrolled .rdv:hover{background:var(--gold);border-color:var(--gold);color:#fff}
@media(max-width:960px){
  .dnav,.hdr .rdv{display:none}
  .hdr .burger{display:inline-flex;color:#fff;background:none;border:0;cursor:pointer}
  .hdr.scrolled .burger{color:var(--ink-strong)}
}

/* ============ HERO ============ */
.hero{position:relative;padding-top:calc(88px + clamp(1.5rem,4vw,3.5rem));padding-bottom:clamp(2.5rem,6vw,5rem)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:920px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}}
.hero h1{font-size:clamp(3rem,1.6rem+6.4vw,6.4rem);font-weight:300;letter-spacing:-.035em;line-height:.96;margin:1.6rem 0 1.6rem;color:var(--ink-strong)}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero .lead{font-size:clamp(1.05rem,1rem+.4vw,1.24rem);color:var(--ink);max-width:42ch;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.3rem}
.hero-figure{position:relative}
.hero-figure .img{position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-lg)}
.hero-figure .img img{width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.hero-figure .tag{position:absolute;left:-14px;bottom:34px;background:var(--cream);border:1px solid var(--sand-line);border-radius:var(--r-md);box-shadow:var(--sh-md);padding:.9rem 1.15rem;display:flex;align-items:center;gap:.75rem}
.hero-figure .tag .ic{width:40px;height:40px;border-radius:50%;background:var(--gold-100);color:var(--gold-deep);display:grid;place-items:center}
.hero-figure .tag b{display:block;font-family:var(--fd);font-size:1rem;color:var(--ink-strong)}
.hero-figure .tag span{font-size:.74rem;color:var(--muted)}
.hero-meta{display:flex;gap:2.4rem;margin-top:2.8rem;flex-wrap:wrap}
.hero-meta .m b{font-family:var(--fd);font-size:2.1rem;color:var(--ink-strong);display:block;font-weight:400}
.hero-meta .m span{font-size:.8rem;color:var(--muted);letter-spacing:.04em}

/* marquee */
.marquee{background:var(--espresso);overflow:hidden;padding:1.25rem 0}
.marquee .track{display:flex;gap:2.4rem;white-space:nowrap;width:max-content;animation:slide 36s linear infinite}
.marquee span{font-family:var(--fb);font-weight:500;font-size:.9rem;letter-spacing:.34em;text-transform:uppercase;color:color-mix(in srgb,var(--cream) 90%,transparent);display:inline-flex;align-items:center;gap:2.4rem}
.marquee span::after{content:"◆";color:var(--gold);font-size:.58rem;letter-spacing:0}
@keyframes slide{to{transform:translateX(-50%)}}

/* ============ sections ============ */
section{padding:clamp(3.5rem,8vw,7rem) 0}
.sec-head{max-width:660px;margin-bottom:3.2rem}
.sec-head.c{margin-inline:auto;text-align:center}
.sec-head h2{font-size:clamp(2rem,1.3rem+3vw,3.6rem);font-weight:300;letter-spacing:-.03em;margin:1.1rem 0 .8rem}
.sec-head h2 em{font-style:italic;color:var(--gold)}
.sec-head p{color:var(--muted);font-size:1.1rem;max-width:52ch}
.sec-head.c p{margin-inline:auto}

/* engagement */
.eng-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem}
@media(max-width:840px){.eng-grid{grid-template-columns:repeat(2,1fr);gap:1.8rem}}
.eng h4{font-family:var(--fd);font-size:1.3rem;font-weight:400;margin:.9rem 0 .5rem}
.eng p{font-size:.92rem;color:var(--muted);line-height:1.6}
.eng .ic{width:34px;height:34px;color:var(--gold-deep)}
.eng .rule{height:1px;background:var(--sand-line);margin-bottom:1.4rem}

/* treatments editorial list */
.tr-item{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.8rem,3vw,2.6rem) 0;border-top:1px solid var(--sand-line);transition:padding var(--dur) var(--ease)}
.tr-item:last-child{border-bottom:1px solid var(--sand-line)}
.tr-item .n{font-family:var(--fd);font-style:italic;font-size:1.1rem;color:var(--gold)}
.tr-item .main h3{font-size:clamp(1.7rem,1.2rem+2vw,3rem);font-weight:300;letter-spacing:-.03em;transition:color var(--dur)}
.tr-item .main p{color:var(--muted);font-size:1rem;max-width:60ch;margin-top:.5rem}
.tr-item .thumb{width:120px;height:88px;border-radius:var(--r-md);overflow:hidden;flex:0 0 auto;opacity:.85;transition:all var(--dur) var(--ease);filter:grayscale(.2)}
.tr-item .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.tr-item:hover{padding-left:clamp(.5rem,2vw,1.6rem)}
.tr-item:hover .main h3{color:var(--gold-deep)}
.tr-item:hover .thumb{opacity:1;filter:none;width:150px;height:100px}
.tr-item:hover .thumb img{transform:scale(1.08)}
@media(max-width:760px){.tr-item{grid-template-columns:auto 1fr}.tr-item .thumb{display:none}}

/* dark editorial band */
.dark{background:var(--espresso);color:color-mix(in srgb,var(--cream) 86%,transparent)}
.dark h2,.dark h3,.dark h4{color:var(--cream)}
.dark .sec-head p{color:color-mix(in srgb,var(--cream) 66%,transparent)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.dark .media{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-lg);max-width:460px}
.dark .media img{width:100%;height:100%;object-fit:cover}
.tech-list{list-style:none;margin-top:1.6rem;display:grid;gap:.9rem}
.tech-list li{display:flex;gap:.8rem;align-items:flex-start;font-size:1rem;color:color-mix(in srgb,var(--cream) 84%,transparent)}
.tech-list li .chk{color:var(--gold);flex:0 0 auto;font-weight:700}
.team-row{display:flex;gap:2rem;margin-top:2.2rem;flex-wrap:wrap}
.team{display:flex;align-items:center;gap:.9rem}
.team img{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:0 0 60px;border:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}
.team b{display:block;font-family:var(--fd);color:var(--cream);font-size:1.05rem}
.team span{font-size:.82rem;color:color-mix(in srgb,var(--cream) 60%,transparent)}
.team .av{width:60px;height:60px;border-radius:50%;flex:0 0 60px;display:grid;place-items:center;font-family:var(--fd);font-size:1.2rem;color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent)}
/* équipe : ronds photo/initiales + nom à côté (visages visibles, tient à l'écran) */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.1rem 1.8rem;margin-top:1.9rem;max-width:940px}
.tm{display:flex;align-items:center;gap:1rem;padding:.2rem 0}
.tm .ph{width:84px;height:84px;border-radius:50%;object-fit:cover;object-position:center top;flex:0 0 84px;border:2px solid color-mix(in srgb,var(--gold) 50%,transparent);box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}
.tm .av{width:84px;height:84px;border-radius:50%;flex:0 0 84px;display:grid;place-items:center;font-family:var(--fd);font-size:1.7rem;color:var(--gold);background:color-mix(in srgb,var(--gold) 15%,transparent);border:2px solid color-mix(in srgb,var(--gold) 50%,transparent)}
.tm .ph,.tm .av{transition:transform .38s var(--ease),box-shadow .38s var(--ease)}
.tm:hover .ph,.tm:hover .av{transform:scale(1.14);box-shadow:0 10px 26px -8px rgba(0,0,0,.55)}
.tm{cursor:default}
.tm .n{min-width:0}
.tm .n b{display:block;font-family:var(--fd);font-weight:400;color:var(--cream);font-size:1.12rem;line-height:1.2;letter-spacing:.01em}
.tm .n i{font-style:normal;font-size:.82rem;color:color-mix(in srgb,var(--cream) 60%,transparent)}
.light .tm .n b,.bg-cream .tm .n b{color:var(--ink-strong)}
.light .tm .n i,.bg-cream .tm .n i{color:var(--muted)}
@media(max-width:760px){.team-grid{grid-template-columns:1fr;gap:.85rem;max-width:100%}.tm{min-width:0}.tm .n{flex:1 1 auto;min-width:0}.tm .n b{overflow-wrap:break-word}}
@media(max-width:520px){.tm .ph,.tm .av{width:72px;height:72px;flex-basis:72px}.tm .av{font-size:1.4rem}}

/* « Où réaliser ce traitement » — cartes centres enrichies (sur section .dark) */
.center-pick{--acc:var(--gold);display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.4rem}
.cpick{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:1.05rem;padding:2rem 2rem 1.7rem;border-radius:var(--r-xl);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);transition:transform .55s var(--ease),border-color .55s,box-shadow .55s}
.cpick::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--acc),transparent 72%)}
.cpick::after{content:"";position:absolute;right:-46px;top:-46px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 22%,transparent),transparent 68%);opacity:.45;pointer-events:none;transition:opacity .55s}
.cpick:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--acc) 55%,transparent);box-shadow:0 26px 62px -30px rgba(0,0,0,.72)}
.cpick:hover::after{opacity:.95}
.cpick .pin{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:var(--acc);background:color-mix(in srgb,var(--acc) 16%,transparent);border:1px solid color-mix(in srgb,var(--acc) 42%,transparent)}
.cpick .ct{display:block;font-family:var(--fb);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.cpick h3{font-family:var(--fd);font-weight:400;font-size:clamp(1.28rem,1.05rem+.8vw,1.58rem);color:var(--cream);line-height:1.2;margin:.25rem 0 0}
.cpick .addr{font-size:.88rem;line-height:1.6;color:color-mix(in srgb,var(--cream) 60%,transparent);margin:0}
.cpick .addr b{color:color-mix(in srgb,var(--cream) 88%,transparent);font-weight:600}
.cpick .chips{display:flex;flex-wrap:wrap;gap:.4rem}
.cpick .chips span{font-size:.73rem;letter-spacing:.01em;color:color-mix(in srgb,var(--cream) 72%,transparent);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:.32rem .72rem}
.cpick .go{margin-top:auto;display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fb);font-weight:600;font-size:.9rem;color:var(--cream);padding-top:.5rem}
.cpick .go .ar{transition:transform .4s var(--ease)}
.cpick:hover .go .ar{transform:translateX(5px)}
@media(max-width:760px){.center-pick{grid-template-columns:1fr;gap:1.1rem}}

/* centres */
.centres-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem}
@media(max-width:840px){.centres-grid{grid-template-columns:1fr}}
.cc{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--white);border:1px solid var(--sand-line);box-shadow:var(--sh-md);transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.cc:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.cc .ph{aspect-ratio:16/10;overflow:hidden;position:relative}
.cc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.cc:hover .ph img{transform:scale(1.06)}
.cc .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,color-mix(in srgb,var(--brand) 55%,transparent))}
.cc .badge{position:absolute;top:1.2rem;left:1.2rem;z-index:2;font-family:var(--fb);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--brand);padding:.45rem .85rem;border-radius:var(--r-pill)}
.cc .body{padding:1.7rem 1.9rem 1.9rem}
.cc h3{font-size:1.9rem;font-weight:400;margin-bottom:.2rem}
.cc .zone{color:var(--muted);font-size:.9rem;margin-bottom:1.2rem}
.cc .info{display:grid;gap:.6rem;margin-bottom:1.5rem}
.cc .info .row{display:flex;gap:.7rem;align-items:flex-start;font-size:.92rem}
.cc .info .row svg{color:var(--brand);flex:0 0 auto;margin-top:.2rem}
.cc .actions{display:flex;gap:.7rem;flex-wrap:wrap}
.tag-soon{font-size:.72rem;color:var(--brand-deep);background:var(--brand-100);padding:.2rem .55rem;border-radius:var(--r-pill);font-weight:600}

/* cta */
.cta{position:relative;border-radius:var(--r-xl);overflow:hidden;padding:clamp(3rem,6vw,5rem);text-align:center;color:#fff;isolation:isolate}
.cta img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,color-mix(in srgb,var(--espresso) 88%,transparent),color-mix(in srgb,var(--gold-deep) 55%,transparent))}
.cta .eyebrow{color:var(--gold-100)}.cta .eyebrow::before{background:var(--gold-100)}
.cta h2{color:#fff;font-size:clamp(2rem,1.3rem+2.6vw,3.4rem);font-weight:300;margin:1rem 0 .9rem;letter-spacing:-.02em}
.cta p{color:rgba(255,255,255,.9);max-width:54ch;margin:0 auto 1.9rem}

/* quotes */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:840px){.quotes{grid-template-columns:1fr}}
.quote{background:var(--white);border:1px solid var(--sand-line);border-radius:var(--r-lg);padding:2rem;box-shadow:var(--sh-md)}
.quote .stars{color:var(--gold);letter-spacing:.15em;margin-bottom:1rem}
.quote p{font-family:var(--fd);font-size:1.12rem;font-style:italic;color:var(--ink-strong);line-height:1.5;margin-bottom:1.2rem}
.quote .who{font-size:.85rem;color:var(--muted)}
.quote .who b{color:var(--ink-strong);font-style:normal}

/* footer */
footer.site{background:var(--espresso);color:color-mix(in srgb,var(--cream) 70%,transparent);padding:clamp(3.5rem,6vw,5.5rem) 0 2.2rem}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;gap:2.6rem}
@media(max-width:840px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}
footer .logo{height:42px;filter:brightness(0) invert(1);opacity:.9;margin-bottom:1.2rem}
footer h5{color:var(--cream);font-family:var(--fb);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.1rem;font-weight:600}
footer a{color:color-mix(in srgb,var(--cream) 70%,transparent);font-size:.92rem;line-height:2.1}
footer a:hover{color:var(--gold)}
footer p{font-size:.9rem;max-width:32ch;color:color-mix(in srgb,var(--cream) 62%,transparent)}
.nap{font-size:.9rem;line-height:1.75;font-style:normal;color:color-mix(in srgb,var(--cream) 70%,transparent)}
.nap .city{font-family:var(--fd);color:var(--cream);font-size:1.1rem;margin-bottom:.4rem}
.foot-bottom{border-top:1px solid color-mix(in srgb,var(--cream) 14%,transparent);margin-top:3.2rem;padding-top:1.6rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:color-mix(in srgb,var(--cream) 45%,transparent)}

/* page hero (pages internes) */
.page-hero{position:relative;padding-top:calc(88px + clamp(2.5rem,6vw,5rem));padding-bottom:clamp(2.5rem,5vw,4rem)}
.crumb{font-size:.82rem;color:var(--muted);letter-spacing:.04em;margin-bottom:1.4rem}
.crumb a:hover{color:var(--gold-deep)}
.page-hero h1{font-size:clamp(2.6rem,1.6rem+4.5vw,5.2rem);font-weight:300;letter-spacing:-.035em;line-height:1;margin-bottom:1.2rem}
.page-hero h1 em{font-style:italic;color:var(--gold)}
.page-hero .lead{font-size:1.2rem;color:var(--ink);max-width:60ch}

/* prose */
.prose h2{font-size:clamp(1.7rem,1.2rem+1.8vw,2.4rem);font-weight:400;margin:2.4rem 0 1rem;letter-spacing:-.02em}
.prose h3{font-size:1.4rem;font-weight:500;font-family:var(--fb);margin:1.8rem 0 .7rem;color:var(--ink-strong)}
.prose p{margin-bottom:1.1rem;color:var(--ink)}
.prose ul{margin:0 0 1.2rem 1.1rem;color:var(--ink)}
.prose li{margin-bottom:.5rem}
.zones{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.zones span{font-size:.86rem;background:var(--cream-2);border:1px solid var(--sand-line);padding:.5rem 1rem;border-radius:var(--r-pill);color:var(--ink)}

/* ============ NAV DÉROULANT + MENU MOBILE ============ */
.dnav>ul{display:flex;gap:2.1rem;list-style:none;font-family:var(--fb);font-size:.92rem;font-weight:500;margin:0;align-items:center}
.dnav li{position:relative}
.dnav>ul>li>a{color:#fff;position:relative;padding:.4rem 0;transition:color var(--dur);display:inline-flex;align-items:center;gap:.35rem;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.dnav>ul>li>a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:currentColor;transition:width var(--dur) var(--ease)}
.dnav>ul>li>a:hover::after,.dnav>ul>li>a.active::after{width:100%}
.hdr.scrolled .dnav>ul>li>a{color:var(--ink-strong);text-shadow:none}
.has-drop>a .caret{width:9px;height:9px;transition:transform var(--dur)}
.has-drop:hover>a .caret{transform:rotate(180deg)}
.drop{position:absolute;top:calc(100% + 14px);left:-1rem;min-width:250px;background:var(--cream);border:1px solid var(--sand-line);border-radius:var(--r-md);box-shadow:var(--sh-md);padding:.6rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--dur) var(--ease);display:grid;gap:.15rem;z-index:20}
.has-drop:hover .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:block;padding:.6rem .8rem;border-radius:var(--r-sm);color:var(--ink);font-size:.9rem;transition:background var(--dur),color var(--dur)}
.drop a:hover{background:var(--cream-3);color:var(--gold-deep)}
.drop a small{display:block;font-size:.74rem;color:var(--muted)}
.mnav{position:fixed;inset:0;z-index:99;background:var(--espresso);padding:6rem 2rem 2rem;transform:translateX(100%);transition:transform .45s var(--ease);display:flex;flex-direction:column;gap:.4rem}
.mnav.open{transform:none}
.mnav a{font-family:var(--fd);font-size:1.7rem;color:var(--cream);padding:.7rem 0;border-bottom:1px solid color-mix(in srgb,var(--cream) 12%,transparent)}
.mnav a:hover{color:var(--gold)}
.mnav .close{position:absolute;top:1.6rem;right:1.6rem;color:var(--cream);background:none;border:0;cursor:pointer}
.mnav .m-rdv{margin-top:1.4rem;background:var(--gold);color:#fff;border-radius:var(--r-pill);text-align:center;font-family:var(--fb);font-size:1rem;border:0}

/* ============ PLEIN CADRE (full-bleed) ============ */
.fullbleed{position:relative;min-height:clamp(420px,72vh,720px);display:grid;align-items:center;color:#fff;isolation:isolate;overflow:hidden}
.fullbleed img.bg{position:absolute;top:-12%;left:0;width:100%;height:124%;object-fit:cover;z-index:-2}
/* heros localités : photo devinée, atténuée + voile de couleur (peu de détails) */
.fullbleed.ville img.bg{filter:grayscale(.42) contrast(.86) brightness(.82) blur(1.4px);transform:scale(1.06)}
.fullbleed.ville::after{background:
  linear-gradient(180deg,color-mix(in srgb,var(--espresso) 55%,transparent),color-mix(in srgb,var(--espresso) 82%,transparent)),
  linear-gradient(90deg,color-mix(in srgb,var(--espresso) 62%,transparent),transparent 72%),
  color-mix(in srgb,var(--gold-deep) 20%,transparent)}
.fullbleed::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--espresso) 82%,transparent),color-mix(in srgb,var(--espresso) 30%,transparent) 65%,transparent)}
.fullbleed.center::after{background:linear-gradient(0deg,color-mix(in srgb,var(--espresso) 78%,transparent),color-mix(in srgb,var(--espresso) 30%,transparent))}
.fullbleed .inner{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);width:100%}
.fullbleed.center .inner{text-align:center;max-width:900px}
.fullbleed h2,.fullbleed h1{color:#fff;font-weight:300;font-size:clamp(2.4rem,1.4rem+4vw,5rem);letter-spacing:-.03em;line-height:1;max-width:16ch}
.fullbleed.center h2{margin-inline:auto}
.fullbleed p{color:rgba(255,255,255,.9);max-width:46ch;margin-top:1.2rem;font-size:1.15rem}
.fullbleed.center p{margin-inline:auto}
.fullbleed .eyebrow{color:var(--gold-100)}.fullbleed .eyebrow::before{background:var(--gold-100)}
.fullbleed .btns{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap}
.fullbleed.center .btns{justify-content:center}

/* bande image de transition */
.imgband{position:relative;height:clamp(260px,42vh,460px);overflow:hidden}
.imgband img{width:100%;height:100%;object-fit:cover}
.imgband .cap{position:absolute;left:0;bottom:0;right:0;padding:2rem var(--gutter);background:linear-gradient(0deg,rgba(30,24,17,.75),transparent);color:#fff}
.imgband .cap span{font-family:var(--fd);font-style:italic;font-size:clamp(1.3rem,1rem+1.4vw,2rem)}

/* feature split image (alternance) */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md)}
.feat.rev{direction:rtl}.feat.rev>*{direction:ltr}
@media(max-width:800px){.feat{grid-template-columns:1fr}}
.feat .pic{min-height:340px;position:relative;overflow:hidden}
.feat .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat .txt{background:var(--cream-2);padding:clamp(2rem,4vw,3.4rem);display:flex;flex-direction:column;justify-content:center}
.feat .txt h3{font-size:clamp(1.6rem,1.2rem+1.6vw,2.4rem);font-weight:400;margin:.8rem 0 .7rem}
.feat .txt p{color:var(--muted)}

/* stats band */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr);gap:2.4rem}}
.stats .s b{font-family:var(--fd);font-size:clamp(2.8rem,1.9rem+2.8vw,4rem);font-weight:500;color:var(--gold-deep);display:block;line-height:1}
.stats .s span{font-size:.92rem;font-weight:500;color:var(--ink);letter-spacing:.02em;margin-top:.6rem;display:block;line-height:1.3}

/* FAQ à défilement intelligent : montre un sous-ensemble, défile en interne, sans bloquer le scroll page */
.faq.faq-scroll{max-height:clamp(380px,54vh,560px);overflow-y:auto;overscroll-behavior:auto;padding-right:.8rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--gold) 55%,transparent) transparent}
.faq.faq-scroll::-webkit-scrollbar{width:9px}
.faq.faq-scroll::-webkit-scrollbar-track{background:transparent}
.faq.faq-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--gold) 45%,transparent);border-radius:9px;border:2px solid transparent;background-clip:padding-box}
.faq.faq-scroll::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--gold) 70%,transparent);background-clip:padding-box}
.faq-hint{display:flex;align-items:center;gap:.5rem;justify-content:center;margin-top:.9rem;font-size:.82rem;color:var(--muted);letter-spacing:.02em}
.faq-hint svg{animation:faqbob 1.6s ease-in-out infinite}
@keyframes faqbob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}

/* localités */
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
@media(max-width:820px){.loc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.loc-grid{grid-template-columns:1fr}}
.loc-card{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--sh-md);transition:transform var(--dur) var(--ease)}
.loc-card:hover{transform:translateY(-4px)}
.loc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease)}
.loc-card:hover img{transform:scale(1.07)}
.loc-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(30,24,17,.82),transparent 62%)}
.loc-card .c{padding:1.4rem 1.5rem}
.loc-card h3{color:#fff;font-size:1.5rem;font-weight:400;margin-bottom:.2rem}
.loc-card p{font-size:.84rem;color:rgba(255,255,255,.82)}
.loc-card .ar{position:absolute;top:1.2rem;right:1.2rem;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);display:grid;place-items:center;transition:background var(--dur)}
.loc-card:hover .ar{background:var(--gold)}

/* mini-map / access list */
.access{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1.5rem}
.access .a{background:var(--cream-2);border:1px solid var(--sand-line);border-radius:var(--r-md);padding:1rem 1.2rem}
.access .a b{font-family:var(--fd);font-size:1.15rem;color:var(--ink-strong);display:block}
.access .a span{font-size:.82rem;color:var(--muted)}

/* ============ HERO PLEIN ÉCRAN (multi-couches) ============ */
.hero-full{position:relative;min-height:100svh;display:grid;align-items:center;color:#fff;isolation:isolate;overflow:hidden}
.hero-full .bg-wrap{position:absolute;inset:-12% 0;z-index:-2;overflow:hidden}
.hero-full .bg-wrap img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);will-change:transform;animation:kenburns 20s ease-out forwards}
@keyframes kenburns{to{transform:scale(1)}}
.hero-full::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,16,11,.58),rgba(20,16,11,.32) 42%,rgba(20,16,11,.78))}
.hero-full .inner{max-width:var(--container);margin:0 auto;padding:120px var(--gutter) 90px;width:100%}
.hero-full .eyebrow{color:var(--gold-100)}.hero-full .eyebrow::before{background:var(--gold-100)}
.hero-full h1{color:#fff;font-weight:300;font-size:clamp(3rem,1.3rem+7vw,7rem);letter-spacing:-.035em;line-height:.94;max-width:16ch;margin:1.5rem 0 1.5rem}
.hero-full h1 em{font-style:italic;color:var(--gold)}
.hero-full .lead{color:rgba(255,255,255,.92);max-width:46ch;font-size:clamp(1.1rem,1rem+.5vw,1.35rem);line-height:1.6}
.hero-full .hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.3rem}
.hero-full .hero-meta{display:flex;gap:2.4rem;margin-top:3rem;flex-wrap:wrap}
.hero-full .hero-meta .m{border-left:2px solid rgba(255,255,255,.28);padding-left:1rem}
.hero-full .hero-meta .m b{font-family:var(--fd);font-size:2.1rem;color:#fff;display:block;font-weight:400}
.hero-full .hero-meta .m span{font-size:.8rem;color:rgba(255,255,255,.72)}
.scrollcue{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.85);display:flex;flex-direction:column;align-items:center;gap:.7rem;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase}
.scrollcue .line{width:1px;height:48px;background:linear-gradient(rgba(255,255,255,.85),transparent);transform-origin:top;animation:cue 1.9s var(--ease) infinite}
@keyframes cue{0%,100%{opacity:.25;transform:scaleY(.55)}50%{opacity:1;transform:scaleY(1)}}

/* ============ PARALLAX ============ */
[data-parallax]{will-change:transform}
.fullbleed .bg,.imgband img,.cta .bg{will-change:transform}
/* le hero mot filigrane géant */
.hero-full .watermark{position:absolute;left:0;right:0;top:34%;text-align:center;z-index:-1;font-family:var(--fd);font-weight:300;font-size:clamp(9rem,26vw,26rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);white-space:nowrap;pointer-events:none;letter-spacing:-.02em}

/* ============ GALERIE HORIZONTALE ÉPINGLÉE (scroll créatif) ============ */
.hscroll{position:relative;height:460vh;background:var(--espresso)}
.hscroll-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
.hscroll-track{display:flex;align-items:stretch;gap:0;padding-inline:var(--gutter);will-change:transform}
.hpanel{flex:0 0 clamp(320px,44vw,580px);height:min(78vh,660px);position:relative;border-radius:0;overflow:hidden;display:flex;align-items:flex-end;color:#fff}
/* bords en diagonale qui chevauchent légèrement la photo suivante */
.hpanel:not(.lead-panel){clip-path:polygon(0 0, 100% 0, calc(100% - 46px) 100%, 0 100%);filter:drop-shadow(9px 0 16px rgba(20,16,11,.30))}
.hpanel:not(.lead-panel) + .hpanel:not(.lead-panel){margin-left:-46px}
.hpanel:nth-child(2){z-index:7}.hpanel:nth-child(3){z-index:6}.hpanel:nth-child(4){z-index:5}.hpanel:nth-child(5){z-index:4}.hpanel:nth-child(6){z-index:3}
.hpanel.lead-panel{flex:0 0 clamp(280px,34vw,460px);background:none;align-items:center;color:var(--cream);padding-right:2rem;filter:none}
.hpanel.lead-panel .lp{padding-right:1rem}
.hpanel.lead-panel .eyebrow{color:var(--gold)}
.hpanel.lead-panel h2{color:var(--cream);font-size:clamp(2rem,1.4rem+2vw,3.2rem);font-weight:300;line-height:1.02;margin:1rem 0 1rem}
.hpanel.lead-panel h2 em{font-style:italic;color:var(--gold)}
.hpanel.lead-panel p{color:color-mix(in srgb,var(--cream) 66%,transparent)}
.hpanel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.hpanel:hover img{transform:scale(1.06)}
.hpanel::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,16,11,.85),transparent 58%)}
.hpanel .p{position:absolute;left:0;bottom:0;padding:1.9rem 2.1rem;width:100%;z-index:2}
.hpanel .n{font-family:var(--fd);font-style:italic;color:var(--gold);font-size:1.1rem}
.hpanel h3{color:#fff;font-size:clamp(1.6rem,1.2rem+1.4vw,2.3rem);font-weight:400;margin:.4rem 0 .5rem;letter-spacing:-.02em}
.hpanel p.d{color:rgba(255,255,255,.82);font-size:.95rem;max-width:34ch}
.hpanel .go{margin-top:1.1rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.hprogress{position:absolute;left:var(--gutter);right:var(--gutter);bottom:2.2rem;height:2px;background:rgba(255,255,255,.14);z-index:3}
.hprogress i{position:absolute;left:0;top:0;height:100%;width:10%;background:var(--gold);border-radius:2px}
.hscroll .hint{position:absolute;top:2.2rem;left:var(--gutter);color:rgba(255,255,255,.6);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;z-index:3;display:flex;align-items:center;gap:.6rem}
/* dégradé sans JS : la galerie redevient une grille verticale normale */
html:not(.js) .hscroll{height:auto;padding:clamp(3rem,6vw,6rem) 0}
html:not(.js) .hscroll-sticky{position:static;height:auto;display:block}
html:not(.js) .hscroll-track{flex-wrap:wrap;transform:none !important}
html:not(.js) .hpanel{flex:1 1 300px;height:420px}
html:not(.js) .hprogress,html:not(.js) .hscroll .hint{display:none}

/* révélation par masque (clip-path) au scroll */
html.js .clip-reveal{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-out)}
html.js .clip-reveal.in{clip-path:inset(0 0 0% 0)}

/* ============ CARROUSEL TRAITEMENTS (mappable widget Elementor) ============ */
.carousel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.4rem;flex-wrap:wrap}
.carousel-nav{display:flex;gap:.6rem}
.carousel-nav button{width:52px;height:52px;border-radius:50%;border:1px solid var(--sand-line);background:var(--surface);color:var(--ink-strong);cursor:pointer;display:grid;place-items:center;transition:all var(--dur) var(--ease)}
.carousel-nav button:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.carousel-nav button:disabled{opacity:.35;cursor:default}
.carousel-nav button:disabled:hover{background:var(--surface);border-color:var(--sand-line);color:var(--ink-strong)}
.carousel{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.5rem var(--gutter) 1.6rem;margin-inline:calc(-1 * var(--gutter));scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.cslide{flex:0 0 clamp(268px,30vw,380px);scroll-snap-align:start;background:var(--surface);border:1px solid var(--sand-line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur);text-decoration:none;display:flex;flex-direction:column}
.cslide:hover{transform:translateY(-5px);box-shadow:var(--sh-md)}
.cslide .im{aspect-ratio:4/5;overflow:hidden;position:relative}
.cslide .im img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.cslide:hover .im img{transform:scale(1.06)}
.cslide .im .n{position:absolute;top:1rem;left:1.2rem;z-index:2;font-family:var(--fd);font-style:italic;color:#fff;font-size:1.15rem;text-shadow:0 1px 10px rgba(0,0,0,.45)}
.cslide .im::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,16,11,.5),transparent 55%)}
.cslide .cb{padding:1.4rem 1.5rem 1.6rem}
.cslide h3{font-size:1.4rem;font-weight:400;margin-bottom:.45rem}
.cslide p{color:var(--muted);font-size:.92rem;margin-bottom:1rem;line-height:1.55}
.cslide .go{font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}

/* ============ PRESTATIONS — PANNEAUX EXTENSIBLES (accordéon horizontal) ============ */
.expo{display:flex;gap:12px;height:clamp(440px,60vh,580px)}
@media(max-width:760px){.expo{flex-direction:column;height:auto}}
.ep{position:relative;flex:1;min-width:0;border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:flex .7s var(--ease-out);box-shadow:var(--sh-sm)}
.ep.active{flex:4.4}
@media(max-width:760px){.ep{flex:auto;height:auto;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end}.ep.active{min-height:300px}}
.ep img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.ep.active img{transform:scale(1.05)}
.ep::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,16,11,.84),rgba(20,16,11,.12) 58%,transparent)}
.ep .vlab{position:absolute;left:1.15rem;bottom:1.5rem;z-index:2;color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--fd);font-weight:400;font-size:1.2rem;white-space:nowrap;transition:opacity .4s;text-shadow:0 1px 10px rgba(0,0,0,.4)}
@media(max-width:760px){.ep .vlab{display:none}.ep .lab{position:static;opacity:1;transform:none;padding:1.5rem}.ep .lab .desc{max-width:none}}
.ep.active .vlab{opacity:0}
.ep .lab{position:absolute;left:0;bottom:0;width:100%;padding:1.7rem;color:#fff;z-index:2;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease) .1s,transform .5s var(--ease) .1s}
.ep.active .lab{opacity:1;transform:none}
.ep .lab .n{font-family:var(--fd);font-style:italic;color:var(--gold);font-size:1rem}
.ep .lab h3{font-family:var(--fd);font-weight:400;color:#fff;font-size:clamp(1.4rem,1.1rem+1vw,2rem);margin:.15rem 0 .5rem;line-height:1.08}
.ep .lab .desc{max-width:46ch;color:rgba(255,255,255,.9);font-size:.95rem;line-height:1.55}
.ep .lab .go{display:inline-flex;align-items:center;gap:.4rem;color:var(--gold);font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-top:1rem}

/* ============ ACTUALITÉS — INDEX MAGAZINE (aperçu au survol) ============ */
.news{background:var(--cream-2);border-block:1px solid var(--sand-line)}
.mag{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(1.4rem,3vw,2.6rem);align-items:stretch}
@media(max-width:860px){.mag{grid-template-columns:1fr}}
.mag-preview{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:clamp(360px,46vh,480px);display:flex;align-items:flex-end;color:#fff;box-shadow:var(--sh-lg);text-decoration:none}
.mag-preview .pv-img{position:absolute;inset:0;z-index:0}
.mag-preview .pv-img img{width:100%;height:100%;object-fit:cover;transition:opacity .45s var(--ease),transform 7s var(--ease)}
.mag-preview:hover .pv-img img{transform:scale(1.06)}
.mag-preview.fade .pv-img img{opacity:0}
.mag-preview::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(20,16,11,.9),rgba(20,16,11,.15) 62%,transparent)}
.mag-preview .pv{position:relative;z-index:2;padding:clamp(1.6rem,2.5vw,2.3rem);width:100%;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.mag-preview.fade .pv{opacity:0;transform:translateY(8px)}
.mag-preview .cat{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;padding:.34rem .75rem;border-radius:var(--r-pill);margin-bottom:.8rem}
.mag-preview .date{display:block;font-size:.76rem;color:rgba(255,255,255,.75);margin-bottom:.5rem;letter-spacing:.03em}
.mag-preview h3{font-family:var(--fd);font-weight:400;font-size:clamp(1.6rem,1.2rem+1.4vw,2.4rem);line-height:1.1;color:#fff;margin-bottom:.6rem}
.mag-preview p{color:rgba(255,255,255,.85);max-width:52ch;font-size:.95rem;margin-bottom:1rem}
.mag-preview .rd{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold);font-weight:600;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}
.mag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center}
.mag-row{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.05rem .2rem;border-top:1px solid var(--sand-line);cursor:pointer;transition:padding-left .35s var(--ease),background .35s}
.mag-row:last-child{border-bottom:1px solid var(--sand-line)}
.mag-row .n{font-family:var(--fd);font-style:italic;color:var(--gold);font-size:1rem}
.mag-row .mt{min-width:0}
.mag-row .mc{display:block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}
.mag-row .mh{font-family:var(--fd);font-weight:400;font-size:1.14rem;color:var(--ink-strong);line-height:1.2;transition:color .3s;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.mag-row .ma{color:var(--gold);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s}
.mag-row:hover,.mag-row.active{padding-left:1rem;background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 9%,transparent),transparent)}
.mag-row:hover .mh,.mag-row.active .mh{color:var(--gold-deep)}
.mag-row:hover .ma,.mag-row.active .ma{opacity:1;transform:none}

/* ============ PANNEAUX EMPILÉS COLLANTS (parallax de profondeur) ============ */
.stack{position:relative}
.stack-panel{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center;color:#fff;isolation:isolate}
.stack-panel .sp-bg{position:absolute;inset:-14% 0;z-index:-2;will-change:transform}
.stack-panel .sp-bg img{width:100%;height:100%;object-fit:cover}
.stack-panel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,16,11,.5),rgba(20,16,11,.72))}
.stack-panel .sp-word{position:absolute;left:0;right:0;top:8%;text-align:center;z-index:0;font-family:var(--fd);font-weight:300;font-size:clamp(6rem,20vw,20rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);white-space:nowrap;pointer-events:none;will-change:transform}
.stack-panel .sp-content{position:relative;z-index:2;max-width:760px;text-align:center;padding-inline:var(--gutter);will-change:transform}
.stack-panel .sp-content .eyebrow{color:var(--gold-100);justify-content:center}.stack-panel .sp-content .eyebrow::before{background:var(--gold-100)}
.stack-panel .sp-content h2{color:#fff;font-weight:300;font-size:clamp(2.2rem,1.4rem+3.4vw,4.4rem);letter-spacing:-.03em;line-height:1;margin:1.2rem 0 1rem}
.stack-panel .sp-content h2 em{font-style:italic;color:var(--gold)}
.stack-panel .sp-content p{color:rgba(255,255,255,.9);max-width:46ch;margin:0 auto;font-size:clamp(1.02rem,1rem+.3vw,1.2rem)}
.stack-panel .sp-index{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--fd);font-style:italic;color:var(--gold);font-size:1.1rem;letter-spacing:.1em}
/* sans JS : les panneaux redeviennent des sections normales empilées verticalement */
html:not(.js) .stack-panel{position:relative;height:auto;min-height:70vh;padding-block:clamp(3rem,7vw,6rem)}

/* ============ FAQ (visible + rich snippets) ============ */
.faq{max-width:var(--narrow);margin-inline:auto}
.faq details{border-bottom:1px solid var(--sand-line);padding:1.35rem 0}
.faq details:first-of-type{border-top:1px solid var(--sand-line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.2rem;font-family:var(--fd);font-size:clamp(1.15rem,1rem+.7vw,1.55rem);font-weight:400;color:var(--ink-strong)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{flex:0 0 auto;width:32px;height:32px;border-radius:50%;border:1px solid var(--sand-line);display:grid;place-items:center;transition:transform var(--dur) var(--ease),background var(--dur),color var(--dur),border-color var(--dur);color:var(--gold-deep);font-size:1.2rem;line-height:1}
.faq details[open] summary .ic{transform:rotate(45deg);background:var(--gold);color:#fff;border-color:var(--gold)}
.faq .a{color:var(--muted);padding-top:1rem;max-width:66ch;line-height:1.7}
.dark .faq details,.dark .faq details:first-of-type{border-color:color-mix(in srgb,var(--cream) 16%,transparent)}
.dark .faq summary{color:var(--cream)}
.dark .faq .a{color:color-mix(in srgb,var(--cream) 68%,transparent)}
.dark .faq summary .ic{border-color:color-mix(in srgb,var(--cream) 26%,transparent);color:var(--gold)}

/* ============ CONTACT — FORMULAIRE & INFOS ============ */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}
.form-card{background:var(--surface);border:1px solid var(--sand-line);border-radius:var(--r-xl);padding:clamp(1.8rem,3vw,2.6rem);box-shadow:var(--sh-md)}
.form-card h3{font-size:1.6rem;font-weight:400;margin-bottom:1.4rem}
.field{margin-bottom:1.05rem}
.field label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--ink-strong);margin-bottom:.4rem}
.field input,.field select,.field textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--sand-line);border-radius:var(--r-md);background:var(--cream-2);font-family:var(--fb);font-size:.95rem;color:var(--ink);transition:border-color .3s,background .3s,box-shadow .3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 18%,transparent)}
.field textarea{resize:vertical;min-height:130px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.field-row{grid-template-columns:1fr}}
.form-note{font-size:.8rem;color:var(--muted);margin-top:.4rem}
.contact-side{display:grid;gap:1.3rem}
.contact-card{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--sand-line);background:var(--surface);box-shadow:var(--sh-sm);transition:box-shadow .4s,transform .4s var(--ease)}
.contact-card:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.contact-card .map{aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--cream-3)}
.contact-card .map img{width:100%;height:100%;object-fit:cover}
.contact-card .map .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);color:var(--brand)}
.contact-card .cbody{padding:1.4rem 1.5rem 1.6rem}
.contact-card .badge{font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--brand);padding:.34rem .75rem;border-radius:var(--r-pill)}
.contact-card h4{font-family:var(--fd);font-size:1.4rem;font-weight:400;margin:.7rem 0 .9rem}
.ci{display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;margin-bottom:.6rem;color:var(--ink)}
.ci svg{color:var(--brand);flex:0 0 auto;margin-top:.15rem}
.contact-card .cta-row{margin-top:1.1rem}

/* ============ CONTACT — DEUX CENTRES FACE À FACE ============ */
.faceoff{display:grid;grid-template-columns:1fr 92px 1fr;align-items:stretch}
@media(max-width:820px){.faceoff{grid-template-columns:1fr;gap:1.4rem}}
.foframe{position:relative;overflow:hidden;border-radius:var(--r-xl);min-height:540px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--sh-lg)}
.foframe>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.foframe:hover>img{transform:scale(1.05)}
.foframe::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,16,11,.92),rgba(20,16,11,.2) 56%,rgba(20,16,11,.4))}
.foframe .fc{position:relative;z-index:2;padding:2.2rem;width:100%}
.foframe.left{border-radius:var(--r-xl) 0 0 var(--r-xl)}
.foframe.right{border-radius:0 var(--r-xl) var(--r-xl) 0}
@media(max-width:820px){.foframe.left,.foframe.right{border-radius:var(--r-xl);min-height:420px}}
.foframe .badge{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--brand);padding:.36rem .8rem;border-radius:var(--r-pill)}
.foframe h3{font-family:var(--fd);font-weight:400;font-size:clamp(1.7rem,1.2rem+1.4vw,2.4rem);margin:.7rem 0 1rem;color:#fff}
.foframe .fci{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;color:rgba(255,255,255,.9);margin-bottom:.55rem}
.foframe .fci svg{color:var(--gold);flex:0 0 auto;margin-top:.15rem}
.foframe .fc .btn{margin-top:1.2rem}
.fo-mid{position:relative;display:flex;align-items:center;justify-content:center}
@media(max-width:820px){.fo-mid{height:34px}}
.fo-mid::before{content:"";position:absolute;top:6%;bottom:6%;left:50%;width:1px;background:linear-gradient(var(--gold-hair),transparent 14%,transparent 86%,var(--gold-hair));transform:translateX(-50%)}
@media(max-width:820px){.fo-mid::before{top:50%;bottom:auto;left:8%;right:8%;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--gold-hair),transparent)}}
.fo-medal{position:relative;z-index:2;width:62px;height:62px;border-radius:50%;background:var(--cream);border:1px solid var(--gold-hair);display:grid;place-items:center;font-family:var(--fd);font-style:italic;font-size:1.7rem;color:var(--gold-deep);box-shadow:var(--sh-sm)}

/* ============ CENTRES — HERO PLEIN ÉCRAN SOMBRE LUXE ============ */
.centres-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(92px + clamp(2rem,4vw,3.5rem)) 0 clamp(2.5rem,5vw,4rem);color:#fff;position:relative;overflow:hidden}
.ch-bg{position:absolute;inset:0;z-index:0}
.ch-bg{will-change:transform}
.ch-bg-img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;opacity:0;transition:opacity .8s var(--ease)}
.ch-bg-img.active{opacity:1}
.ch-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(102deg,rgba(20,16,11,.82) 0%,rgba(20,16,11,.54) 46%,rgba(28,22,15,.28) 100%)}
.ch-inner{position:relative;z-index:2}
.ch-head{max-width:840px;margin-bottom:clamp(1.8rem,3vw,2.6rem)}
.ch-head .eyebrow{color:var(--gold-100)}.ch-head .eyebrow::before{background:var(--gold)}
.ch-head h1{color:#fff;font-size:clamp(2.3rem,1.4rem+3vw,3.8rem);font-weight:300;letter-spacing:-.03em;line-height:1.02;margin:1rem 0 1.5rem}
.ch-head h1 em{font-style:italic;color:var(--gold)}
.ch-main{display:grid;grid-template-columns:2fr 1fr;gap:clamp(1.6rem,2.6vw,2.4rem);align-items:stretch}
@media(max-width:900px){.ch-main{grid-template-columns:1fr}}

/* carte radar sombre */
.coverage{position:relative;background:rgba(18,14,9,.52);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);padding:clamp(1.6rem,2.6vw,2.3rem);display:flex;flex-direction:column;min-height:clamp(470px,64vh,620px);backdrop-filter:blur(12px)}
.coverage .cov-head{margin-bottom:.5rem;max-width:640px}
.coverage .cov-head .eyebrow{color:var(--gold)}.coverage .cov-head .eyebrow::before{background:var(--gold)}
.coverage .cov-head h3{font-family:var(--fd);font-weight:300;color:#fff;font-size:clamp(1.25rem,1rem+1vw,1.7rem);margin:.4rem 0 .25rem;letter-spacing:-.02em}
.coverage .cov-head h3 em{font-style:italic;color:var(--gold)}
.coverage .cov-head p{color:color-mix(in srgb,var(--cream) 62%,transparent);font-size:.9rem}
.covmap{width:100%;height:auto;display:block;flex:1;margin-inline:auto;max-height:clamp(380px,52vh,560px)}
.covmap .cty-dot{fill:color-mix(in srgb,var(--cream) 82%,transparent);transition:fill .3s,r .3s}
.covmap .cty-label{fill:color-mix(in srgb,var(--cream) 90%,transparent);font-family:"Inter",sans-serif;font-size:24px;font-weight:400;letter-spacing:-.01em;transition:fill .3s}
.covmap .cty-label.sm{font-size:17px;font-weight:300;letter-spacing:0;fill:color-mix(in srgb,var(--cream) 64%,transparent)}
.covmap .center-label{font-weight:400!important}
.covmap .cty-dot.sm{fill:color-mix(in srgb,var(--cream) 52%,transparent)}
.covmap .cty:hover .cty-dot.sm{r:10}
.covmap .cty:hover .cty-dot{fill:var(--gold);r:13}
.covmap .cty:hover .cty-label{fill:#fff}
.covmap .center-label{fill:#fff;font-family:"Fraunces",serif;font-size:44px;font-weight:500}
.covmap .water{fill:color-mix(in srgb,#2b6b74 40%,#1E1811)}
.cov-legend{display:flex;gap:1.3rem;flex-wrap:wrap;margin-top:.8rem;font-size:.78rem;color:color-mix(in srgb,var(--cream) 66%,transparent)}
.cov-legend span{display:inline-flex;align-items:center}
.cov-legend b{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:.5rem}
.cov-pulse{transform-box:fill-box;transform-origin:center;animation:covpulse 2.8s ease-out infinite}
.cov-pulse.b{animation-delay:1.4s}
@keyframes covpulse{0%{transform:scale(.5);opacity:.7}100%{transform:scale(2.6);opacity:0}}
/* surbrillance liée au centre sélectionné */
.covmap .m-thau,.covmap .m-pole{transition:opacity .55s var(--ease),filter .55s var(--ease)}
.covmap.map-pole .m-thau{opacity:.22;filter:saturate(.5)}
.covmap.map-thau .m-pole{opacity:.22;filter:saturate(.5)}
.covmap.map-thau .m-thau,.covmap.map-pole .m-pole{opacity:1}

/* ADRESSE MISE EN VALEUR — carte sombre premium */
.ch-coords{position:relative;background:rgba(18,14,9,.58);border:1px solid rgba(255,255,255,.15);border-radius:var(--r-xl);padding:clamp(1.7rem,2.5vw,2.3rem);box-shadow:var(--sh-lg);overflow:hidden;display:flex;flex-direction:column;isolation:isolate;backdrop-filter:blur(12px);min-height:clamp(340px,46vh,480px)}
.ch-coords::before{content:attr(data-monogram);position:absolute;right:-.6rem;bottom:-4.5rem;font-family:var(--fd);font-size:16rem;font-weight:300;color:var(--brand);opacity:.18;line-height:1;pointer-events:none;z-index:-1}
.ch-coords .badge{align-self:flex-start;font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--brand);padding:.36rem .8rem;border-radius:var(--r-pill)}
.ch-coords h3{font-family:var(--fd);font-weight:400;font-size:clamp(1.6rem,1.2rem+1vw,2.2rem);margin:.85rem 0 0;color:#fff}
.ch-coords .hair{height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin:1.05rem 0 1.2rem}
.ch-coords .ph-label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--cream) 55%,transparent)}
.ch-coords .phone{font-family:var(--fd);font-size:clamp(1.6rem,1.2rem+1.2vw,2.1rem);font-weight:400;color:var(--gold);margin:.15rem 0 .1rem}
.ch-coords .phone-2{font-size:.9rem;color:color-mix(in srgb,var(--cream) 58%,transparent);margin-bottom:1.15rem}
.ch-coords .cc-row{display:flex;gap:.75rem;align-items:flex-start;font-size:.98rem;color:color-mix(in srgb,var(--cream) 90%,transparent);margin-bottom:.85rem;line-height:1.5}
.ch-coords .cc-row.addr{font-family:var(--fd);font-size:1.12rem;font-weight:400;color:#fff}
.ch-coords .cc-row svg{color:var(--gold);flex:0 0 auto;margin-top:.2rem}
.ch-coords .btn{margin-top:auto;align-self:flex-start}

/* ============ ENCASTREMENT DES SECTIONS (sticky stacking au scroll) ============ */
.stack-sec{position:sticky;top:0;min-height:80svh;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(1.8rem,3.5vh,3rem);will-change:filter}
.stack-sec.rounded{border-radius:38px 38px 0 0;box-shadow:0 -22px 55px -22px rgba(20,16,11,.5)}
.stack-sec.bg-cream{background:var(--cream)}
.stack-sec.bg-cream2{background:var(--cream-2)}
.stack-sec.bg-espresso{background:var(--espresso)}
/* fonds utilisables aussi hors encastrement (flux normal) */
.bg-cream{background:var(--cream)}
.bg-cream2{background:var(--cream-2)}
.bg-espresso{background:var(--espresso)}
/* sans JS : on désactive l'empilement (sections normales) */
html:not(.js) .stack-sec{position:static;min-height:0}
/* mobile : on désactive le pin sticky (sinon contenu long recouvert par le panneau suivant) */
@media(max-width:760px){.stack-sec{position:static;min-height:0}.stack-sec.rounded{box-shadow:0 -14px 34px -20px rgba(20,16,11,.4)}}

/* ============ VITRINE TECHNO — RÉVÉLATION / DÉMASQUAGE (machine Candela) ============ */
.techrev{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream) 0%,var(--cream-2) 100%);padding-block:clamp(4rem,8vw,7rem)}
.techrev .bigword{position:absolute;left:0;right:0;top:6%;text-align:center;font-family:var(--fd);font-weight:300;font-size:clamp(6rem,19vw,18rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(215,153,66,.16);white-space:nowrap;pointer-events:none;z-index:0;will-change:transform}
.techrev>.wrap{position:relative;z-index:1}
.techrev-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
@media(max-width:860px){.techrev-grid{grid-template-columns:1fr}}
.techrev .machine-wrap{position:relative;min-height:clamp(280px,42vh,460px);display:flex;align-items:center;justify-content:center}
.techrev .machine{width:100%;max-width:500px;display:block;margin-inline:auto;filter:drop-shadow(0 34px 54px rgba(34,27,18,.24));will-change:transform,clip-path}
.techrev h2{font-family:var(--fd);font-weight:300;font-size:clamp(2rem,1.3rem+2.6vw,3.2rem);letter-spacing:-.02em;line-height:1.02;margin:1rem 0 1.1rem;color:var(--ink-strong)}
.techrev h2 em{font-style:italic;color:var(--gold-deep)}
.techrev .lead{color:var(--muted);font-size:1.05rem;margin-bottom:1.8rem;max-width:44ch}
.techrev .tag{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem}
.techrev .tag .num{font-family:var(--fd);font-style:italic;color:var(--gold);font-size:1.15rem;flex:0 0 auto;line-height:1.3}
.techrev .tag h4{font-family:var(--fd);font-weight:400;font-size:1.22rem;color:var(--ink-strong);margin-bottom:.15rem;line-height:1.15}
.techrev .tag p{font-size:.93rem;color:var(--muted);line-height:1.5}

/* reveal — visible par défaut (sans JS), animé si JS actif */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
html.js .reveal.in{opacity:1;transform:none}
html.js .hero .reveal{transition-duration:1s}
@media(prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}}

/* ============================================================================
   COMPOSANTS DE PAGES — rapatriés des <style> internes des maquettes
   (sur WordPress, les <style> internes ne sont pas chargés : ces règles
    doivent vivre dans luxe.css, chargé globalement par le thème enfant).
   Scopés par couleur d'accent via body.elementor-page-<ID>.
   182 épilation · 183 vasculaire · 184 taches · 185 rajeunissement
   ============================================================================ */

/* --- variables d'accent (défaut = épilation / eau) --- */
:root{
  --eau:#5C8B84;--eau-deep:#3f6a63;--eau-lt:#bfe0da;--eau-100:#e7f1ef;
  --alert:#B4553F;--alert-100:#f8ece8;--calm:#5C8B84;
  --acc:#5C8B84;--acc-deep:#3f6a63;--acc-lt:#bfe0da;--acc-100:#e7f1ef;
  --mote-bg:rgba(255,232,196,.85);--mote-sh:rgba(255,220,170,.40);
}
body.elementor-page-183{--acc:#B85563;--acc-deep:#8f3f4a;--acc-lt:#e9bcc1;--acc-100:#f8ebec;--mote-bg:rgba(232,190,196,.85);--mote-sh:rgba(200,120,135,.35)}
body.elementor-page-184{--acc:#A9713E;--acc-deep:#835327;--acc-lt:#e8c9a6;--acc-100:#f7ecdf;--mote-bg:rgba(232,201,166,.85);--mote-sh:rgba(169,113,62,.35)}
body.elementor-page-185{--acc:#C98763;--acc-deep:#9c5f43;--acc-lt:#ecc6b3;--acc-100:#f8ece5;--mote-bg:rgba(236,198,179,.9);--mote-sh:rgba(201,135,99,.35)}

/* --- effets hero : rai laser doré + poussières lumineuses --- */
.lfx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.lfx i{position:absolute;top:-30%;left:-40%;width:28%;height:170%;background:linear-gradient(90deg,rgba(255,216,160,0),rgba(255,216,160,.32) 48%,rgba(255,240,214,.5) 52%,rgba(255,216,160,.28) 58%,rgba(255,216,160,0));filter:blur(30px);transform:rotate(14deg);animation:raySweep 17s cubic-bezier(.45,0,.55,1) infinite}
.lfx i:nth-child(2){width:15%;animation-duration:23s;animation-delay:-8s;opacity:.5}
@keyframes raySweep{0%{left:-40%}55%,100%{left:120%}}
.motes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.motes b{position:absolute;border-radius:50%;background:var(--mote-bg);box-shadow:0 0 12px 3px var(--mote-sh);animation:floatUp linear infinite}
@keyframes floatUp{0%{transform:translateY(0);opacity:0}12%{opacity:.9}80%{opacity:.55}100%{transform:translateY(-300px) translateX(32px);opacity:0}}
@media(prefers-reduced-motion:reduce){.lfx i,.motes b{animation:none!important}}

/* --- mini-stats (trio de chiffres) --- */
.mini-stats{display:flex;gap:2.6rem;flex-wrap:wrap;margin-top:1.6rem}
.mini-stats .s b{font-family:var(--fd);font-weight:300;font-size:2.7rem;color:var(--gold);display:block;line-height:1}
.mini-stats .s span{font-size:.86rem;color:var(--muted)}
.fullbleed .mini-stats .s span,.dark .mini-stats .s span{color:rgba(255,255,255,.78)}

/* --- chips (echips) --- */
.echips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}
.echip{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border-radius:var(--r-pill);font-size:.9rem;font-weight:500;background:var(--acc-100);color:var(--acc-deep);border:1px solid color-mix(in srgb,var(--acc) 25%,transparent)}
.echip.gold{background:var(--gold-100);color:var(--gold-deep);border-color:color-mix(in srgb,var(--gold) 30%,transparent)}
.echip .v{font-family:var(--fd);font-style:italic}

/* --- cartes longueurs d'onde (deux lasers, section sombre) --- */
.ltypes{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.8rem}
@media(max-width:680px){.ltypes{grid-template-columns:1fr}}
.ltype{border-radius:var(--r-lg);padding:1.8rem 1.9rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14)}
.ltype .wl{font-family:var(--fd);font-weight:300;font-size:2.8rem;line-height:1;color:var(--acc-lt)}
.ltype .nm{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6);margin:.5rem 0 .9rem}
.ltype p{color:color-mix(in srgb,var(--cream) 85%,transparent);font-size:.98rem;line-height:1.55}
body.elementor-page-182 .ltype .wl{color:var(--gold)}
body.elementor-page-182 .ltype.eau .wl{color:var(--eau-lt)}

/* --- étapes numérotées --- */
.steps{display:grid;gap:1.3rem;margin-top:.5rem;counter-reset:st}
.step{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;padding-bottom:1.3rem;border-bottom:1px solid var(--sand-line)}
.dark .step{border-bottom-color:rgba(255,255,255,.12)}
.step:last-child{border-bottom:0}
.step .n{counter-increment:st;font-family:var(--fd);font-style:italic;color:var(--acc-deep);font-size:1.5rem;min-width:2.4rem}
.step .n::before{content:"0" counter(st)}
.step h4{font-family:var(--fd);font-weight:400;font-size:1.3rem;color:var(--ink-strong);margin-bottom:.3rem}
.dark .step h4{color:#fff}
.step p{color:var(--muted);font-size:.96rem;line-height:1.55}
.dark .step p{color:color-mix(in srgb,var(--cream) 74%,transparent)}

/* --- cartes précautions / expertise (pcards) --- */
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:.5rem}
@media(max-width:820px){.pcards{grid-template-columns:1fr}}
.pcard{background:var(--surface);border:1px solid var(--sand-line);border-radius:var(--r-lg);padding:1.7rem;box-shadow:var(--sh-sm)}
.pcard.warn{border-color:color-mix(in srgb,var(--acc) 32%,transparent);background:var(--acc-100)}
.pcard .ic{width:46px;height:46px;border-radius:50%;background:var(--calm);color:#fff;display:grid;place-items:center;margin-bottom:1rem;flex:0 0 auto}
.pcard.warn .ic{background:var(--acc)}
.pcard h4{font-family:var(--fd);font-weight:400;font-size:1.3rem;margin-bottom:.5rem;color:var(--ink-strong)}
.pcard.warn h4{color:var(--acc-deep)}
.pcard p{color:var(--muted);font-size:.94rem;line-height:1.55}
.pcard p b{color:var(--ink-strong);font-weight:600}
body.elementor-page-184 .pcards,body.elementor-page-185 .pcards{grid-template-columns:1fr}
body.elementor-page-182 .pcard .ic{background:var(--eau-100);color:var(--eau-deep)}
body.elementor-page-182 .pcard.warn{border-color:color-mix(in srgb,var(--alert) 32%,transparent);background:var(--alert-100)}
body.elementor-page-182 .pcard.warn .ic{background:#f2ddd6;color:var(--alert)}
body.elementor-page-182 .pcard.warn h4{color:var(--alert)}

/* --- cartes indications/bénéfices (vcards) --- */
.vcards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:.6rem}
@media(max-width:820px){.vcards{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vcards{grid-template-columns:1fr}}
.vcard{background:var(--surface);border:1px solid var(--sand-line);border-radius:var(--r-lg);padding:1.5rem 1.5rem 1.6rem;box-shadow:var(--sh-sm);transition:transform .4s var(--ease),box-shadow .4s}
.vcard:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.vcard .ic{width:44px;height:44px;border-radius:12px;background:var(--acc-100);color:var(--acc-deep);display:grid;place-items:center;margin-bottom:.9rem}
.vcard h4{font-family:var(--fd);font-weight:400;font-size:1.22rem;color:var(--ink-strong);margin-bottom:.3rem}
.vcard p{color:var(--muted);font-size:.93rem;line-height:1.5}

/* --- pastilles de zones --- */
.zone-pills{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.zone-pills span{font-size:.92rem;background:var(--cream-2);border:1px solid var(--sand-line);padding:.55rem 1.1rem;border-radius:var(--r-pill);color:var(--ink)}

/* --- « Où réaliser » : cartes claires sur section sombre --- */
.dark .centres-grid .cc h3{color:var(--ink-strong)}
.dark .centres-grid .cc .zone{color:var(--muted)}

/* --- schémas SVG animés (photothermolyse / vaisseau / pigment / collagène) --- */
.schema-wrap{position:relative}
.schema{width:100%;max-width:560px;display:block;margin-inline:auto}
.schema .beam-line{stroke-dasharray:600;stroke-dashoffset:600}
.schema.in .beam-line{animation:drawBeam 1.3s cubic-bezier(.5,0,.2,1) .3s forwards}
@keyframes drawBeam{to{stroke-dashoffset:0}}
.schema .beam-glow{opacity:0}
.schema.in .beam-glow{animation:beamPulse 2.5s ease-in-out 1.4s infinite}
@keyframes beamPulse{0%,100%{opacity:.2}45%{opacity:1}}
/* épilation — follicule chauffé */
.schema .heat{opacity:0}
.schema.in .heat{animation:heatUp 2.4s ease-in-out 1.7s infinite}
@keyframes heatUp{0%,100%{opacity:0}50%{opacity:.9}}
/* vasculaire — le vaisseau se referme */
.schema .vheat{opacity:0}
.schema.in .vheat{animation:vHeat 2.6s ease-in-out 1.2s 2}
@keyframes vHeat{0%,100%{opacity:0}50%{opacity:.85}}
.schema .vessel{transition:none}
.schema.in .vessel{animation:vesselClose 3.4s ease-in-out 1.4s forwards}
@keyframes vesselClose{0%{stroke-width:11;opacity:1}25%{stroke-width:13}100%{stroke-width:1.6;opacity:.28}}
/* taches — le pigment se fragmente et s'élimine */
.schema .pheat{opacity:0}
.schema.in .pheat{animation:pHeat 2.3s ease-in-out 1.1s 2}
@keyframes pHeat{0%,100%{opacity:0}50%{opacity:.8}}
.schema .pigment{opacity:1}
.schema.in .pigment{animation:pigFade 3.2s ease 1.6s forwards}
@keyframes pigFade{0%{opacity:1}22%{opacity:1;filter:brightness(.65)}100%{opacity:.1}}
.schema .frags{opacity:0}
.schema.in .frags{opacity:1}
.schema .frags circle{transform-box:fill-box;transform-origin:center;animation:fragUp 2.6s ease-out 2.2s forwards}
@keyframes fragUp{0%{opacity:0;transform:translateY(6px)}30%{opacity:.95}100%{opacity:0;transform:translateY(-26px)}}
/* rajeunissement — collagène relancé, ride lissée */
.schema .fibers{opacity:.18}
.schema.in .fibers{animation:fibersIn 2.4s ease-out 1.6s forwards}
@keyframes fibersIn{to{opacity:1}}
.schema .skin-wrinkled{opacity:1}
.schema.in .skin-wrinkled{animation:fadeSwap 3.6s ease 1.9s forwards}
.schema .skin-smooth{opacity:0}
.schema.in .skin-smooth{animation:fadeIn 1.6s ease 3.6s forwards}
/* labels génériques de schéma */
.schema .vlabel-open{opacity:1}
.schema.in .vlabel-open{animation:fadeSwap 3.4s ease 1.5s forwards}
.schema .vlabel-closed{opacity:0}
.schema.in .vlabel-closed{animation:fadeIn 1s ease 3.9s forwards}
@keyframes fadeSwap{0%,68%{opacity:1}100%{opacity:0}}
@keyframes fadeIn{to{opacity:1}}

/* --- vitrine machine Candela (épilation) --- */
.candela-sec{overflow:hidden}
.candela-sec .bigword{position:absolute;left:0;right:0;top:4%;text-align:center;font-family:var(--fd);font-weight:300;font-size:clamp(5rem,18vw,16rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(215,153,66,.20);white-space:nowrap;pointer-events:none;z-index:0;will-change:transform}
.candela-sec>.wrap{position:relative;z-index:1}
.cdl-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:860px){.cdl-grid{grid-template-columns:1fr}.candela-sec .bigword{top:1%}}
.cdl-figure{position:relative;min-height:clamp(300px,46vh,480px);display:flex;align-items:center;justify-content:center}
.cdl-figure .machine{width:100%;max-width:430px;filter:drop-shadow(0 40px 60px rgba(34,27,18,.26));will-change:transform,clip-path}
.spec{position:absolute;font-size:.82rem;font-weight:600;letter-spacing:.02em;padding:.5rem .95rem;border-radius:var(--r-pill);background:rgba(255,253,250,.9);border:1px solid var(--sand-line);box-shadow:var(--sh-sm);color:var(--ink-strong);backdrop-filter:blur(6px);display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap}
.spec .d{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px 1px rgba(215,153,66,.55)}
.spec.eau .d{background:var(--eau);box-shadow:0 0 8px 1px rgba(92,139,132,.55)}
.spec.s1{top:11%;left:-3%}.spec.s2{top:41%;right:-5%}.spec.s3{bottom:13%;left:3%}
@media(max-width:520px){.spec.s1{left:0}.spec.s2{right:0}}
.cdl-tag{display:flex;gap:1rem;align-items:flex-start;margin-top:1.3rem}
.cdl-tag .num{font-family:var(--fd);font-style:italic;color:var(--gold-deep);font-size:1.15rem;flex:0 0 auto;line-height:1.3}
.cdl-tag h4{font-family:var(--fd);font-weight:400;font-size:1.18rem;color:var(--ink-strong);margin-bottom:.15rem;line-height:1.15}
.cdl-tag p{font-size:.93rem;color:var(--muted);line-height:1.5}

/* --- hero pages : texte remonté (moins d'espace au-dessus du texte) --- */
.fullbleed{align-items:center;padding-block:clamp(1rem,3vh,2rem) clamp(4rem,12vh,8.5rem)}
.fullbleed .inner{padding-block:0}
.page-hero{padding-top:calc(74px + clamp(1rem,2.5vw,2rem))}

/* --- message de confirmation formulaire (Web3Forms) --- */
.rdv-result{display:none;margin-top:1rem;padding:.9rem 1.15rem;border-radius:var(--r-md);font-size:.95rem;line-height:1.45}
.rdv-result.ok{display:block;background:#e7f1ef;color:#2f5b52;border:1px solid #b7d8d0}
.rdv-result.err{display:block;background:#f8ece8;color:#8f3a2a;border:1px solid #e5c3b8}

/* ============================================================================
   PAGE CENTRES — sélecteur de centre, intervenants (classes uniques)
   ============================================================================ */
/* Sélecteur de centre — onglets éditoriaux intégrés au hero */
.cswitch-label{display:block;font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-100);margin-bottom:1rem}
.cselect{display:flex;gap:1rem;flex-wrap:wrap}
.cselect button{display:flex;align-items:center;gap:.95rem;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r-lg);padding:.95rem 1.5rem .95rem 1rem;cursor:pointer;color:rgba(255,255,255,.82);transition:all .4s var(--ease);text-align:left;backdrop-filter:blur(8px)}
.cselect button:hover{border-color:rgba(255,255,255,.35);transform:translateY(-2px)}
.cselect button .ico{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#fff;flex:0 0 auto;transition:all .4s var(--ease)}
.cselect button .txt{display:flex;flex-direction:column;gap:.15rem}
.cselect button .ct{font-family:var(--fd);font-weight:400;font-size:1.28rem;line-height:1;letter-spacing:-.01em}
.cselect button .cs{font-size:.66rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;opacity:.72}
.cselect button[aria-selected="true"]{background:rgba(255,255,255,.13);border-color:var(--brand);box-shadow:0 14px 34px -12px var(--brand)}
.cselect button[aria-selected="true"]{color:#fff}
.cselect button[aria-selected="true"] .ico{background:var(--brand);color:#fff;box-shadow:0 6px 16px -4px var(--brand)}
.cselect button[aria-selected="true"] .cs{color:var(--gold);opacity:1}
/* Panneaux centre */
.center-panel{transition:opacity .5s var(--ease)}
.center-panel[hidden]{display:none}
/* Intervenants */
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem;margin-top:1.8rem}
.person{background:var(--surface);border:1px solid var(--sand-line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur)}
.person:hover{transform:translateY(-4px);box-shadow:var(--sh-md)}
.person .pic{aspect-ratio:1/1;overflow:hidden;background:var(--cream-2);position:relative}
.person .pic img{width:100%;height:100%;object-fit:cover}
.person .pic.empty{display:grid;place-items:center;color:var(--brand);background:var(--brand-100)}
.person .b{padding:1.2rem 1.3rem}
.person .b b{font-family:var(--fd);font-size:1.2rem;color:var(--ink-strong);font-weight:400;display:block}
.person .b span{font-size:.86rem;color:var(--muted)}
.person .b .tag-soon{margin-top:.4rem;display:inline-block}

/* ============================================================================
   PAGE TARIFS — forfaits, carte des soins, hero fade (classes uniques)
   ============================================================================ */
/* hero : parallax ample + masque bas adouci vers la section sombre */
.fullbleed.hero-fade img.bg{top:-24%;bottom:auto;left:0;right:0;width:100%;height:148%;object-fit:cover}
.hero-fade::before{content:"";position:absolute;left:0;right:0;bottom:0;height:48%;z-index:-1;background:linear-gradient(0deg,var(--espresso) 2%,color-mix(in srgb,var(--espresso) 55%,transparent) 40%,transparent 100%);pointer-events:none}
/* ===== Forfaits (packs) ===== */
.forfaits{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:.5rem}
.forfaits.two{grid-template-columns:repeat(2,1fr);max-width:840px;margin-inline:auto}
@media(max-width:900px){.forfaits{grid-template-columns:1fr}}
.forfait{position:relative;display:flex;flex-direction:column;border-radius:var(--r-xl);overflow:hidden;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);box-shadow:var(--sh-md);transition:transform .4s var(--ease),box-shadow .4s}
.forfait:hover{transform:translateY(-6px);box-shadow:var(--sh-lg)}
.forfait.feat{border-color:color-mix(in srgb,var(--gold) 55%,transparent)}
.forfait .ph{position:relative;aspect-ratio:16/10;overflow:hidden}
.forfait .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.forfait:hover .ph img{transform:scale(1.05)}
.offers-band{position:relative;overflow:hidden;background:var(--espresso);padding-block:clamp(3rem,6vw,5rem)}
.offers-band::before{content:"";position:absolute;left:0;right:0;top:0;height:100%;background:radial-gradient(120% 85% at 50% -6%, rgba(215,153,66,.34) 0%, rgba(215,153,66,.11) 32%, transparent 62%);pointer-events:none;z-index:0}
.offers-band::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 22%,#ffe6bd 50%,var(--gold) 78%,transparent);box-shadow:0 0 26px 3px rgba(215,153,66,.55);z-index:2}
.offers-band>.wrap{position:relative;z-index:1}
.rentree-head{text-align:center;max-width:680px;margin:0 auto 1.9rem}
.rentree-head .eyebrow{justify-content:center}
.rentree-head h3{font-family:var(--fd);font-weight:300;color:#fff;font-size:clamp(1.55rem,1.2rem+1.4vw,2.3rem);margin-top:.5rem;line-height:1.05}
.rentree-head h3 em{font-style:italic;color:var(--gold)}
.rentree-head p{color:color-mix(in srgb,var(--cream) 66%,transparent);font-size:.96rem;margin-top:.55rem}
.forfait .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,19,13,.92),rgba(24,19,13,.15) 60%,transparent)}
.forfait .k{position:absolute;top:1rem;left:1rem;z-index:2;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-strong);background:var(--gold);padding:.4rem .8rem;border-radius:var(--r-pill)}
.forfait.feat .k{box-shadow:0 6px 20px -6px rgba(215,153,66,.7)}
.forfait .ph .ttl{position:absolute;left:1.3rem;right:1.3rem;bottom:1rem;z-index:2}
.forfait .ph .ttl h3{font-family:var(--fd);font-weight:400;font-size:1.65rem;color:#fff;line-height:1.05}
.forfait .ph .ttl .hl{font-family:var(--fd);font-style:italic;font-size:1.08rem;color:var(--gold-hair);margin-top:.15rem}
.forfait .bd{padding:1.5rem 1.7rem 1.8rem;display:flex;flex-direction:column;flex:1}
.forfait .bd>p{color:color-mix(in srgb,var(--cream) 76%,transparent);font-size:.95rem;line-height:1.55;margin-bottom:1.1rem}
.forfait .adv{list-style:none;margin:0 0 1.3rem;padding:0}
.forfait .adv li{display:flex;gap:.6rem;align-items:flex-start;color:color-mix(in srgb,var(--cream) 84%,transparent);font-size:.92rem;margin-bottom:.5rem}
.forfait .adv svg{color:var(--gold);flex:0 0 auto;margin-top:.2rem}
.forfait .btn{margin-top:auto}
.forfait-note{text-align:center;color:color-mix(in srgb,var(--cream) 64%,transparent);font-size:.9rem;margin-top:1.8rem}
/* ===== Carte des soins (affichage prix) ===== */
.plead{max-width:58ch;margin:0 auto;color:var(--muted);text-align:center}
.soin-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:1000px;margin:2.2rem auto 1.4rem}
@media(max-width:720px){.soin-nav{grid-template-columns:1fr 1fr}}
.soin-nav button{display:flex;align-items:center;gap:.75rem;text-align:left;padding:.65rem .75rem;border-radius:var(--r-md);border:1px solid var(--sand-line);background:var(--surface);cursor:pointer;transition:border-color .3s,box-shadow .3s,transform .3s;font:inherit}
.soin-nav button:hover{transform:translateY(-2px);border-color:var(--gold-hair)}
.soin-nav button[aria-selected="true"]{border-color:var(--gold);box-shadow:var(--sh-sm)}
.soin-nav .th{width:46px;height:46px;border-radius:11px;object-fit:cover;flex:0 0 auto}
.soin-nav .lbl{display:flex;flex-direction:column;min-width:0}
.soin-nav .nm{font-family:var(--fd);font-size:1.02rem;color:var(--ink-strong);line-height:1.1}
.soin-nav .fr{font-size:.74rem;color:var(--gold-deep);font-weight:600}
.soin-wrap{max-width:1080px;margin-inline:auto}
.soin-hero{position:relative;height:clamp(230px,34vh,380px);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-md);isolation:isolate;margin-bottom:1.4rem}
.soin-hero .sv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02);transition:opacity .9s var(--ease-out),transform 8s ease-out}
.soin-hero .sv.active{opacity:1;transform:scale(1.08)}
.soin-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(28,22,15,.82),rgba(28,22,15,.28) 62%,transparent)}
.sv-cap{position:absolute;left:clamp(1.4rem,3vw,2.4rem);bottom:1.5rem;z-index:2;color:#fff;max-width:34ch}
.sv-cap .k{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hair)}
.sv-cap .t{font-family:var(--fd);font-weight:300;font-size:clamp(1.8rem,1.2rem+1.8vw,2.8rem);line-height:1.04;margin:.25rem 0 .2rem}
.sv-cap .d{color:rgba(255,255,255,.88);font-size:.98rem}
.soin-hero .fr-badge{position:absolute;top:1.2rem;right:1.2rem;z-index:2;background:rgba(255,253,250,.94);border-radius:var(--r-pill);padding:.5rem 1rem;font-family:var(--fd);font-size:1.05rem;color:var(--ink-strong);box-shadow:var(--sh-sm)}
.soin-hero .fr-badge b{color:var(--gold-deep)}
.soin-menu{background:var(--surface);border:1px solid var(--sand-line);border-radius:var(--r-xl);padding:clamp(1.4rem,2.4vw,2rem);box-shadow:var(--sh-sm)}
.smpanel{display:none}
.smpanel.active{display:block;animation:pfade .5s var(--ease-out)}
@keyframes pfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.smcols{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.4rem 2.4rem;align-items:start}
.pgroup{break-inside:avoid;margin-bottom:1.1rem}
.pgroup h4{font-family:var(--fd);font-weight:400;font-size:1.12rem;color:var(--gold-deep);margin-bottom:.4rem;padding-bottom:.35rem;border-bottom:1px solid var(--sand-line)}
.prow{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem .1rem;border-bottom:1px dotted color-mix(in srgb,var(--sand-line) 72%,transparent)}
.prow:last-child{border-bottom:0}
.prow .z{color:var(--ink);font-size:.97rem;line-height:1.3}
.prow .pr{font-family:var(--fd);font-weight:500;font-size:1.08rem;color:var(--ink-strong);white-space:nowrap}
.prow .pr::after{content:" €";font-size:.7em;color:var(--gold-deep)}
.pnote{max-width:66ch;margin:1.8rem auto 0;padding:1rem 1.4rem;background:var(--gold-100);border:1px solid color-mix(in srgb,var(--gold) 28%,transparent);border-radius:var(--r-md);color:var(--ink);font-size:.92rem;text-align:center}

/* ============================================================
   MODÈLE « ARTICLE UNIQUE » (Single Post — Theme Builder id 262)
   Classes .art-* + confort de lecture .prose. Ajouté v42.
   ============================================================ */

/* --- confort de lecture (corps .prose) --- */
.prose{font-size:1.075rem;line-height:1.75;color:var(--ink)}
.prose strong{color:var(--ink-strong);font-weight:600}
.prose h2{font-family:var(--fd);font-weight:400;font-size:clamp(1.5rem,1.2rem+1.1vw,2rem);color:var(--ink-strong);line-height:1.15;margin:2.4rem 0 .7rem}
.prose h3{font-family:var(--fd);font-weight:500;font-size:clamp(1.2rem,1.05rem+.7vw,1.5rem);color:var(--ink-strong);margin:1.8rem 0 .5rem}
.prose p{margin:0 0 1.15rem}
.prose ul,.prose ol{margin:.4rem 0 1.2rem;padding-left:1.2rem}
.prose li{margin-bottom:.4rem}
.prose .lead-p{font-family:var(--fd);font-weight:300;font-style:italic;font-size:clamp(1.2rem,1.05rem+.6vw,1.5rem);line-height:1.5;color:var(--muted);margin:0 0 1.6rem;padding-bottom:1.3rem;border-bottom:1px solid var(--sand-line)}

/* --- en-tête d'article --- */
.art-hero{padding:calc(88px + 2.6rem) 0 1.5rem;text-align:center}
.art-hero .crumb{color:var(--muted);font-size:.85rem;margin-bottom:1.2rem}
.art-hero .crumb a{color:var(--muted)}
.art-cat{display:inline-block;font-family:var(--fb);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--gold);padding:.4rem .9rem;border-radius:var(--r-pill);margin-bottom:1.2rem}
.art-title{font-family:var(--fd);font-weight:400;font-size:clamp(2rem,1.3rem+2.6vw,3.3rem);line-height:1.1;color:var(--ink-strong);max-width:22ch;margin:0 auto}
.art-meta{margin-top:1.2rem;color:var(--muted);font-size:.9rem}

/* --- couverture (image mise en avant) --- */
.art-cover{padding:1.5rem 0}

/* --- corps --- */
.art-body{padding-top:2.5rem}

/* --- encadré « À retenir » (titre en <strong> dans le contenu) --- */
.art-key{background:color-mix(in srgb,var(--gold) 12%,transparent);border-left:3px solid var(--gold);border-radius:0 var(--r-md) var(--r-md) 0;padding:1.4rem 1.6rem;margin:2rem 0}
.art-key strong{font-family:var(--fd);color:var(--gold-deep);font-size:1.1rem;display:block;margin-bottom:.6rem}
.art-key ul{margin:0;padding-left:1.1rem;color:var(--ink)}
.art-key li{margin:.3rem 0}

/* --- « à lire aussi » --- */
.art-more{padding-block:clamp(3rem,6vw,5rem)}

/* --- navigation précédent/suivant (widget Post Navigation) --- */
.elementor-post-navigation{border-top:1px solid var(--sand-line);border-bottom:1px solid var(--sand-line);padding-block:1.2rem}
.elementor-post-navigation__link{color:var(--ink)}
.elementor-post-navigation__link:hover{color:var(--gold-deep)}
.elementor-post-navigation .post-navigation__prev--label,.elementor-post-navigation .post-navigation__next--label{color:var(--gold-deep);font-family:var(--fb);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.elementor-post-navigation .post-navigation__prev--title,.elementor-post-navigation .post-navigation__next--title{font-family:var(--fd);font-size:1.05rem}

/* --- largeur de lecture garantie (indépendant des réglages Elementor) --- */
.art-cover,.art-body{max-width:860px;margin-inline:auto;width:100%}
.art-cover img{width:100%;height:auto;border-radius:var(--r-xl);display:block}

/* ============================================================
   Carte « Nouveautés » — Loop Item (Carousel index + Grid archive)
   Style façon maquette .mag-preview (image plein cadre, voile,
   chip catégorie doré, date, titre Fraunces, extrait, « Lire »).
   → À coller dans /assets/luxe.css du thème enfant
     (ou Elementor → Réglages du site → CSS personnalisé).
   Les classes ld-* sont posées sur les widgets du Loop Item.
   ============================================================ */

.ld-newscard{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  min-height:440px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background-size:cover;background-position:center;
  box-shadow:0 18px 40px -18px rgba(20,16,11,.55);
  text-decoration:none;
  transition:transform .5s cubic-bezier(.22,1,.36,1);
}
.ld-newscard:hover{transform:translateY(-5px)}
/* voile dégradé sombre pour lisibilité du texte */
.ld-newscard::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(0deg,rgba(20,16,11,.92),rgba(20,16,11,.15) 62%,transparent);
  transition:opacity .4s;
}
.ld-newscard:hover::after{opacity:.96}
/* le contenu passe au-dessus du voile */
.ld-newscard > .e-con-inner,
.ld-newscard .ld-newscard-body{position:relative;z-index:1}

/* zoom léger de l'image de fond au survol */
.ld-newscard{--_s:1}
.ld-newscard:hover{background-size:106%}

/* chip catégorie */
.ld-cat .elementor-heading-title{
  display:inline-block;
  font-family:'Inter',sans-serif;
  font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:#fff;background:#B97A2B;
  padding:.34rem .8rem;border-radius:999px;
  margin-bottom:.7rem;
}
/* date */
.ld-date .elementor-heading-title{
  font-family:'Inter',sans-serif;
  font-size:.76rem;color:rgba(255,255,255,.75);letter-spacing:.03em;
}
/* titre */
.ld-title .elementor-heading-title{
  font-family:'Fraunces',Georgia,serif;font-weight:400;
  font-size:clamp(1.5rem,1.2rem+1vw,2rem);line-height:1.12;
  color:#fff;margin:.45rem 0 .55rem;
}
/* extrait — 2 lignes max */
.ld-exc,.ld-exc .elementor-widget-container,.ld-exc p{
  color:rgba(255,255,255,.85);
  font-family:'Inter',sans-serif;font-size:.92rem;line-height:1.5;margin:0;
}
.ld-exc .elementor-widget-container{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:.9rem;
}
/* lien « Lire l'article » */
.ld-more .elementor-heading-title{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:'Inter',sans-serif;font-weight:600;font-size:.8rem;
  letter-spacing:.05em;text-transform:uppercase;color:#D79942;
}

/* espace entre les cartes du carrousel/grid (au cas où) */
.elementor-loop-container .ld-newscard{height:100%}

/* Fil d'Ariane — fin, discret, et dégagé du menu en mobile */
.crumb{ font-size:.74rem !important; line-height:1.5; letter-spacing:.05em; margin-bottom:1.15rem; opacity:.85 }
@media(max-width:600px){
  .crumb{ font-size:.7rem !important; margin-bottom:.8rem }
  .fullbleed:has(.crumb), .art-hero:has(.crumb){ padding-top:calc(88px + 1.5rem) !important }
}

/* --- HÉROS ACCUEIL : plein écran (restaure la maquette) --- */
.hero-full{ min-height:100svh !important; align-items:center !important }
.hero-full .inner{ padding-top:120px !important; padding-bottom:90px !important }

/* --- FIL D'ARIANE : petit et discret --- */
.crumb{
  font-size:.74rem !important;
  line-height:1.5;
  letter-spacing:.05em;
  margin-bottom:1.1rem;
  opacity:.85;
}
@media(max-width:600px){ .crumb{ font-size:.7rem !important; margin-bottom:.8rem } }

/* --- FIL D'ARIANE : jamais derrière le menu fixe (tous héros, toutes tailles) --- */
.fullbleed:has(.crumb),
.art-hero:has(.crumb),
.centres-hero:has(.crumb),
.arch-hero:has(.crumb),
.ville:has(.crumb){
  padding-top:calc(88px + 2rem) !important;
}
