/* En-tête unique des 73 pages. Aucune règle d'en-tête ne doit être écrite dans les pages.
   Référence : pages de soin, 95 px de haut à 1440 px, marque de 50 px.
   .nav--clair : version claire posée sur photo (piliers, accueil), pleine au défilement.
   .nav--accueil : voile propre à l'accueil. */
html{scroll-padding-top:calc(var(--nav-h,95px) + 16px)}
.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 48px;gap:30px;background:#fff;border-bottom:1px solid rgba(21,39,31,.10);transition:opacity .5s ease,transform .55s cubic-bezier(.2,.7,.2,1),background .45s ease,padding .45s ease,box-shadow .45s ease}
.nav.hiding{opacity:0;transform:translateY(-16px);pointer-events:none}
.nav.floating{background:#fff;border-bottom:1px solid rgba(21,39,31,.10)}
@media (prefers-reduced-motion:reduce){.nav.hiding{opacity:1;transform:none;pointer-events:auto}}
.brand{display:flex;align-items:center;gap:18px}
.brand .mark{position:relative;width:50px;height:50px;flex:none}
.brand .mark img{width:100%;height:100%;object-fit:contain}
.brand .mark .disc{position:absolute;inset:0}
.brand .mark .disc img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .45s ease}
.brand .mark .logo-d{opacity:0}
.nav.solid .brand .mark .logo-w{opacity:0}
.nav.solid .brand .mark .logo-d{opacity:1}
.brand .wm{display:flex;flex-direction:column;line-height:1.16;gap:4px;color:#0E1512;transition:color .45s ease}
.brand .wm .mx-wm{display:block}
.brand .wm .mx-wm .mx-svg{display:block;width:auto;height:20px}
.brand .wm .svc{font-family:Outfit,"Helvetica Neue",Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;opacity:.62}
.brand .wm .svc .svc-long{white-space:nowrap}
.brand .wm-svg{display:block;width:clamp(148px,16vw,190px);height:auto;color:#0E1512;transition:color .45s ease}
.menu{display:flex;align-items:center;gap:34px}
.menu a,.menu .mm-btn{position:relative;white-space:nowrap;font-size:13px;font-weight:300;letter-spacing:.20em;text-transform:uppercase;color:#0E1512;padding:6px 0 9px;transition:color .3s ease}
.menu a.active,.menu .mm-btn.active{color:#6E2733}
.menu a::after,.menu .mm-btn::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s ease}
.menu a:hover::after,.menu a.active::after,.menu .mm-btn:hover::after,.menu .mm-btn.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:30px}
.nav-tel{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05;color:#1A1712;transition:color .45s ease}
.nav-tel .lbl{font-size:10.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.nav-tel .num{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-top:4px;white-space:nowrap}
.nav-cta{display:inline-flex;align-items:center;gap:11px;background:#6E2733;color:#F1EADB;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:15px 26px;border-radius:980px;transition:background .25s,transform .2s;white-space:nowrap}
.nav-cta .dot{width:6px;height:6px;border-radius:50%;background:#F1EADB;flex:none}
.nav-cta:hover{background:#7d2c3a;color:#F1EADB;transform:translateY(-1px)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer}
.burger span{width:26px;height:2px;background:#0E1512;transition:background .45s ease}

/* Version claire sur photo */
.nav--clair{background:transparent;border-bottom-color:transparent}
.nav--clair:not(.solid)::before{content:"";position:absolute;left:0;right:0;top:0;height:160px;background:linear-gradient(180deg,rgba(14,21,18,.55) 0,rgba(14,21,18,0) 100%);z-index:-1;pointer-events:none}
.nav--clair:not(.solid) .brand .wm,.nav--clair:not(.solid) .brand .wm-svg{color:#fff}
.nav--clair:not(.solid) .brand .wm .svc{opacity:.85}
.nav--clair:not(.solid) .menu a,.nav--clair:not(.solid) .menu .mm-btn{color:rgba(255,255,255,.88)}
.nav--clair:not(.solid) .menu a:hover,.nav--clair:not(.solid) .menu a.active,.nav--clair:not(.solid) .menu .mm-btn:hover,.nav--clair:not(.solid) .menu .mm-btn.active{color:#fff}
.nav--clair:not(.solid) .nav-tel{color:#fff}
.nav--clair:not(.solid) .burger span{background:#fff}
.nav--clair.solid{background:#fff;border-bottom-color:rgba(21,39,31,.10)}
.nav--clair.floating:not(.solid){background:rgb(14,21,18);border-bottom-color:rgba(21,39,31,.10)}
.nav--clair.floating.solid{background:#fff}

/* Accueil : voile léger, transparent aussi en thème clair tant que la barre ne flotte pas */
.nav--accueil:not(.solid)::before{height:190%;background:linear-gradient(180deg,rgba(13,22,17,.34) 0%,rgba(13,22,17,.12) 46%,rgba(13,22,17,0) 100%)}
.nav--accueil.solid:not(.floating){background:transparent;border-bottom-color:transparent}
.nav--accueil.solid:not(.floating)::before{content:"";position:absolute;left:0;right:0;top:0;height:190%;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.28) 46%,rgba(255,255,255,0) 100%)}

@media (max-width:1024px){
.nav{padding:16px 24px}
.menu{display:none}
.burger{display:flex}
.nav-right{gap:18px}
.nav-tel .lbl{font-size:9.5px;letter-spacing:.12em}
.nav-tel .num{font-size:17px}
}
@media (max-width:560px){
.nav-cta{display:none}
.nav-tel .num{font-size:16px}
.brand .wm .svc .svc-long{display:none}
.brand .wm .svc{display:inline;font-size:11px;letter-spacing:.14em}
}
@media (max-width:430px){.nav-tel .num{font-size:15px}}
@media print{.nav{position:static;opacity:1;transform:none}}

/* En-tête des pages internes : fil d'Ariane (parents seuls) et pastille d'état. */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;margin:-10px 0 10px -2px;padding:0;font-family:Outfit,"Helvetica Neue",Arial,sans-serif;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.5;color:rgba(241,234,219,.65)}
.crumb::before{content:none !important;display:none !important}
.crumb a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:rgba(241,234,219,.65);text-decoration:none;text-underline-offset:4px;transition:color .2s}
.crumb a:hover,.crumb a:focus-visible{color:#F1EADB;text-decoration:underline}
.crumb .sep{color:rgba(241,234,219,.4);opacity:1}
.crumb-rond{display:none}
.hero-body .crumb{opacity:1;animation:none}
@media (max-width:599px){
.crumb{margin:-6px 0 14px -2px;gap:0}
.crumb>*:not(.crumb-back){display:none}
.crumb a.crumb-back{gap:12px;min-height:44px;font-size:15px;font-weight:500;color:#F1EADB;text-decoration:none}
.crumb a.crumb-back:hover{text-decoration:none}
.crumb-rond{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(241,234,219,.55);background:transparent;color:#F1EADB;transition:background .15s,border-color .15s,transform .15s}
.crumb-rond svg{display:block}
.crumb-back:hover .crumb-rond{background:rgba(241,234,219,.14);border-color:#F1EADB}
.crumb a.crumb-back:focus-visible{outline:none;text-decoration:none}
.crumb-back:focus-visible .crumb-rond{outline:2px solid #F1EADB;outline-offset:3px}
.crumb-back:active .crumb-rond{transform:scale(.94)}
}
.etat-pastille{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:6px 12px;border-radius:999px;background:rgba(241,234,219,.12);color:#F1EADB;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;line-height:1.3}
.etat-pastille::before{content:"";width:8px;height:8px;border-radius:50%;background:#8FD4A6;flex:0 0 auto}

/* Bandeau : le bouton de rendez-vous reste dans l'écran entre 1025 et 1535 px, le burger sous 400 px */
@media (min-width:1025px) and (max-width:1535px){
.nav{gap:22px}
.nav .menu{gap:28px}
.nav .menu a,.nav .menu .mm-btn{letter-spacing:.12em}
.nav .nav-right{gap:20px}
.nav .nav-cta{padding:13px 20px}
}
@media (min-width:1025px) and (max-width:1439px){.nav .nav-tel .lbl{display:none}.nav{padding-left:32px;padding-right:32px}}
@media (min-width:1025px) and (max-width:1199px){.nav .brand .wm .svc{display:none}.nav .menu{gap:22px}.nav .menu a,.nav .menu .mm-btn{letter-spacing:.08em}}
@media (min-width:1025px) and (max-width:1365px){
.nav{gap:14px;padding-left:24px;padding-right:24px}
.nav .menu{gap:16px}
.nav .menu a,.nav .menu .mm-btn{letter-spacing:.04em}
.nav .nav-right{gap:14px}
.nav .nav-cta{padding:12px 16px;letter-spacing:.06em}
.nav .nav-tel .num{font-size:16px}
}
@media (min-width:1025px) and (max-width:1099px){
.nav{gap:8px;padding-left:18px;padding-right:24px}
.nav .menu{gap:12px}
.nav .menu a,.nav .menu .mm-btn{letter-spacing:.02em}
.nav .nav-right{gap:10px}
.nav .nav-tel .num{font-size:15px}
.nav .nav-cta{padding:12px 14px;letter-spacing:.04em}
.nav .brand .wm .mx-wm .mx-svg{height:18px}
}
@media (max-width:399px){
.nav{gap:10px;padding-left:12px;padding-right:12px}
.nav .nav-right{gap:10px}
.nav .nav-tel .lbl{display:none}
.nav .nav-tel .num{font-size:15px;margin-top:0}
.nav .burger{padding:15px 9px;margin:-15px -9px;box-sizing:content-box}
.nav .brand{gap:10px;min-width:0}
}
