/* Mon Cabinet Dentaire — feuille de style unique. Monochrome noir / papier / grège, profondeur 3D. */
@font-face{font-family:"Marcellus";src:url(/assets/polices/marcellus-latin.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/assets/polices/source-sans-3-latin-var.woff2) format("woff2");font-weight:200 900;font-display:swap}
:root{
  --noir:#0e0e0e;--encre:#1c1c1c;--blanc:#fff;--papier:#faf8f5;--greige:#e0dbd5;--taupe:#6b645c;--filet:#d8d2ca;--ivoire:#f3ede3;--fume:#a39c93;
  --titre:"Marcellus",Georgia,"Times New Roman",serif;--texte:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:16px;--ombre:0 30px 60px -20px rgba(0,0,0,.45),0 12px 24px -12px rgba(0,0,0,.35);
  --larg:1240px;--gout:clamp(16px,4vw,40px);--hdr:76px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papier);color:var(--encre);font:400 1.0625rem/1.65 var(--texte);overflow-x:hidden}
img,video,canvas{display:block;max-width:100%}
video{height:auto}
picture{display:block}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
h1,h2,h3{font-family:var(--titre);font-weight:400;line-height:1.15;letter-spacing:.005em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5.2vw,4rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem)}
h3{font-size:clamp(1.2rem,2vw,1.45rem)}
p{margin:0 0 1em}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
.evitement{position:absolute;left:-999px;top:8px;z-index:100;background:var(--papier);color:var(--noir);padding:10px 16px;border-radius:8px}
.evitement:focus{left:8px}
.masque{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.centre{text-align:center}

/* boutons */
.bouton{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid currentColor;text-decoration:none;font-weight:600;font-size:.98rem;letter-spacing:.01em;transition:transform .25s cubic-bezier(.2,.7,.2,1),background-color .25s,color .25s,box-shadow .25s}
.bouton:hover{transform:translateY(-2px)}
.bouton-plein{background:var(--ivoire);color:var(--noir);border-color:var(--ivoire);box-shadow:0 10px 30px -12px rgba(243,237,227,.5)}
.bouton-clair{background:transparent;color:var(--ivoire);border-color:rgba(243,237,227,.7)}
.bouton-clair:hover{background:rgba(243,237,227,.08)}
.bouton-sombre{background:var(--noir);color:var(--ivoire);border-color:var(--noir)}
.bouton-petit{min-height:44px;padding:0 18px;font-size:.92rem;background:var(--noir);color:var(--ivoire);border-color:var(--noir)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6em}

/* en-tête */
.entete{position:fixed;inset:0 0 auto;z-index:50;color:var(--ivoire);transition:background-color .3s,box-shadow .3s}
.entete.plein,.entete:focus-within,.entete.ouvert{background:rgba(14,14,14,.96);box-shadow:0 1px 0 rgba(243,237,227,.08)}
.entete-in{max-width:1440px;margin:0 auto;height:var(--hdr);display:flex;align-items:center;gap:20px;padding:0 var(--gout)}
.logo img{width:auto;height:46px}
.nav{flex:1;display:flex;justify-content:center}
.nav-liste{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav-lien{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border:0;background:none;border-radius:999px;text-decoration:none;font-size:.98rem;cursor:pointer;color:inherit}
.nav-lien svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .25s}
.nav-lien[aria-expanded=true] svg{transform:rotate(180deg)}
.nav-lien:hover,.nav-lien[aria-expanded=true],.nav-lien[aria-current]{background:rgba(243,237,227,.1)}
.a-panneau{position:static}
.panneau{position:absolute;left:50%;top:calc(var(--hdr) - 6px);width:min(1100px,calc(100vw - 32px));transform:translateX(-50%);background:var(--noir);border:1px solid rgba(243,237,227,.12);border-radius:22px;padding:22px;box-shadow:0 40px 80px -30px rgba(0,0,0,.7);display:none;perspective:1200px}
.panneau.ouvert{display:block}
.panneau-tete{margin-bottom:14px}
.panneau-grille{display:grid;gap:14px}
.g-spec{grid-template-columns:repeat(4,1fr)}
.carte-menu{display:grid;grid-template-rows:auto auto 1fr;border-radius:14px;overflow:hidden;background:#171717;text-decoration:none;border:1px solid rgba(243,237,227,.08);transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .2s ease-out,border-color .2s}
.carte-menu:hover{border-color:rgba(243,237,227,.35)}
.cm-img{aspect-ratio:16/9;overflow:hidden;background:#222}
.cm-img img,.mini img,.pm-img img{width:100%;height:100%;object-fit:cover}
.cm-t{font-family:var(--titre);font-size:1.15rem;padding:12px 14px 2px}
.cm-s{font-size:.9rem;color:#cfc8bf;padding:0 14px 14px;line-height:1.4}
.g-trait{grid-template-columns:1fr 1.6fr 1fr}
.groupe ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.groupe a{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;text-decoration:none}
.groupe a:hover{background:rgba(243,237,227,.08)}
.groupe-t{font-family:var(--titre);font-size:1.05rem;color:var(--fume);margin:4px 8px 10px}
.mini{flex:none;width:52px;height:40px;border-radius:8px;overflow:hidden;background:#222}
.mini.rond{width:44px;height:44px;border-radius:50%}
.g-prat{grid-template-columns:repeat(4,1fr)}
.prat-menu{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;text-decoration:none}
.prat-menu:hover{background:rgba(243,237,227,.08)}
.pm-img{flex:none;width:52px;height:52px;border-radius:50%;overflow:hidden;background:#222}
.pm-img img{object-position:50% 20%}
.pm-n{display:block;font-weight:600}
.pm-o{display:block;font-size:.88rem;color:#cfc8bf}
.entete-actions{display:flex;align-items:center;gap:10px}
.langue{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(243,237,227,.35);text-decoration:none;font-size:.85rem;font-weight:600}
.tel{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 6px;text-decoration:none;white-space:nowrap}
.tel svg,.appel-flottant svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.entete-rdv{min-height:44px}
.burger{display:none;width:48px;height:48px;border:1px solid rgba(243,237,227,.35);border-radius:50%;background:none;cursor:pointer;position:relative}
.burger span{position:absolute;left:14px;right:14px;height:1.5px;background:currentColor;transition:transform .25s}
.burger span:first-child{top:19px}.burger span:last-child{top:27px}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.menu-mobile{position:fixed;inset:var(--hdr) 0 0;z-index:49;background:var(--noir);color:var(--ivoire);overflow-y:auto;padding:12px var(--gout) 40px}
.menu-mobile[hidden]{display:none}
.mm-lien{display:flex;justify-content:space-between;align-items:center;min-height:56px;font-family:var(--titre);font-size:1.4rem;text-decoration:none;border-bottom:1px solid rgba(243,237,227,.1);cursor:pointer;list-style:none}
.mm-lien::-webkit-details-marker{display:none}
details>summary.mm-lien::after{content:"+";font-family:var(--texte);font-size:1.4rem;color:var(--fume)}
details[open]>summary.mm-lien::after{content:"−"}
.mm-cartes{display:grid;gap:4px;padding:8px 0 14px}
.mm-cartes a{display:flex;align-items:center;gap:12px;min-height:52px;text-decoration:none;padding:4px 0}
.mm-cartes small{display:block;color:var(--fume);font-size:.85rem}
.mm-actions{display:grid;gap:12px;margin-top:22px}
.mm-langue{text-align:center;padding:12px;color:var(--fume)}
@media (max-width:1180px){.tel span{display:none}.nav-lien{padding:0 10px}}
@media (max-width:1020px){.nav,.entete-rdv,.tel{display:none}.burger{display:block}.entete-in{justify-content:space-between}.logo img{height:40px}}

/* 3D : cadres, cartes, inclinaison */
[data-tilt]{--rx:0deg;--ry:0deg}
.cadre-3d{border-radius:var(--r);overflow:hidden;box-shadow:var(--ombre);background:#222}
.cadre-3d picture{height:100%}
.cadre-3d img{width:100%;height:100%;object-fit:cover}

/* premier écran de l'accueil */
.heros{position:relative;min-height:100svh;display:flex;align-items:center;background:radial-gradient(120% 90% at 75% 40%,#2a2724 0%,#141312 45%,var(--noir) 75%);color:var(--ivoire);overflow:hidden;isolation:isolate}
.heros-sol{position:absolute;left:-50%;right:-50%;bottom:-6%;height:62%;z-index:-1;transform:perspective(520px) rotateX(72deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(243,237,227,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(243,237,227,.28) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(to top,#000 20%,transparent 90%);mask-image:linear-gradient(to top,#000 20%,transparent 90%)}
.heros-sol::after{content:"";position:absolute;inset:0;background:inherit;animation:sol 14s linear infinite}
@keyframes sol{to{transform:translateY(64px)}}
.visage3d{position:absolute;right:max(-80px,calc(50vw - 780px));top:50%;width:min(80vmin,720px);height:min(80vmin,720px);transform:translateY(-48%);z-index:-1}
.heros-in{width:100%;max-width:var(--larg);margin:0 auto;padding:calc(var(--hdr) + 40px) var(--gout) 90px}
.heros h1{font-size:clamp(2.6rem,6.4vw,5.2rem);text-shadow:0 2px 30px rgba(0,0,0,.6);margin-bottom:.35em}
.h1-sous{display:block;font-size:.42em;letter-spacing:.02em;color:#d8d1c7;margin-top:.35em}
.surtitre{font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fume);margin-bottom:1.2em}
.heros .chapo{max-width:46ch;font-size:1.2rem;color:#e6dfd5}
.puces-info{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:28px 0 0}
.puces-info li{padding:8px 14px;border:1px solid rgba(243,237,227,.2);border-radius:999px;font-size:.92rem;background:rgba(14,14,14,.45)}
.puces-info a{text-decoration:none}
.defiler{position:absolute;left:50%;bottom:22px;width:28px;height:46px;margin-left:-14px;border:1px solid rgba(243,237,227,.45);border-radius:20px}
.defiler span{position:absolute;left:50%;top:9px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--ivoire);animation:roulette 1.8s ease-in-out infinite}
@keyframes roulette{50%{transform:translateY(12px);opacity:.3}}
@media (max-width:760px){.visage3d{right:-18vw;width:100vw;height:100vw;opacity:.42;transform:translateY(-60%)}.heros h1{font-size:2.35rem}}

/* sections */
.section-tete{max-width:var(--larg);margin:0 auto 34px;padding:0 var(--gout)}
.intro{padding:clamp(70px,10vw,130px) var(--gout)}
.intro-in{max-width:var(--larg);margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6vw,80px);align-items:center}
.intro-texte h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
.intro-media{position:relative;perspective:1400px;aspect-ratio:5/4;transform-style:preserve-3d}
.intro-media .couche-1{position:absolute;inset:0 12% 14% 0;transform:rotateY(calc(-14deg + var(--ry))) rotateX(calc(5deg + var(--rx)));transition:transform .3s ease-out}
.intro-media .couche-2{position:absolute;width:46%;aspect-ratio:4/3;right:0;bottom:0;transform:translateZ(90px) rotateY(calc(-8deg + var(--ry))) rotateX(var(--rx));transition:transform .3s ease-out;border:6px solid var(--papier)}
@media (max-width:860px){.intro-in{grid-template-columns:1fr}}

.specialites{padding:clamp(70px,9vw,120px) 0;background:linear-gradient(180deg,var(--papier),#efebe5)}
.cartes-3d{max-width:var(--larg);margin:0 auto;padding:0 var(--gout);display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;perspective:1600px}
.carte-3d{position:relative;display:flex;flex-direction:column;min-height:330px;border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ivoire);background:var(--noir);box-shadow:var(--ombre);transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out,box-shadow .25s}
.carte-3d:hover{box-shadow:0 50px 80px -30px rgba(0,0,0,.6)}
.c3-img{position:absolute;inset:0}
.c3-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.carte-3d:hover .c3-img img{transform:scale(1.12)}
.c3-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,.05) 25%,rgba(14,14,14,.88) 100%)}
.c3-num{position:relative;margin:18px 20px 0;font-family:var(--titre);font-size:.95rem;color:#d8d1c7;transform:translateZ(30px)}
.c3-t{position:relative;margin:auto 20px 4px;font-family:var(--titre);font-size:1.6rem;transform:translateZ(60px)}
.c3-s{position:relative;margin:0 20px 22px;font-size:.98rem;line-height:1.45;color:#e8e1d7;transform:translateZ(40px)}
.cartes-3d.c7 .carte-3d:first-child{grid-column:span 2}
@media (max-width:620px){.cartes-3d.c7 .carte-3d:first-child{grid-column:auto}.carte-3d{min-height:280px}}

.film{background:var(--noir);color:var(--ivoire);padding:clamp(70px,9vw,120px) var(--gout);display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(24px,5vw,60px);align-items:center}
.film-scene{perspective:1200px}
.film-cadre{border-radius:20px;overflow:hidden;box-shadow:0 60px 100px -40px rgba(0,0,0,.9),0 0 0 1px rgba(243,237,227,.12);transform:rotateX(var(--fx,18deg)) scale(var(--fs,.94));transform-origin:50% 100%;background:#111}
.film-cadre video{width:100%;aspect-ratio:16/9;object-fit:cover}
.film-texte{max-width:420px}
.film-scene.seul{max-width:1100px;margin:30px auto 0;padding:0 var(--gout) 70px}
@media (max-width:860px){.film{grid-template-columns:1fr}}

.equipe-accueil{padding:clamp(70px,9vw,120px) 0;overflow:hidden}
.equipe-texte{max-width:var(--larg);margin:0 auto 26px;padding:0 var(--gout);columns:2 380px;column-gap:50px}
.equipe-texte .liste{break-inside:avoid}
.defileur{position:relative;perspective:1400px}
.portraits{list-style:none;margin:0;padding:10px var(--gout) 30px;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;transform-style:preserve-3d}
.defileur .portraits li{flex:0 0 clamp(190px,22vw,250px);scroll-snap-align:center;transition:transform .35s ease-out;transform:rotateY(var(--py,0deg)) translateZ(var(--pz,0px))}
.portrait{display:block;text-decoration:none}
.po-img{display:block;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--noir);box-shadow:0 26px 40px -24px rgba(0,0,0,.6)}
.po-img img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform .5s}
.portrait:hover .po-img img{transform:scale(1.05)}
.po-n{display:block;margin-top:12px;font-family:var(--titre);font-size:1.18rem}
.po-o{display:block;color:var(--taupe);font-size:.95rem}
.defileur-btns{display:flex;gap:10px;justify-content:center}
.defileur-btns button{width:48px;height:48px;border-radius:50%;border:1px solid var(--filet);background:var(--blanc);font-size:1.4rem;cursor:pointer}
.portraits.petits{flex-wrap:wrap;overflow:visible;justify-content:center;max-width:var(--larg);margin:0 auto}
.portraits.petits li{flex:0 0 150px}
.portraits.petits .po-n{font-size:1rem}

.valeurs{background:#efebe5;padding:clamp(70px,9vw,120px) var(--gout)}
.valeurs-in{max-width:var(--larg);margin:0 auto;columns:2 420px;column-gap:60px}
.valeurs-in h2,.valeurs-in h3{break-after:avoid}
.valeurs-in h2{font-size:1.7rem;margin-top:.4em}
.valeurs-in .liste{break-inside:avoid}

.visite-accueil{padding:clamp(70px,9vw,120px) 0;background:var(--noir);color:var(--ivoire);overflow:hidden}
.anneau-scene{--w:280px;--n:12;--rayon:calc(var(--w) * 1.95);height:calc(var(--w) * .8 + 120px);perspective:1500px;display:grid;place-items:center;margin:20px 0 34px;touch-action:pan-y;cursor:grab}
.anneau{position:relative;width:var(--w);height:calc(var(--w) * .66);transform-style:preserve-3d;transform:translateZ(calc(var(--rayon) * -1)) rotateX(-6deg) rotateY(var(--a,0deg))}
.anneau-f{position:absolute;inset:0;margin:0;border-radius:14px;overflow:hidden;box-shadow:0 20px 40px -20px rgba(0,0,0,.9);transform:rotateY(calc(var(--i) * 360deg / var(--n))) translateZ(var(--rayon));backface-visibility:hidden;border:1px solid rgba(243,237,227,.15)}
.anneau-f img{width:100%;height:100%;object-fit:cover}
.anneau-scene.grand{--w:340px}
@media (max-width:700px){.anneau-scene{--w:180px}.anneau-scene.grand{--w:200px}}
.anneau-scene.plat{height:auto;perspective:none;cursor:auto}
.anneau-scene.plat .anneau{transform:none;width:auto;height:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;max-width:var(--larg);padding:0 var(--gout)}
.anneau-scene.plat .anneau-f{position:static;transform:none;aspect-ratio:3/2}

/* pages intérieures */
.tete-page{position:relative;background:radial-gradient(110% 120% at 80% 30%,#2a2724,var(--noir) 70%);color:var(--ivoire);padding:calc(var(--hdr) + 40px) var(--gout) clamp(50px,7vw,90px);overflow:hidden;isolation:isolate}
.tete-grille{position:absolute;left:-40%;right:-40%;bottom:-10%;height:70%;z-index:-1;transform:perspective(480px) rotateX(74deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(243,237,227,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(243,237,227,.12) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(to top,#000,transparent 80%);mask-image:linear-gradient(to top,#000,transparent 80%)}
.tete-in{max-width:var(--larg);margin:0 auto;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
.tete-in.une-col{grid-template-columns:1fr}
.tete-texte .chapo{font-size:1.15rem;color:#e2dbd1;max-width:56ch}
.tete-media{perspective:1300px}
.tete-media .cadre-3d{aspect-ratio:4/3;transform:rotateY(calc(-16deg + var(--ry))) rotateX(calc(6deg + var(--rx)));transition:transform .3s ease-out;background:var(--papier)}
.tete-media .cadre-3d img{object-fit:cover}
.portrait-3d .cadre-3d{aspect-ratio:4/5;max-width:420px;margin-left:auto;background:var(--noir)}
.portrait-3d .cadre-3d img{object-position:50% 20%}
@media (max-width:860px){.tete-in{grid-template-columns:1fr}.tete-media .cadre-3d{transform:rotateY(-8deg) rotateX(4deg)}.portrait-3d .cadre-3d{margin:0 auto;max-width:300px}}
.ariane ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 18px;padding:0;font-size:.9rem;color:var(--fume)}
.ariane li+li::before{content:"/";margin-right:6px;opacity:.6}
.ariane a{text-decoration:none}
.ariane a:hover{text-decoration:underline}

.article-grille{max-width:var(--larg);margin:0 auto;padding:clamp(50px,7vw,90px) var(--gout);display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:start}
.article-grille>.article:only-child{grid-column:1/-1;max-width:760px;margin:0 auto;width:100%}
.sommaire{position:sticky;top:calc(var(--hdr) + 20px);font-size:.95rem;max-height:calc(100vh - var(--hdr) - 40px);overflow:auto}
.sommaire summary{font-family:var(--titre);font-size:1.15rem;cursor:pointer;margin-bottom:8px}
.sommaire ol{margin:0;padding-left:0;list-style:none;display:grid;gap:6px;color:var(--taupe)}
.sommaire a{text-decoration:none}
.sommaire a:hover{color:var(--noir);text-decoration:underline}
.article{max-width:72ch}
.article h2{margin-top:1.6em;padding-top:.2em;scroll-margin-top:calc(var(--hdr) + 20px)}
.article h3{margin-top:1.3em}
.article p,.article li{color:#2a2826}
.liste{padding-left:1.1em;margin:0 0 1.2em}
.liste li{margin:.35em 0}
.article .liste{max-width:68ch}
.liste li::marker{color:var(--taupe)}
@media (max-width:900px){.article-grille{grid-template-columns:1fr}.sommaire{position:static;max-height:none;border:1px solid var(--filet);border-radius:14px;padding:14px 16px}}
.votre-praticien{display:flex;gap:20px;align-items:center;margin-top:40px;padding:18px;border-radius:20px;background:var(--noir);color:var(--ivoire);box-shadow:var(--ombre);transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out}
.vp-img{flex:none;width:110px;aspect-ratio:4/5;border-radius:12px;overflow:hidden}
.vp-img img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.votre-praticien p{margin:0;color:var(--ivoire)}
.vp-sur{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fume)!important}
.vp-n{font-family:var(--titre);font-size:1.4rem}
.vp-n a{text-decoration:none}
.proches{padding:clamp(50px,7vw,90px) 0;background:#efebe5}
.proches h2{max-width:var(--larg);margin:0 auto 26px;padding:0 var(--gout)}

.grille-equipe{padding:clamp(50px,7vw,90px) var(--gout)}
.portraits.grand{max-width:var(--larg);margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:30px 22px;overflow:visible;perspective:1500px}
.carte-prat{display:grid;gap:12px;align-content:start;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out}
.carte-prat .bouton-petit{justify-self:start}
.infos-rdv{max-width:var(--larg);margin:0 auto;padding:0 var(--gout) clamp(50px,7vw,90px);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;perspective:1400px}
.info-carte{padding:24px;border-radius:20px;background:var(--blanc);border:1px solid var(--filet);box-shadow:0 20px 40px -30px rgba(0,0,0,.4);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out}
.info-carte h2{font-size:1.35rem}

.galerie{padding:clamp(50px,7vw,90px) var(--gout)}
.galerie-grille{list-style:none;margin:0 auto;padding:0;max-width:var(--larg);display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;perspective:1600px}
.galerie-grille li{transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out}
.galerie-grille figure{margin:0}
.galerie-grille picture{aspect-ratio:3/2;border-radius:16px;overflow:hidden;box-shadow:var(--ombre)}
.galerie-grille img{width:100%;height:100%;object-fit:cover}
.galerie-grille figcaption{font-size:.92rem;color:var(--taupe);margin-top:10px}

/* bandeau rendez-vous et pied de page */
.bandeau-rdv{position:relative;overflow:hidden;background:var(--noir);color:var(--ivoire);padding:clamp(70px,9vw,110px) var(--gout);isolation:isolate;border-top:1px solid rgba(243,237,227,.08)}
.bandeau-scene{position:absolute;inset:0;z-index:-1;perspective:900px;display:grid;place-items:center}
.bandeau-scene span{position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(243,237,227,.14);transform:rotateX(70deg) rotateZ(0deg);animation:orbite 40s linear infinite}
.bandeau-scene span:nth-child(2){width:760px;height:760px;animation-duration:60s;animation-direction:reverse}
.bandeau-scene span:nth-child(3){width:1020px;height:1020px;animation-duration:90s;border-style:dashed}
@keyframes orbite{to{transform:rotateX(70deg) rotateZ(360deg)}}
.bandeau-in{max-width:760px;margin:0 auto;text-align:center}
.bandeau-in .actions{justify-content:center}
.bandeau-in p{color:#d8d1c7}
.pied{background:#0a0a0a;color:#d8d1c7;padding:60px var(--gout) 24px;font-size:.98rem}
.pied-in{max-width:var(--larg);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px}
.pied img{width:170px;height:auto;margin-bottom:14px}
.pied-t{font-family:var(--titre);color:var(--ivoire);font-size:1.15rem}
.pied ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pied a{text-decoration:none}
.pied a:hover{text-decoration:underline;color:var(--ivoire)}
.pied-bas{max-width:var(--larg);margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(243,237,227,.1);font-size:.88rem;color:#8d867d}
@media (max-width:860px){.pied-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pied-in{grid-template-columns:1fr}}
.appel-flottant{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;width:52px;height:52px;border-radius:50%;display:none;place-items:center;background:rgba(14,14,14,.92);color:var(--ivoire);border:1px solid rgba(243,237,227,.5);box-shadow:0 12px 30px -10px rgba(0,0,0,.6);transition:transform .3s,opacity .3s}
.appel-flottant svg{width:22px;height:22px}
@media (max-width:1020px) and (pointer:coarse),(max-width:760px){.appel-flottant{display:grid}}
.appel-flottant.cache{transform:translateY(90px);opacity:0;pointer-events:none}

@media (prefers-reduced-motion:reduce){
  .heros-sol::after,.bandeau-scene span,.defiler span{animation:none}
  [data-tilt],.carte-3d,.tete-media .cadre-3d{transition:none}
  .film-cadre{transform:none}
}

/* premier écran vidéo (visite du cabinet) */
.heros-video{background:var(--noir)}
.heros-fond{position:absolute;inset:0;z-index:-2;overflow:hidden}
.heros-film{width:100%;height:100%;object-fit:cover}
.heros-voile{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,10,10,.86) 0%,rgba(10,10,10,.62) 38%,rgba(10,10,10,.18) 70%,rgba(10,10,10,.05) 100%),linear-gradient(0deg,rgba(10,10,10,.75) 0%,transparent 35%)}
@media (max-width:760px){.heros-voile{background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.55) 45%,rgba(10,10,10,.92) 100%)}.heros-video .heros-in{align-self:flex-end;padding-bottom:70px}}

/* visuel latéral : visage du logo sculpté en 3D */
.cabinet-3d{position:relative;background:radial-gradient(90% 70% at 78% 40%,#24211e 0%,#121110 55%,var(--noir) 100%);color:var(--ivoire);padding:clamp(70px,9vw,130px) var(--gout)}
.cabinet-3d-in{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.cabinet-texte p,.cabinet-texte li{color:#e2dbd1}
.cabinet-texte .liste li::marker{color:var(--fume)}
.cabinet-texte h2{font-size:clamp(1.9rem,3.6vw,2.8rem)}
.cabinet-texte h3{color:var(--ivoire);margin-top:1.4em}
.cabinet-texte .equipe-texte{columns:auto;padding:0;margin:0 0 30px}
.cabinet-scene{position:relative}
.cabinet-scene canvas{width:100%;aspect-ratio:1;max-height:min(84vh,760px);margin:0 auto}
.cabinet-signature{font-family:var(--titre);font-size:1.25rem;color:var(--ivoire)!important;border-left:1px solid rgba(243,237,227,.4);padding-left:16px;margin:26px 0 28px}
.cabinet-3d .visage3d{position:static;width:100%;height:100%;transform:none;opacity:1;cursor:grab;touch-action:pan-y}
.scene-legende{position:static;margin:6px 0 0;text-align:center;font-family:var(--titre);letter-spacing:.32em;text-transform:uppercase;font-size:.82rem;color:var(--fume)}
@media (max-width:860px){.cabinet-3d-in{grid-template-columns:1fr}.cabinet-scene{order:2;width:min(100%,460px);margin:0 auto}}

/* apparition du logo (en haut à gauche) : dévoilement + reflet, une seule fois */
.logo{position:relative;display:inline-block;overflow:hidden;border-radius:4px}
.logo::after{content:"";position:absolute;inset:-20% auto -20% -60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,250,240,.55),transparent);transform:skewX(-18deg) translateX(-120%);pointer-events:none;opacity:0}
.logo.reflet::after{animation:reflet 1.3s .9s cubic-bezier(.3,.6,.2,1) 1}
@keyframes reflet{0%{opacity:1;transform:skewX(-18deg) translateX(-120%)}100%{opacity:0;transform:skewX(-18deg) translateX(520%)}}

/* éléments qui apparaissent au défilement (classe posée par le script, jamais sans lui) */
.a-venir{opacity:0}
@media (prefers-reduced-motion:reduce){.a-venir{opacity:1}.logo.reflet::after{animation:none}}

/* accès au cabinet (fin de l'accueil) */
.acces{background:var(--papier);padding:clamp(70px,9vw,120px) var(--gout)}
.acces-in{max-width:var(--larg);margin:0 auto}
.acces .section-tete{padding:0;margin-bottom:30px}
.acces-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,50px);align-items:stretch}
.acces-photo{margin:0 0 22px;transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .25s ease-out}
.acces-photo picture{aspect-ratio:16/7;border-radius:18px;overflow:hidden;box-shadow:var(--ombre)}
.acces-photo img{width:100%;height:100%;object-fit:cover}
.acces-photo figcaption{font-size:.92rem;color:var(--taupe);margin-top:10px}
.acces-nom{font-family:var(--titre);font-size:1.5rem;margin-bottom:.3em}
.acces-liens{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 24px}
.bouton-contour{background:transparent;color:var(--noir);border-color:var(--filet)}
.bouton-contour:hover{border-color:var(--noir)}
.ico{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.acces-resume{margin:0;display:grid;gap:12px;border-top:1px solid var(--filet);padding-top:18px}
.acces-resume div{display:grid;grid-template-columns:120px 1fr;gap:12px}
.acces-resume dt{font-weight:600}
.acces-resume dd{margin:0;color:#3a3734}
.carte-zone{position:relative;min-height:460px;border-radius:22px;overflow:hidden;background:repeating-linear-gradient(115deg,#ece7e0 0 2px,transparent 2px 46px),repeating-linear-gradient(25deg,#ece7e0 0 2px,transparent 2px 70px),#f4f1ec;box-shadow:var(--ombre);display:grid;place-items:center}
.carte-contenu{text-align:center;padding:30px;max-width:380px}
.carte-titre{font-family:var(--titre);font-size:1.4rem}
.carte-zone .mention{font-size:.85rem;color:var(--taupe);margin-top:14px}
.carte-zone iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.02);opacity:0;transition:opacity .6s}
.carte-zone iframe.est-charge{opacity:1}
@media (max-width:900px){.acces-grille{grid-template-columns:1fr}.carte-zone{min-height:360px}.acces-resume div{grid-template-columns:1fr;gap:2px}}
.acces-entete{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 8px;text-decoration:none;white-space:nowrap}
.acces-entete svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4}
@media (max-width:1180px){.acces-entete span{display:none}}
@media (max-width:1020px){.acces-entete{display:none}}

/* diaporama plein écran : fondus lents d'une photo à l'autre */
.diaporama{position:relative;height:100svh;min-height:520px;overflow:hidden;background:var(--noir);color:var(--ivoire);isolation:isolate}
.diapos,.diapo{position:absolute;inset:0}
.diapo{opacity:0;transition:opacity 3.2s cubic-bezier(.4,0,.2,1)}
.diapo.active{opacity:1}
.diapo picture,.diapo img{width:100%;height:100%;object-fit:cover}
.diapo img{transform:scale(1.02);transition:transform 11s linear}
.diapo.active img{transform:scale(1.1)}
.diaporama-voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,0) 30%,rgba(10,10,10,.1) 50%,rgba(10,10,10,.82) 100%)}
.diaporama-texte{position:absolute;left:0;right:0;bottom:0;max-width:var(--larg);margin:0 auto;padding:0 var(--gout) clamp(40px,7vh,80px)}
.diaporama-texte h2{font-size:clamp(2rem,4.5vw,3.4rem)}
.p-visite .diaporama{height:88svh}
@media (max-width:760px){.diaporama{height:86svh}}
@media (prefers-reduced-motion:reduce){.diapo,.diapo img{transition:none}.diapo.active img{transform:none}}
/* les photos remplissent toujours leur cadre */
.tete-media .cadre-3d,.cadre-3d picture,.cadre-3d img,.galerie-grille picture,.galerie-grille img,.c3-img picture,.c3-img img,.po-img picture,.po-img img{width:100%;height:100%}

/* ===== Direction v3 (16/10, 17 h 44) : noir → beige de la peinture du cabinet, typographie du site du Docteur Hazout ===== */
@font-face{font-family:"Cormorant Garamond";src:url(/assets/polices/cormorant-garamond-latin-var.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/polices/cormorant-garamond-italic-latin-var.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant repli";src:local("Times New Roman"),local("Liberation Serif"),local("Georgia");size-adjust:96.4%;ascent-override:95.5%;descent-override:30.1%}
:root{
  --noir:#0b0a09;--creme:#f5efe4;--beige:#d6cec2;--beige-clair:#e2dbd0;--encre:#1b1815;--taupe:#574f46;--filet-clair:rgba(27,24,21,.18);
  --titre:"Cormorant Garamond","Cormorant repli",Garamond,serif;--ivoire:#f5efe4;--papier:#d6cec2
}
html{background:var(--beige)}
body{background:var(--beige);color:var(--encre)}
h1,h2,h3{font-family:var(--titre);font-weight:500;letter-spacing:0;line-height:1.08}
h1{font-size:clamp(2.6rem,6vw,4.8rem)}
h2{font-size:clamp(2rem,3.6vw,3rem)}
h3{font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:600}
.surtitre{font-family:var(--titre);font-style:italic;font-size:1.2rem;letter-spacing:0;text-transform:none;color:inherit;opacity:.78;margin-bottom:.4em}
.h1-sous{font-style:italic;font-weight:400;font-size:.46em;color:#e9e1d4}
.heros h1{font-size:clamp(3rem,7vw,6rem);font-weight:500}
.heros .chapo{color:var(--creme)}
/* rendez-vous discret (petit encadré, comme le lien Doctolib du site du Docteur Hazout) */
.rdv-discret{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid currentColor;border-radius:6px;text-decoration:none;font-size:.86rem;font-weight:600;letter-spacing:.01em;opacity:.92;transition:background-color .2s,opacity .2s}
.rdv-discret:hover{opacity:1;background:rgba(245,239,228,.1)}
.rdv-discret svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3}
.actions-discretes{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:1.4em}
.lien-tel{text-decoration:none;font-weight:600;opacity:.9}
.lien-fleche{font-weight:600;text-decoration:underline;text-underline-offset:.25em}
/* fonds : sections sombres pleines, puis long dégradé, puis beige */
.cabinet-3d{background:var(--noir)}
.degrade-long{background:linear-gradient(180deg,#0b0a09 0%,#110f0e 10%,#201e1c 20%,#373431 30%,#524f4a 40%,#706c66 50%,#8f8981 60%,#aaa49a 70%,#c1baaf 80%,#d0c9bd 90%,#d6cec2 100%)}
.specialites{background:none;color:var(--creme)}
.specialites .section-tete{color:var(--creme)}
.diaporama{background:#373431}
.implant-num{padding:clamp(70px,9vw,120px) var(--gout);color:var(--encre)}
.implant-in{max-width:var(--larg);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:center}
.implant-video{border-radius:18px;overflow:hidden;box-shadow:0 40px 70px -35px rgba(0,0,0,.55);transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .3s ease-out;background:#111}
.implant-video video{width:100%;aspect-ratio:16/9;object-fit:cover}
@media (max-width:860px){.implant-in{grid-template-columns:1fr}}
.equipe-accueil,.valeurs,.acces,.proches,.galerie,.grille-equipe,.infos-rdv{background:none}
.po-o,.acces-photo figcaption,.galerie-grille figcaption,.carte-zone .mention{color:var(--taupe)}
.defileur-btns button{background:var(--beige-clair);border-color:var(--filet-clair);color:var(--encre)}
.info-carte{background:var(--beige-clair);border-color:var(--filet-clair)}
.carte-zone{background:repeating-linear-gradient(115deg,rgba(27,24,21,.06) 0 2px,transparent 2px 46px),repeating-linear-gradient(25deg,rgba(27,24,21,.06) 0 2px,transparent 2px 70px),var(--beige-clair)}
.bouton-contour{color:var(--encre);border-color:rgba(27,24,21,.35)}
.bouton-sombre{background:var(--encre);color:var(--creme);border-color:var(--encre)}
.acces-resume{border-top-color:var(--filet-clair)}
.acces-resume dd,.article p,.article li{color:#2a2622}
.sommaire ol{color:var(--taupe)}
.sommaire{border-color:var(--filet-clair)}
/* pages intérieures : en-tête noir qui se fond lentement dans le beige */
.tete-page{background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 38%,#110f0e 44%,#201e1c 50%,#373431 56%,#524f4a 62%,#706c66 68%,#8f8981 74%,#aaa49a 81%,#c1baaf 88%,#d0c9bd 94%,#d6cec2 100%);padding-bottom:clamp(120px,22vh,240px)}
.tete-grille{display:none}
.tete-in{align-items:start}
.tete-texte{padding-top:2vh}
.tete-texte .chapo{color:#e6dfd3}
.tete-media .cadre-3d{aspect-ratio:4/3.2}
.votre-praticien{background:var(--noir)}
/* pied de page beige, texte foncé */
.pied{background:none;color:var(--encre);border-top:1px solid var(--filet-clair)}
.pied-t{color:var(--encre)}
.pied a:hover{color:var(--noir)}
.pied-logo{filter:invert(1) brightness(.12) sepia(.3)}
.pied-bas{color:var(--taupe);border-top-color:var(--filet-clair)}
.pied-rdv{max-width:var(--larg);margin:30px auto 0;color:var(--encre)}
.pied-rdv .rdv-discret:hover{background:rgba(27,24,21,.06)}
.appel-flottant{background:rgba(11,10,9,.92)}
.entete.plein,.entete:focus-within,.entete.ouvert{background:#0b0a09}
.bouton-plein{background:var(--creme);border-color:var(--creme);color:var(--noir)}
.cadre-3d video{width:100%;height:100%;object-fit:cover}

/* en-tête : rendez-vous simple (icône + mot), sans cadre ; téléphone : menu à gauche, logo centré, rendez-vous à droite */
.rdv-entete{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 4px;text-decoration:none;font-size:.95rem;white-space:nowrap}
.rdv-entete svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.rdv-entete:hover span{text-decoration:underline;text-underline-offset:.25em}
@media (max-width:1020px){
  .entete-in{display:grid;grid-template-columns:48px 1fr 48px;gap:8px}
  .logo{grid-column:2;justify-self:center}
  .entete-actions{display:contents}
  .burger{grid-column:1;grid-row:1;justify-self:start;border:0;width:48px}
  .burger span{left:12px;right:12px}
  .rdv-entete{grid-column:3;grid-row:1;justify-self:end;width:48px;justify-content:center;padding:0}
  .rdv-entete span,.entete-actions .langue{display:none}
}
/* apparition du logo en grand, en 3D, sur un très large fond noir (accueil, une fois par visite) */
.intro-logo{display:none}
.intro .intro-logo{display:grid;position:fixed;inset:0;z-index:200;place-items:center;background:radial-gradient(120% 90% at 50% 45%,#1d1a17 0%,#0b0a09 60%);perspective:1100px;overflow:hidden;cursor:pointer}
.intro-sol{position:absolute;left:-60%;right:-60%;bottom:-20%;height:70%;transform:perspective(500px) rotateX(74deg);transform-origin:50% 100%;background-image:linear-gradient(rgba(245,239,228,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(245,239,228,.14) 1px,transparent 1px);background-size:70px 70px;-webkit-mask-image:linear-gradient(to top,#000,transparent 85%);mask-image:linear-gradient(to top,#000,transparent 85%)}
.intro-scene{width:min(78vw,980px);transform-style:preserve-3d}
.intro-scene img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.intro body{overflow:hidden}
/* ramifications : spécialités reliées au visage */
.cabinet-3d-in{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.cabinet-scene{position:relative}
.ramifs{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px}
.ramifs-3d .ramifs{position:absolute;inset:0;pointer-events:none;display:block;margin:0}
.ramifs-3d .ramif{position:absolute;pointer-events:auto;transform:translate(-50%,-50%);clip-path:inset(0 100% 0 0)}
.ramif{display:block;padding:6px 10px;font-family:var(--titre);font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:500;color:var(--creme);text-decoration:none;white-space:nowrap;border-bottom:1px solid rgba(245,239,228,.35)}
.ramifs-3d .ramif.visible{clip-path:inset(0 0 0 0);transition:clip-path .55s steps(14,end)}
.ramif:hover,.ramif:focus-visible,.ramif.actif{color:#fff;border-bottom-color:#fff}
.ramifs-3d .ramif.g{transform:translate(-100%,-100%)}
.ramifs-3d .ramif.d{transform:translate(0,-100%)}
@media (max-width:760px){.ramif{font-size:.98rem;padding:4px 6px}}
@media (prefers-reduced-motion:reduce){.ramifs-3d .ramif{clip-path:none}}
@media (max-width:860px){.cabinet-3d-in{grid-template-columns:1fr}.cabinet-scene{order:2;width:100%;max-width:520px;margin:0 auto}.cabinet-scene canvas{max-height:none}}

/* ===== v4 — haut de gamme : ouverture par le logo, images bord à bord avec fondus longs en haut et en bas ===== */
/* fondu progressif (courbe douce, 27 % de la hauteur en haut et en bas) ; masque alpha : il suit toujours la couleur du fond */
:root{--fondu:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.02) 2.5%,rgba(0,0,0,.07) 5%,rgba(0,0,0,.15) 7.5%,rgba(0,0,0,.26) 10%,rgba(0,0,0,.4) 12.5%,rgba(0,0,0,.55) 15%,rgba(0,0,0,.69) 17.5%,rgba(0,0,0,.81) 20%,rgba(0,0,0,.9) 22.5%,rgba(0,0,0,.97) 25%,#000 27.5%,#000 72.5%,rgba(0,0,0,.97) 75%,rgba(0,0,0,.9) 77.5%,rgba(0,0,0,.81) 80%,rgba(0,0,0,.69) 82.5%,rgba(0,0,0,.55) 85%,rgba(0,0,0,.4) 87.5%,rgba(0,0,0,.26) 90%,rgba(0,0,0,.15) 92.5%,rgba(0,0,0,.07) 95%,rgba(0,0,0,.02) 97.5%,transparent 100%)}
.bande{display:block;position:relative;width:100vw;max-width:none;margin-left:calc(50% - 50vw);overflow:hidden;border-radius:0;box-shadow:none;background:none;-webkit-mask-image:var(--fondu);mask-image:var(--fondu)}
.bande picture,.bande img,.bande video{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}

/* ouverture : le logo se défait en spécialités */
.ouverture{background:#0b0a09;color:var(--creme);padding-top:var(--hdr)}
.ouverture-scene{position:relative;height:max(420px,42vw);display:flex;align-items:center;justify-content:center}
.ouverture-scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.logo-mots{list-style:none;margin:0;padding:0 var(--gout);display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;font-family:var(--titre);font-size:1.3rem}
.logo-mots a{color:var(--creme);text-decoration:none}
.ouverture-scene.anime{display:block}
.ouverture-scene.anime .logo-mots{position:absolute;inset:0;padding:0;display:block}
.ouverture-scene.anime .logo-mots a{position:absolute;display:block;color:transparent;font-size:1px;line-height:1;overflow:hidden;border-radius:3px}
.ouverture-scene.anime .logo-mots a:focus-visible{outline:1px solid var(--creme);outline-offset:4px}
@media (max-width:759px){.ouverture-scene{height:430px}}
.pourquoi{max-width:780px;margin:0 auto;padding:clamp(30px,5vw,70px) var(--gout) clamp(80px,10vw,140px)}
.pourquoi h1{font-size:clamp(2.6rem,6vw,4.6rem);font-weight:500;line-height:1.04;margin:0 0 .4em;color:var(--creme)}
.pourquoi .chapo{font-size:1.2rem;color:var(--creme);margin:0 0 2.2em}
.pourquoi h2{font-size:clamp(1.6rem,2.8vw,2.2rem);color:var(--creme);margin:0 0 .8em}
.pourquoi p,.pourquoi li{color:#e2dbd1}
.pourquoi .surtitre{color:var(--creme)}

/* vidéo de visite : toute la largeur, aussi haute que l'écran le permet */
.bande-film{height:min(56.25vw,100svh);background:#0b0a09}
@media (max-width:760px){.bande-film{height:min(125vw,92svh)}}

/* spécialités : une image pleine largeur par spécialité, qui se fondent l'une dans l'autre */
.specialites{padding:clamp(60px,8vw,110px) 0 0}
.spec-bandes{display:block}
.spec-bande{position:relative;display:block;height:clamp(420px,78svh,860px);color:var(--creme);text-decoration:none}
.spec-bande + .spec-bande{margin-top:calc(-1 * clamp(40px,7svh,80px))}
.spec-bande .bande-media{position:absolute;inset:0;width:100%;margin:0;overflow:hidden;-webkit-mask-image:var(--fondu);mask-image:var(--fondu)}
.spec-bande .bande-media picture,.spec-bande .bande-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.spec-bande:hover .bande-media img{transform:scale(1.04)}
.spec-bande .bande-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,9,.82) 0%,rgba(11,10,9,.55) 36%,rgba(11,10,9,0) 66%)}
.spec-bande.d .bande-media::after{background:linear-gradient(270deg,rgba(11,10,9,.82) 0%,rgba(11,10,9,.55) 36%,rgba(11,10,9,0) 66%)}
.spec-texte{position:absolute;top:0;bottom:0;justify-content:center;left:max(var(--gout),calc((100% - var(--larg)) / 2 + var(--gout)));max-width:min(440px,80%);display:flex;flex-direction:column;gap:10px}
.spec-bande.d .spec-texte{left:auto;right:max(var(--gout),calc((100% - var(--larg)) / 2 + var(--gout)));text-align:right;align-items:flex-end}
.spec-texte .c3-t{font-family:var(--titre);font-size:clamp(2rem,4.2vw,3.4rem);font-weight:500;line-height:1.05;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.spec-texte .c3-s{font-size:1.12rem;color:#ebe4d9;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.spec-lien{margin-top:6px;font-size:.95rem;border-bottom:1px solid rgba(245,239,228,.5);padding-bottom:2px}
.spec-bande:hover .spec-lien,.spec-bande:focus-visible .spec-lien{border-bottom-color:#fff}
.spec-bande:focus-visible{outline:2px solid var(--creme);outline-offset:-6px}

/* diaporama : bord à bord, fondu haut et bas, texte au cœur de l'image */
.diaporama{-webkit-mask-image:var(--fondu);mask-image:var(--fondu);background:none!important;height:max(560px,100svh)}
.diaporama-voile{background:linear-gradient(90deg,rgba(11,10,9,.6) 0%,rgba(11,10,9,.25) 40%,rgba(11,10,9,0) 65%)}
.diaporama-texte{top:50%;bottom:auto;transform:translateY(-50%);padding-bottom:0}
.p-visite .diaporama{height:max(520px,92svh)}

/* implantologie guidée : vidéo pleine largeur, texte dessous */
.implant-num{padding:clamp(40px,6vw,80px) var(--gout) clamp(70px,9vw,120px)}
.implant-in{display:block;max-width:var(--larg)}
.implant-video.bande{height:min(56.25vw,92svh);transform:none!important}
.implant-texte{max-width:62ch;margin:0 auto}

/* accès : photo du jardin pleine largeur */
.acces-photo{margin:0 0 clamp(30px,5vw,60px);transform:none}
.acces-photo .bande{height:clamp(360px,72svh,820px)}
.acces-photo figcaption{max-width:var(--larg);margin:-8svh auto 0;position:relative;text-align:center}

/* pages : image ou vidéo d'en-tête pleine largeur, sous le titre */
.tete-in.une-col{grid-template-columns:1fr}
.bande-tete{height:clamp(380px,82svh,900px);margin-top:calc(-1 * clamp(90px,16svh,180px));position:relative;z-index:1}
.bande-tete + .article-grille{margin-top:calc(-1 * clamp(30px,6svh,70px));position:relative;z-index:2}

/* visite : toutes les photos en grand, l'une après l'autre */
.galerie-bandes{padding:0 0 clamp(60px,8vw,100px)}
.galerie-bande{position:relative;margin:0}
.galerie-bande + .galerie-bande{margin-top:calc(-1 * clamp(40px,7svh,80px))}
.galerie-bande .bande{height:clamp(380px,82svh,900px)}
.galerie-bande figcaption{position:absolute;bottom:30%;left:max(var(--gout),calc((100% - var(--larg)) / 2 + var(--gout)));max-width:min(420px,80%);font-family:var(--titre);font-size:1.2rem;color:var(--creme);text-shadow:0 1px 3px rgba(0,0,0,.7),0 0 26px rgba(0,0,0,.55)}
.galerie-bande.d figcaption{left:auto;right:max(var(--gout),calc((100% - var(--larg)) / 2 + var(--gout)));text-align:right}
/* illustrations plus petites que la bande : nettes à leur taille, sur un agrandissement flouté d'elles-mêmes */
.bande-ambiance{position:absolute;inset:0;overflow:hidden}
.bande-ambiance picture,.bande-ambiance img{width:100%;height:100%;object-fit:cover;filter:blur(38px) saturate(1.05) brightness(.72);transform:scale(1.18)}
.bande-net{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.bande .bande-net picture,.bande-media .bande-net picture{width:auto;max-width:min(100%,var(--w));height:100%;display:flex;align-items:center}
.bande .bande-net img,.bande-media .bande-net img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.spec-bande:hover .bande-net img{transform:none}

/* ===== v5 — la photo reste entière ; le dégradé est à l'extérieur, depuis la teinte réelle de ses bords ===== */
/* courbe douce (alpha) : 0 en haut → 1 en bas, appliquée à la teinte du bord ; « --de » / « --vers » = ce qu'il y a au-delà
   (fond de la page par défaut, noir entre deux photos) */
:root{--fondu-h:clamp(120px,24svh,260px);--monte:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.03) 10%,rgba(0,0,0,.1) 20%,rgba(0,0,0,.21) 30%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.65) 60%,rgba(0,0,0,.79) 70%,rgba(0,0,0,.9) 80%,rgba(0,0,0,.97) 90%,#000 100%);--descend:linear-gradient(0deg,transparent 0%,rgba(0,0,0,.03) 10%,rgba(0,0,0,.1) 20%,rgba(0,0,0,.21) 30%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.65) 60%,rgba(0,0,0,.79) 70%,rgba(0,0,0,.9) 80%,rgba(0,0,0,.97) 90%,#000 100%)}
.bande,.diaporama,.spec-bande .bande-media{-webkit-mask-image:none!important;mask-image:none!important}
.bande{height:auto!important;overflow:visible}
.bande-avant,.bande-apres{display:block;position:relative;height:var(--fondu-h)}
.bande-avant{background:var(--de,transparent)}
.bande-apres{background:var(--vers,transparent)}
.bande-avant::before,.bande-apres::before{content:"";position:absolute;inset:0}
.bande-avant::before{background:var(--haut,#0b0a09);-webkit-mask-image:var(--monte);mask-image:var(--monte)}
.bande-apres::before{background:var(--bas,#0b0a09);-webkit-mask-image:var(--descend);mask-image:var(--descend)}
/* entre deux photos : passage par le noir */
.spec-bande + .spec-bande .bande-avant,.galerie-bande + .galerie-bande .bande-avant{--de:#0b0a09}
.spec-bande:has(+ .spec-bande) .bande-apres,.galerie-bande:has(+ .galerie-bande) .bande-apres{--vers:#0b0a09}
.spec-bande + .spec-bande,.galerie-bande + .galerie-bande{margin-top:0!important}
/* la photo, entière : toute la largeur, hauteur naturelle (limitée à l'écran) */
.bande-cadre{display:block;position:relative;overflow:hidden;line-height:0}
.bande-cadre > picture,.bande-cadre > picture img,.bande-cadre > video{display:block;width:100%;height:auto;max-height:100svh;object-fit:cover}
/* raccord de quelques pixels avec la teinte du bord, pour qu'aucune ligne ne se voie */
.bande-cadre::before,.bande-cadre::after{content:"";position:absolute;left:0;right:0;height:14px;z-index:1;pointer-events:none}
.bande-cadre::before{top:0;background:linear-gradient(var(--haut),transparent)}
.bande-cadre::after{bottom:0;background:linear-gradient(transparent,var(--bas))}
/* illustrations plus petites : cadre à hauteur fixe, image nette sur son agrandissement flouté */
.bande-cadre:has(> .bande-net){height:clamp(420px,80svh,880px)}
.bande-cadre .bande-ambiance,.bande-cadre .bande-net{line-height:normal}
/* vidéos */
.bande-film,.implant-video.bande{height:auto!important;background:none}
.bande-film .bande-cadre > video{aspect-ratio:16/9;max-height:100svh}
.implant-video .bande-cadre > video{aspect-ratio:16/9;max-height:92svh}
@media (max-width:760px){.bande-film .bande-cadre > video{aspect-ratio:4/5;max-height:92svh}}
/* diaporama : il garde son plein écran, encadré de dégradés vers le noir */
.bande-diapo{width:100vw}
.diaporama{background:#0b0a09!important}
/* spécialités : texte posé sur la photo, voile sombre seulement côté texte */
.spec-bande{height:auto!important}
.spec-bande .bande-voile{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,10,9,.72) 0%,rgba(11,10,9,.4) 34%,rgba(11,10,9,0) 62%)}
.spec-bande.d .bande-voile{background:linear-gradient(270deg,rgba(11,10,9,.72) 0%,rgba(11,10,9,.4) 34%,rgba(11,10,9,0) 62%)}
.spec-bande .spec-texte{z-index:2;line-height:1.5}
.spec-bande .bande-cadre > picture img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.spec-bande:hover .bande-cadre > picture img{transform:scale(1.03)}
.spec-bande .bande-cadre > picture,.spec-bande .bande-cadre > picture img{min-height:clamp(380px,62svh,700px)}
/* visite : légende sur la photo */
.galerie-bande figcaption{z-index:2;line-height:1.4}
/* pages : l'image d'en-tête suit le titre sans le chevaucher */
.bande-tete{margin-top:0!important}
.tete-page{padding-bottom:clamp(40px,6vw,70px)}
.bande-tete + .article-grille{margin-top:0}
.acces-photo figcaption{margin-top:0}
@media (max-width:760px){.bande-cadre > picture img{min-height:52svh}}
/* le dégradé extérieur prolonge les teintes du bord, colonne par colonne */
.bande-avant::before{background:var(--haut-g,var(--haut,#0b0a09))}
.bande-apres::before{background:var(--bas-g,var(--bas,#0b0a09))}
.bande-cadre::before{background:var(--haut-g,var(--haut));-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent);height:18px}
.bande-cadre::after{background:var(--bas-g,var(--bas));-webkit-mask-image:linear-gradient(transparent,#000);mask-image:linear-gradient(transparent,#000);height:18px}
/* aucune coupe : la photo garde ses proportions d'origine (le haut et le bas restent visibles) */
.bande-cadre > picture,.bande-cadre > picture img,.bande-cadre > video{max-height:none}
.bande-film .bande-cadre > video,.implant-video .bande-cadre > video{max-height:none}
/* illustration nette : boîte toujours dimensionnée (sinon le chargement différé ne se déclenche pas) */
.bande .bande-net picture,.bande-media .bande-net picture{width:min(100%,var(--w));height:100%;max-width:none;display:block}
.bande .bande-net img,.bande-media .bande-net img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
@media (max-width:760px){:root{--fondu-h:clamp(80px,15svh,140px)}}

/* ===== v6 — une seule couleur de dégradé, le noir, partout ; photos et vidéos entières, jamais recadrées ===== */
:root{--nuit-photo:#0b0a09}
.bande-avant::before,.bande-apres::before{background:var(--nuit-photo)!important}
.bande-cadre{background:var(--nuit-photo)}
/* raccord court et identique partout : le bord de la photo rejoint le noir */
.bande-cadre::before,.bande-cadre::after{height:5%;min-height:24px;-webkit-mask-image:none;mask-image:none}
.bande-cadre::before{background:linear-gradient(var(--nuit-photo),rgba(11,10,9,0))!important}
.bande-cadre::after{background:linear-gradient(rgba(11,10,9,0),var(--nuit-photo))!important}
/* illustrations plus petites : posées sur le noir (plus de fond flou coloré), côtés fondus dans le noir */
.bande-ambiance{display:none!important}
/* aucune hauteur imposée : la photo garde ses proportions, rien n'est coupé */
.spec-bande .bande-cadre > picture,.spec-bande .bande-cadre > picture img{min-height:0}
.bande-cadre > picture img{min-height:0!important}
/* diaporama : proportions des photos (3:2), sans recadrage */
.diaporama{height:auto!important;aspect-ratio:3/2;max-height:none;min-height:0}
.p-visite .diaporama{height:auto!important}
.diapo picture,.diapo img{object-fit:contain}
.diapo img{transform:none!important;transition:none}
@media (max-width:760px){
  /* téléphone : texte sous la photo, pour ne pas la couvrir */
  .spec-bande .bande-voile{display:none}
  .spec-bande .spec-texte,.spec-bande.d .spec-texte{position:static;transform:none;max-width:none;padding:18px var(--gout) 6px;text-align:left;align-items:flex-start;background:var(--nuit-photo)}
  .galerie-bande figcaption,.galerie-bande.d figcaption{position:static;max-width:none;padding:12px var(--gout) 0;text-align:left;background:var(--nuit-photo);line-height:1.4}
  .bande-diapo .diaporama-voile{display:none}
  .diaporama{overflow:visible;aspect-ratio:auto}
  .diapos{position:relative;aspect-ratio:3/2}
  .diaporama-texte{position:static;transform:none;padding:18px var(--gout) 4px;background:var(--nuit-photo)}
}
/* illustration : la boîte épouse l'image, ses côtés se fondent dans le noir */
.bande .bande-net picture,.bande-media .bande-net picture{width:100%;height:100%;display:flex;justify-content:center;align-items:center}
.bande .bande-net img,.bande-media .bande-net img{width:auto;height:100%;max-width:100%;object-fit:contain}
/* entre deux photos : passage par le noir plus court */
.spec-bande + .spec-bande .bande-avant,.galerie-bande + .galerie-bande .bande-avant,.spec-bande:has(+ .spec-bande) .bande-apres,.galerie-bande:has(+ .galerie-bande) .bande-apres{height:clamp(40px,8svh,90px)}

/* ===== v7 — aucun fond beige entre les images : fond noir, photo pleine largeur, fondu noir en haut et en bas seulement ===== */
.degrade-long{background:#0b0a09}
.bande-avant,.bande-apres{height:0!important}
.bande.clair-avant .bande-avant,.bande.clair-apres .bande-apres{height:var(--fondu-h)!important;background:transparent!important}
.galerie-bandes{background:#0b0a09;padding-bottom:0}
.galerie-bande:last-child{--fin:1}
.galerie-bande:last-child .bande-apres{height:var(--fondu-h)!important;background:transparent!important}
/* fondu sur le haut et le bas de l'image, vers le noir, courbe douce ; jamais sur les côtés */
.bande-cadre::before,.bande-cadre::after{height:16%;min-height:40px}
.bande-cadre::before{background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,.9) 15%,rgba(11,10,9,.72) 30%,rgba(11,10,9,.5) 45%,rgba(11,10,9,.3) 60%,rgba(11,10,9,.14) 75%,rgba(11,10,9,.04) 90%,rgba(11,10,9,0) 100%)!important}
.bande-cadre::after{background:linear-gradient(0deg,#0b0a09 0%,rgba(11,10,9,.9) 15%,rgba(11,10,9,.72) 30%,rgba(11,10,9,.5) 45%,rgba(11,10,9,.3) 60%,rgba(11,10,9,.14) 75%,rgba(11,10,9,.04) 90%,rgba(11,10,9,0) 100%)!important}
.bande-cadre > picture,.bande-cadre > picture img{width:100%!important;height:auto!important;object-fit:cover}
/* entre deux images : un court passage noir */
.spec-bande + .spec-bande,.galerie-bande + .galerie-bande{margin-top:0}
.spec-bande + .spec-bande .bande-cadre,.galerie-bande + .galerie-bande .bande-cadre{margin-top:clamp(10px,3svh,40px)}
/* implantologie : texte sur le noir, puis long dégradé noir → beige vers la suite de la page */
.implant-num{color:var(--creme);padding-bottom:clamp(180px,40svh,440px);background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 38%,#110f0e 44%,#201e1c 50%,#373431 56%,#524f4a 62%,#706c66 68%,#8f8981 74%,#aaa49a 81%,#c1baaf 88%,#d0c9bd 94%,#d6cec2 100%)}
.implant-texte h2,.implant-texte p,.implant-texte a{color:var(--creme)}
/* pages : en-tête noir jusqu'à l'image (plus de beige au-dessus) */
.tete-page:has(+ .bande-tete){background:#0b0a09!important;padding-bottom:clamp(30px,5vw,60px)}

/* ===== v8 — dégradés plus doux : fondus plus hauts, courbe plus progressive ===== */
:root{--fondu-h:clamp(180px,36svh,400px);
  --monte:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.01) 6%,rgba(0,0,0,.03) 12%,rgba(0,0,0,.07) 18%,rgba(0,0,0,.12) 24%,rgba(0,0,0,.19) 30%,rgba(0,0,0,.27) 36%,rgba(0,0,0,.36) 42%,rgba(0,0,0,.46) 48%,rgba(0,0,0,.56) 54%,rgba(0,0,0,.65) 60%,rgba(0,0,0,.74) 66%,rgba(0,0,0,.82) 72%,rgba(0,0,0,.88) 78%,rgba(0,0,0,.93) 84%,rgba(0,0,0,.97) 90%,rgba(0,0,0,.99) 95%,#000 100%);
  --descend:linear-gradient(0deg,transparent 0%,rgba(0,0,0,.01) 6%,rgba(0,0,0,.03) 12%,rgba(0,0,0,.07) 18%,rgba(0,0,0,.12) 24%,rgba(0,0,0,.19) 30%,rgba(0,0,0,.27) 36%,rgba(0,0,0,.36) 42%,rgba(0,0,0,.46) 48%,rgba(0,0,0,.56) 54%,rgba(0,0,0,.65) 60%,rgba(0,0,0,.74) 66%,rgba(0,0,0,.82) 72%,rgba(0,0,0,.88) 78%,rgba(0,0,0,.93) 84%,rgba(0,0,0,.97) 90%,rgba(0,0,0,.99) 95%,#000 100%)}
@media (max-width:760px){:root{--fondu-h:clamp(120px,24svh,220px)}}
.bande-cadre::before,.bande-cadre::after{height:26%;min-height:60px}
.bande-cadre::before{background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,.97) 6%,rgba(11,10,9,.91) 12%,rgba(11,10,9,.83) 18%,rgba(11,10,9,.73) 24%,rgba(11,10,9,.62) 30%,rgba(11,10,9,.51) 36%,rgba(11,10,9,.41) 42%,rgba(11,10,9,.32) 48%,rgba(11,10,9,.24) 54%,rgba(11,10,9,.17) 60%,rgba(11,10,9,.11) 66%,rgba(11,10,9,.07) 72%,rgba(11,10,9,.04) 78%,rgba(11,10,9,.02) 86%,rgba(11,10,9,0) 100%)!important}
.bande-cadre::after{background:linear-gradient(0deg,#0b0a09 0%,rgba(11,10,9,.97) 6%,rgba(11,10,9,.91) 12%,rgba(11,10,9,.83) 18%,rgba(11,10,9,.73) 24%,rgba(11,10,9,.62) 30%,rgba(11,10,9,.51) 36%,rgba(11,10,9,.41) 42%,rgba(11,10,9,.32) 48%,rgba(11,10,9,.24) 54%,rgba(11,10,9,.17) 60%,rgba(11,10,9,.11) 66%,rgba(11,10,9,.07) 72%,rgba(11,10,9,.04) 78%,rgba(11,10,9,.02) 86%,rgba(11,10,9,0) 100%)!important}
/* sortie noir → beige vers les textes de l'accueil : plus longue */
.implant-num{padding-bottom:clamp(260px,60svh,640px);background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 30%,#0d0c0b 35%,#131211 40%,#1d1b19 45%,#2a2826 50%,#3b3835 55%,#4f4b47 60%,#65605a 65%,#7c766f 70%,#938c84 75%,#a8a197 80%,#bab3a8 85%,#c8c1b5 90%,#d1c9bd 95%,#d6cec2 100%)}

/* ===== v9 — le fondu prend toujours la couleur du fond qui entoure l'image (noir sur noir, beige sur beige) ===== */
/* masque alpha : le haut et le bas de l'image deviennent transparents, on voit le fond réel derrière */
:root{--fondu-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.03) 1.6%,rgba(0,0,0,.09) 3.2%,rgba(0,0,0,.17) 4.8%,rgba(0,0,0,.27) 6.4%,rgba(0,0,0,.38) 8%,rgba(0,0,0,.49) 9.6%,rgba(0,0,0,.59) 11.2%,rgba(0,0,0,.68) 12.8%,rgba(0,0,0,.76) 14.4%,rgba(0,0,0,.83) 16%,rgba(0,0,0,.89) 17.6%,rgba(0,0,0,.93) 19.2%,rgba(0,0,0,.96) 20.8%,rgba(0,0,0,.98) 22.4%,#000 26%,#000 74%,rgba(0,0,0,.98) 77.6%,rgba(0,0,0,.96) 79.2%,rgba(0,0,0,.93) 80.8%,rgba(0,0,0,.89) 82.4%,rgba(0,0,0,.83) 84%,rgba(0,0,0,.76) 85.6%,rgba(0,0,0,.68) 87.2%,rgba(0,0,0,.59) 88.8%,rgba(0,0,0,.49) 90.4%,rgba(0,0,0,.38) 92%,rgba(0,0,0,.27) 93.6%,rgba(0,0,0,.17) 95.2%,rgba(0,0,0,.09) 96.8%,rgba(0,0,0,.03) 98.4%,transparent 100%)}
.bande-cadre{background:none!important;-webkit-mask-image:var(--fondu-image);mask-image:var(--fondu-image)}
.bande-cadre::before,.bande-cadre::after{display:none!important}
.bande-avant,.bande-apres,.bande.clair-avant .bande-avant,.bande.clair-apres .bande-apres,.galerie-bande:last-child .bande-apres{height:0!important}
/* l'image d'en-tête des pages : au-dessus le noir du titre, en dessous le beige du texte */
.bande-tete{background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 50%,var(--beige) 50%,var(--beige) 100%)}
/* visite : fond noir sous les photos, puis long passage du noir au beige avant le bas de page */
.galerie-bandes{padding-bottom:clamp(200px,40svh,420px);background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 calc(100% - clamp(200px,40svh,420px)),#1d1b19 calc(100% - clamp(150px,30svh,315px)),#524f4a calc(100% - clamp(100px,20svh,210px)),#aaa49a calc(100% - clamp(50px,10svh,105px)),var(--beige) 100%)}
/* téléphone : le texte sous la photo reprend le fond (noir), sans aplat différent */
@media (max-width:760px){.spec-bande .spec-texte,.spec-bande.d .spec-texte,.galerie-bande figcaption,.galerie-bande.d figcaption,.diaporama-texte{background:none}}
/* vidéo de visite : entre deux zones noires, son fondu se fait dans le noir (jamais dans le beige du fond de page) */
.bande-film,.bande-diapo,.implant-video.bande{background:#0b0a09!important}

/* ===== v10 — animations des spécialités ; fondu plus court (n'empiète plus sur le sujet), appliqué à l'image seule ===== */
:root{--fondu-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 1.5%,rgba(0,0,0,.18) 3%,rgba(0,0,0,.34) 4.5%,rgba(0,0,0,.52) 6%,rgba(0,0,0,.68) 7.5%,rgba(0,0,0,.81) 9%,rgba(0,0,0,.9) 10.5%,rgba(0,0,0,.96) 12%,#000 14%,#000 86%,rgba(0,0,0,.96) 88%,rgba(0,0,0,.9) 89.5%,rgba(0,0,0,.81) 91%,rgba(0,0,0,.68) 92.5%,rgba(0,0,0,.52) 94%,rgba(0,0,0,.34) 95.5%,rgba(0,0,0,.18) 97%,rgba(0,0,0,.06) 98.5%,transparent 100%)}
.bande-cadre{-webkit-mask-image:none!important;mask-image:none!important}
.bande-cadre > picture,.bande-cadre > video,.bande-diapo .diaporama{-webkit-mask-image:var(--fondu-image);mask-image:var(--fondu-image)}
.bande-cadre > video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.spec-bande .bande-cadre > video{aspect-ratio:16/9}
.bande-diapo .diaporama{-webkit-mask-image:var(--fondu-image)!important;mask-image:var(--fondu-image)!important}
@media (max-width:760px){.bande-diapo .diaporama{-webkit-mask-image:none!important;mask-image:none!important}.bande-diapo .diapos{-webkit-mask-image:var(--fondu-image);mask-image:var(--fondu-image)}}

/* ===== v11 — présentation : vidéo de l'accueil en plein écran derrière un texte court ===== */
.pourquoi-zone{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#0b0a09}
.pourquoi-fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-mask-image:var(--fondu-image);mask-image:var(--fondu-image)}
.pourquoi-zone::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 50%,rgba(11,10,9,.72) 0%,rgba(11,10,9,.45) 55%,rgba(11,10,9,.25) 100%);pointer-events:none}
.pourquoi-zone .pourquoi{position:relative;z-index:1;width:100%;max-width:var(--larg);margin:0 auto;padding:clamp(60px,10vw,120px) var(--gout)}
.pourquoi-zone .pourquoi .chapo{max-width:44ch;font-size:clamp(1.1rem,1.6vw,1.35rem);text-shadow:0 1px 14px rgba(0,0,0,.6)}
.pourquoi-zone h1{text-shadow:0 2px 24px rgba(0,0,0,.55)}

/* ===== v12 — vidéo de fond fluide : plus de masque sur la vidéo en lecture, voiles noirs posés par-dessus ===== */
.pourquoi-fond{-webkit-mask-image:none!important;mask-image:none!important}
.pourquoi-zone::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,0) 14%,rgba(11,10,9,0) 86%,#0b0a09 100%)}
.pourquoi-zone::after{z-index:0}
.implant-num{padding:0;height:clamp(260px,60svh,640px)}
.spec-texte .c3-s + .c3-s{margin-top:4px}
/* spécialités (fond noir) : même fondu, posé en voile noir par-dessus au lieu d'un masque sur la vidéo (lecture plus fluide) */
.spec-bande .bande-cadre > video,.spec-bande .bande-cadre > picture{-webkit-mask-image:none!important;mask-image:none!important}
.spec-bande .bande-cadre::before,.spec-bande .bande-cadre::after{display:block!important;content:"";position:absolute;left:0;right:0;height:14%;z-index:1;pointer-events:none}
.spec-bande .bande-cadre::before{top:0;background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,.82) 25%,rgba(11,10,9,.48) 50%,rgba(11,10,9,.18) 75%,rgba(11,10,9,0) 100%)!important}
.spec-bande .bande-cadre::after{bottom:0;background:linear-gradient(0deg,#0b0a09 0%,rgba(11,10,9,.82) 25%,rgba(11,10,9,.48) 50%,rgba(11,10,9,.18) 75%,rgba(11,10,9,0) 100%)!important}

/* ===== v13 — Garamond léger (Cormorant Garamond 300) partout ; couleur d'accent avoine, en contraste avec le crème ===== */
:root{--titre:"Cormorant Garamond","Cormorant repli",Georgia,serif;--texte:"Cormorant Garamond","Cormorant repli",Georgia,serif;--avoine:#d9c6a5;--avoine-fonce:#8a7552}
body{font-family:var(--texte);font-weight:300;font-size:1.22rem;line-height:1.6;letter-spacing:.005em}
h1,h2,h3,h4,.c3-t,.po-n,.mm-lien,.cm-t,.acces-nom,.carte-titre,.pied-t,.vp-n,.sommaire summary{font-family:var(--titre);font-weight:300}
b,strong{font-weight:500}
.bouton,button,.menu a,.entete,.entete a,.nav a,.mm-lien,.rdv-entete,.tel,.langue,.acces-entete,input,select,textarea{font-family:var(--texte);font-weight:400}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* accent avoine : surtitres, liens, survols, petits filets */
.surtitre{color:var(--avoine)!important;opacity:1}
.p-accueil .degrade-long ~ * .surtitre,.acces .surtitre,.equipe-accueil .surtitre,.tete-page ~ * .surtitre{color:var(--avoine-fonce)!important}
.spec-texte .c3-t{color:var(--creme)}
.spec-bande:hover .c3-t,.spec-bande:focus-visible .c3-t{color:var(--avoine)}
.spec-texte .c3-s{color:#e9e2d6}
.diaporama-texte h2{color:var(--creme)}
.lien-fleche,.article a{text-decoration-color:var(--avoine)}
/* flèche « Nos espaces » */
.vers-espaces{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:22px;color:var(--avoine);text-decoration:none;font-size:1.15rem;letter-spacing:.04em}
.vers-espaces svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;animation:fleche-bas 2.2s cubic-bezier(.45,0,.3,1) infinite}
.vers-espaces:hover,.vers-espaces:focus-visible{color:var(--creme)}
@keyframes fleche-bas{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(9px);opacity:1}}
@media (prefers-reduced-motion:reduce){.vers-espaces svg{animation:none}}
#visite{scroll-margin-top:var(--hdr)}

/* ===== v14 — accent crème (et non jaune), fondu supérieur de la vidéo de présentation, fin de page allégée ===== */
:root{--avoine:#ebe2d2;--avoine-fonce:#6f6252}
.surtitre{color:var(--avoine)!important}
.pourquoi-zone::before{background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,.97) 3%,rgba(11,10,9,.9) 6%,rgba(11,10,9,.78) 9%,rgba(11,10,9,.62) 12%,rgba(11,10,9,.45) 15%,rgba(11,10,9,.29) 18%,rgba(11,10,9,.15) 21%,rgba(11,10,9,.05) 24%,rgba(11,10,9,0) 27%,rgba(11,10,9,0) 82%,#0b0a09 100%)!important}
.equipe-court{max-width:var(--larg);margin:0 auto 26px;padding:0 var(--gout);font-size:1.3rem}
.valeurs{padding:clamp(40px,6vw,80px) var(--gout)}
.engagements{list-style:none;margin:0 auto;padding:0;max-width:var(--larg);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px 40px}
.engagements li{font-family:var(--titre);font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.3;border-top:1px solid var(--filet-clair);padding-top:16px}

/* ===== v15 — ouverture : séance photo en fond, les spécialités « prises en photo » au flash ===== */
.ouverture-scene{overflow:hidden}
.ouverture-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(.42) saturate(.9);pointer-events:none}
.ouverture-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,0) 22%,rgba(11,10,9,0) 78%,#0b0a09 100%)}
.ouverture-scene canvas{z-index:1}
.ouverture-scene.anime .logo-mots{z-index:2}
@media (prefers-reduced-motion:reduce){.ouverture-film{opacity:.9}}

/* ===== v16 — équipe : portraits collés sur fond noir ; survol = zoom, les autres s'assombrissent ; bouton d'appel toujours visible ===== */
.appel-flottant.cache{transform:none;opacity:1;pointer-events:auto}
.equipe-accueil,.grille-equipe{background:#0b0a09!important;color:var(--creme)}
.equipe-accueil{padding:clamp(60px,8vw,110px) 0 0}
.equipe-accueil .section-tete h2,.equipe-accueil .equipe-court{color:var(--creme)}
.grille-equipe{padding:0 0 clamp(40px,6vw,80px)}
.portraits.mur{list-style:none;margin:0;padding:0;max-width:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(150px,16.66vw,260px),1fr));gap:0;overflow:visible;background:#0b0a09;perspective:none}
.portraits.mur li{position:relative;z-index:0;transform:none!important;transition:filter .45s ease,z-index 0s .45s;flex:none}
.portraits.mur .portrait{display:block;position:relative;color:var(--creme)}
.portraits.mur .po-img{border-radius:0;box-shadow:none;aspect-ratio:4/5;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.portraits.mur .po-img img{transform:none!important}
.po-legende{position:absolute;left:0;right:0;bottom:0;padding:40px 14px 12px;background:linear-gradient(0deg,rgba(11,10,9,.85),rgba(11,10,9,0));display:flex;flex-direction:column;gap:2px;pointer-events:none;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.portraits.mur .po-n{margin:0;font-size:1.15rem;color:var(--creme)}
.portraits.mur .po-o{font-size:.95rem;color:var(--avoine)}
.portraits.mur li:hover,.portraits.mur li:focus-within{z-index:3;transition:filter .45s ease,z-index 0s}
.portraits.mur li:hover .po-img,.portraits.mur li:focus-within .po-img{transform:scale(1.12);box-shadow:0 30px 60px -10px rgba(0,0,0,.9)}
.portraits.mur li:hover .po-legende,.portraits.mur li:focus-within .po-legende{transform:scale(1.12) translateY(-4%)}
@media (hover:hover){.portraits.mur:hover li:not(:hover),.portraits.mur:focus-within li:not(:focus-within){filter:brightness(.32) grayscale(.3)}}
.grille-equipe .carte-prat .bouton-petit{position:absolute;top:10px;right:10px;z-index:2;opacity:0;transition:opacity .3s;background:rgba(11,10,9,.8);color:var(--creme);border-color:rgba(245,239,228,.5)}
.grille-equipe .carte-prat:hover .bouton-petit,.grille-equipe .carte-prat:focus-within .bouton-petit{opacity:1}
@media (hover:none){.grille-equipe .carte-prat .bouton-petit{opacity:1}}
@media (prefers-reduced-motion:reduce){.portraits.mur .po-img,.po-legende{transition:none}}
.p-accueil .implant-num{display:none}
.equipe-accueil,.grille-equipe{padding-bottom:clamp(220px,40svh,420px)!important;background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 calc(100% - clamp(220px,40svh,420px)),#1d1b19 calc(100% - clamp(165px,30svh,315px)),#524f4a calc(100% - clamp(110px,20svh,210px)),#aaa49a calc(100% - clamp(55px,10svh,105px)),var(--beige) 100%)!important}
.portraits.mur{grid-template-columns:repeat(2,1fr)}@media (min-width:700px){.portraits.mur{grid-template-columns:repeat(7,1fr)}.portraits.mur .po-n{font-size:clamp(.85rem,1.2vw,1.15rem)}.portraits.mur .po-o{font-size:clamp(.75rem,.95vw,.95rem)}.po-legende{padding:30px 10px 10px}}

/* ===== v17 — raccord entre les deux vidéos de l'accueil : long dégradé noir progressif ===== */
:root{--raccord:clamp(180px,34svh,360px);--noir-doux:linear-gradient(180deg,rgba(11,10,9,0) 0%,rgba(11,10,9,.04) 10%,rgba(11,10,9,.12) 20%,rgba(11,10,9,.24) 30%,rgba(11,10,9,.38) 40%,rgba(11,10,9,.53) 50%,rgba(11,10,9,.67) 60%,rgba(11,10,9,.8) 70%,rgba(11,10,9,.9) 80%,rgba(11,10,9,.97) 90%,#0b0a09 100%)}
/* bas de l'ouverture : la séance photo se fond dans le noir */
.ouverture-scene::after{background:none!important;top:auto;height:var(--raccord);background-image:var(--noir-doux)!important;z-index:1}
.ouverture-scene::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(var(--raccord) * .6);pointer-events:none;z-index:1;background-image:var(--noir-doux);transform:scaleY(-1)}
.ouverture-scene canvas{z-index:2}
.ouverture-scene.anime .logo-mots{z-index:3}
/* haut de la présentation : la vidéo d'accueil sort du noir (le voile passe au-dessus de la vidéo) */
.pourquoi-zone::before{z-index:1!important;top:0;bottom:auto;height:var(--raccord);background:none!important;background-image:var(--noir-doux)!important;transform:scaleY(-1)}
.pourquoi-zone::after{z-index:1!important;top:auto;height:var(--raccord);background:none!important;background-image:var(--noir-doux)!important}
.pourquoi-zone .pourquoi{z-index:2}
.pourquoi-fond{z-index:0}
.pourquoi-zone{background:#0b0a09}
.pourquoi-zone .pourquoi .chapo,.pourquoi-zone h1{text-shadow:0 1px 18px rgba(0,0,0,.85)}
/* voile de lisibilité sous le texte, séparé des raccords */
.pourquoi-zone .pourquoi::before{content:"";position:absolute;inset:-20% -50%;z-index:-1;pointer-events:none;background:radial-gradient(60% 55% at 30% 50%,rgba(11,10,9,.6),rgba(11,10,9,0) 75%)}

/* ===== v18 — raccord entre les vidéos : plus haut et plus progressif ; aucun liseré clair entre les deux ===== */
:root{--raccord:clamp(260px,52svh,560px);--noir-doux:linear-gradient(180deg,rgba(11,10,9,0) 0%,rgba(11,10,9,.01) 6%,rgba(11,10,9,.03) 12%,rgba(11,10,9,.07) 18%,rgba(11,10,9,.12) 24%,rgba(11,10,9,.18) 30%,rgba(11,10,9,.26) 36%,rgba(11,10,9,.35) 42%,rgba(11,10,9,.45) 48%,rgba(11,10,9,.55) 54%,rgba(11,10,9,.65) 60%,rgba(11,10,9,.74) 66%,rgba(11,10,9,.82) 72%,rgba(11,10,9,.89) 78%,rgba(11,10,9,.94) 84%,rgba(11,10,9,.98) 90%,#0b0a09 96%,#0b0a09 100%)}
.ouverture,.ouverture-scene,.pourquoi-zone{background:#0b0a09}
.pourquoi-zone{margin-top:-2px;padding-top:calc(var(--raccord) * .5)}
.ouverture-scene{margin-bottom:0;outline:2px solid #0b0a09}
/* spécialités : fondus plus longs et plus doux */
.spec-bande .bande-cadre::before,.spec-bande .bande-cadre::after{height:24%}
.spec-bande .bande-cadre::before{background:none!important;background-image:var(--noir-doux)!important;transform:scaleY(-1)}
.spec-bande .bande-cadre::after{background:none!important;background-image:var(--noir-doux)!important}
/* ===== v19 — format implants-parodontie.com : vidéos des spécialités en grand (plein écran, recadrées), texte posé en bas ;
   ouverture sans film : les spécialités en profondeur de champ ===== */
.spec-bande .bande-cadre{height:max(560px,100svh)}
.spec-bande .bande-cadre > video{position:absolute;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover;object-position:50% 50%}
.spec-bande .spec-texte,.spec-bande.d .spec-texte{top:0;bottom:0;transform:none;justify-content:flex-end;padding-bottom:clamp(70px,14svh,160px);max-width:min(520px,84%)}
.spec-bande .bande-voile,.spec-bande.d .bande-voile{display:block;background:linear-gradient(0deg,rgba(11,10,9,.82) 0%,rgba(11,10,9,.5) 22%,rgba(11,10,9,0) 52%),linear-gradient(90deg,rgba(11,10,9,.55) 0%,rgba(11,10,9,0) 48%)}
.spec-bande.d .bande-voile{background:linear-gradient(0deg,rgba(11,10,9,.82) 0%,rgba(11,10,9,.5) 22%,rgba(11,10,9,0) 52%),linear-gradient(270deg,rgba(11,10,9,.55) 0%,rgba(11,10,9,0) 48%)}
.bande-diapo .diaporama{height:max(560px,100svh)!important;aspect-ratio:auto!important}
.bande-diapo .diapo picture,.bande-diapo .diapo img{object-fit:cover}
@media (max-width:760px){
  .spec-bande .bande-cadre{height:auto;min-height:0}
  .spec-bande .bande-cadre > video{position:relative;inset:auto;display:block;height:70svh!important;min-height:420px}
  .spec-bande .bande-voile,.spec-bande.d .bande-voile{display:block;inset:0 0 auto;height:max(420px,70svh);background:linear-gradient(180deg,rgba(11,10,9,0) 50%,rgba(11,10,9,.7) 80%,#0b0a09 100%)}
  .spec-bande .spec-texte,.spec-bande.d .spec-texte{position:relative;z-index:2;margin-top:-17svh;padding:0 var(--gout) 26px;max-width:none;text-align:left;align-items:flex-start}
  .bande-diapo .diaporama{height:auto!important;overflow:hidden}
  .bande-diapo .diapos{position:relative;aspect-ratio:auto;height:70svh;min-height:420px}
  .bande-diapo .diaporama-texte{position:relative;z-index:2;margin-top:-14svh}
}
@media (max-width:760px){
  /* esthétique : l'arcade entière est large, on garde une hauteur moindre pour voir plus de dents */
  .spec-cas-facettes .bande-cadre > video{height:54svh!important;min-height:340px}
  .spec-cas-facettes .bande-voile{height:max(340px,54svh)!important}
  .spec-cas-facettes .spec-texte{margin-top:-10svh!important}
}
/* esthétique : vidéo aussi grande que possible sans perdre de facette — toute la largeur de l'écran, cadre 1,7:1
   (les huit facettes, prémolaires comprises, restent visibles ; le noir au-dessus et au-dessous se fond dans la page) */
.spec-cas-facettes .bande-cadre{height:auto!important;min-height:0!important}
.spec-cas-facettes .bande-cadre > video{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1.7/1!important;object-fit:cover;object-position:50% 45%}
@media (max-width:760px){
  .spec-cas-facettes .bande-voile{height:calc(100vw / 1.7)!important;background:linear-gradient(180deg,rgba(11,10,9,0) 70%,#0b0a09 100%)!important}
  .spec-cas-facettes .spec-texte{margin-top:-4vw!important}
}
.spec-cas-facettes .spec-texte{padding-bottom:clamp(24px,5svh,60px)!important}
/* ===== v20 — ouverture : photographe et boîtes à flash (patiente masquée) ; spécialités discrètes ; implant légèrement dézoomé ===== */
.ouverture-film{filter:brightness(.6) saturate(.9)}
@media (max-width:759px){
  /* téléphone : cadre 4:3 centré, pour garder le photographe à gauche et la boîte à flash à droite */
  .ouverture-film{top:50%;bottom:auto;height:75vw;transform:translateY(-50%);-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}
}
.spec-m-implant .bande-cadre{height:auto!important;min-height:0!important}
.spec-m-implant .bande-cadre > video{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover}
@media (max-width:760px){
  .spec-m-implant .bande-cadre > video{aspect-ratio:auto!important;height:50svh!important;min-height:320px}
  .spec-m-implant .bande-voile{height:max(320px,50svh)!important}
  .spec-m-implant .spec-texte{margin-top:-9svh!important}
}
/* ===== v21 — vidéos plus dézoomées, toujours pleine largeur ===== */
.pourquoi-zone{min-height:min(100svh,56.25vw)}
.spec-bande .bande-cadre{height:auto!important;min-height:0!important}
.spec-bande .bande-cadre > video{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover}
@media (max-width:760px){
  .pourquoi-zone{min-height:78svh}
  .pourquoi-fond{top:50%!important;bottom:auto!important;height:60svh!important;transform:translateY(-50%);-webkit-mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent)!important;mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent)!important}
  .spec-bande .bande-cadre > video{aspect-ratio:auto!important;height:54svh!important;min-height:330px}
  .spec-bande .bande-voile,.spec-bande.d .bande-voile{height:max(330px,54svh)!important}
  .spec-bande .spec-texte,.spec-bande.d .spec-texte{margin-top:-11svh!important}
}
/* ===== v22 — textes à gauche, titres en couleur douce une fois sur deux, raccords sans trait, panneau photo, carte fondue ===== */
h2[id],h3[id]{scroll-margin-top:calc(var(--hdr,80px) + 24px)}
/* aucun trait entre les vidéos : bandes collées, sans bordure */
.spec-bande,.spec-bande .bande-cadre,.spec-bande > *{border:0!important;outline:0}
.spec-bande + .spec-bande{margin-top:-2px!important}
.spec-bande .bande-cadre > video{margin:0;transform:translateZ(0)}
/* titres : crème, et champagne doux une bande sur deux */
:root{--champagne:#d8c4a2}
.spec-bande.teinte .c3-t{color:var(--champagne)}
.spec-bande.teinte:hover .c3-t{color:var(--creme)}
/* esthétique : le titre se pose juste sous les facettes, plus grand */
.spec-cas-facettes .spec-texte{padding-bottom:clamp(40px,10%,120px)!important}
.spec-cas-facettes .c3-t{font-size:clamp(2.4rem,5vw,4.2rem)}
@media (max-width:760px){.spec-cas-facettes .spec-texte{margin-top:-13vw!important}.spec-cas-facettes .c3-t{font-size:2.3rem}}
/* « Nos espaces » plus bas, dans le noir */
.pourquoi-zone{align-items:flex-end}
.pourquoi-zone .pourquoi{padding-bottom:clamp(18px,4svh,48px)!important}
/* « Entrez dans le cabinet » : posé dans le noir en bas de l'image, bien lisible */
.bande-diapo .diaporama-voile{display:block!important;background:linear-gradient(180deg,rgba(11,10,9,0) 45%,rgba(11,10,9,.75) 78%,#0b0a09 100%)!important}
.bande-diapo .diaporama-texte{top:auto!important;bottom:0!important;transform:none!important;padding-bottom:clamp(28px,6svh,70px)!important;z-index:3}
.bande-diapo .diaporama-texte h2{text-shadow:0 2px 22px rgba(0,0,0,.8);color:var(--champagne)}
@media (max-width:760px){.bande-diapo .diaporama-texte{position:relative!important;margin-top:-16svh!important}}
/* panneau de photos du cabinet */
.panel-cabinet{background:#0b0a09;padding:clamp(10px,2vw,24px) 0}
.panel-grille{list-style:none;margin:0 auto;padding:0 6px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(120px,15vw,240px);max-width:1600px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)}
.panel-grille li{overflow:hidden;margin:0}
.panel-grille img,.panel-grille picture{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .6s}
.panel-grille li:hover img{transform:scale(1.06)}
.panel-grille .pg-1{grid-column:span 2;grid-row:span 2}
.panel-grille .pg-5{grid-column:span 2}
.panel-grille .pg-9{grid-column:span 2}
@media (max-width:760px){.panel-grille{grid-template-columns:repeat(2,1fr);grid-auto-rows:34vw}.panel-grille .pg-5,.panel-grille .pg-9{grid-column:span 2}}
/* carte : bords fondus comme les photos, teinte douce */
.carte-zone{border-radius:0!important;background:rgba(27,24,21,.06)!important;
  -webkit-mask-image:radial-gradient(120% 110% at 50% 50%,#000 58%,transparent 100%);mask-image:radial-gradient(120% 110% at 50% 50%,#000 58%,transparent 100%)}
.carte-zone iframe{filter:grayscale(.25) sepia(.12) contrast(1.04) brightness(.97)!important}
.carte-zone .carte-contenu{color:inherit}
/* sections : titres et textes courts centrés */
.equipe-accueil .section-tete,.equipe-court,.engagements,.acces .section-tete{text-align:center;margin-left:auto;margin-right:auto}
.diapo{transition-duration:2.2s!important}
/* menu Traitements : 7 groupes sur 4 colonnes, compact, jamais plus haut que l'écran */
#p-trait{max-height:calc(100vh - var(--hdr,80px) - 16px);overflow:auto}
.g-trait{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px 26px!important}
.g-trait .groupe-t{margin:0 0 6px}
.g-trait ul{margin:0;padding:0}
.g-trait li a{padding:4px 0!important;gap:10px!important;font-size:.98rem;line-height:1.25}
.g-trait .mini,.g-trait .mini img{width:40px!important;height:28px!important}
/* panneau photos : grille pleine, sans case vide */
.panel-grille{grid-auto-flow:dense}
.panel-grille .pg-5,.panel-grille .pg-9{grid-column:auto}
@media (max-width:760px){.panel-grille .pg-5,.panel-grille .pg-9{grid-column:auto}}
/* esthétique : les huit facettes restent visibles (prioritaire sur la règle générale des bandes) */
.spec-bande.spec-cas-facettes .bande-cadre > video{aspect-ratio:1.7/1!important;height:auto!important;min-height:0!important;object-fit:cover}
@media (max-width:760px){.spec-bande.spec-cas-facettes .bande-voile{height:calc(100vw / 1.7)!important}}
/* aucun liseré au bord haut et bas des vidéos : le dégradé noir déborde d'un pixel */
.spec-bande .bande-cadre{overflow:hidden}
.spec-bande .bande-cadre::before{top:-3px!important;height:calc(24% + 3px)!important}
.spec-bande .bande-cadre::after{bottom:-3px!important;height:calc(24% + 3px)!important}
.spec-bande .bande-cadre > video{margin-top:-1px!important;margin-bottom:-1px!important;clip-path:inset(2px 0 2px 0)}
/* téléphone : carte Google sur toute la largeur, fondue en haut et en bas */
@media (max-width:900px){
  .carte-zone{margin-left:calc(-1 * var(--gout));margin-right:calc(-1 * var(--gout));width:auto;min-height:420px!important;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)!important;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)!important}
}
.spec-cas07 .spec-texte{padding-bottom:clamp(12px,3%,40px)!important}.spec-cas07 .c3-t{font-size:clamp(2rem,3.6vw,3.2rem)!important}
/* ===== v23 — ouverture : séquence lue au défilement (patiente floue → glissement → photographe), scène fixée pendant la piste ===== */
.ouverture-defile{position:relative}
.ouverture-scene{position:sticky!important;top:0;z-index:1}
.ouverture-piste{height:0;pointer-events:none}
.ouverture-seq{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0!important;pointer-events:none}
.ouverture-scene canvas:not(.ouverture-seq){z-index:2}
.ouverture-scene.anime .logo-mots{z-index:3}
@media (prefers-reduced-motion:reduce){.ouverture-piste{height:0}}
/* logo du menu : sans reflet lumineux (18/10) */
.logo::after{display:none!important;animation:none!important}
/* ===== v24 — praticien : photo en grand, en fond d'écran, texte qui s'y pose (sans vignette ni coins arrondis) ===== */
.p-praticien .tete-prat{position:relative;min-height:min(100svh,62vw);display:flex;align-items:flex-end;padding:0!important;background:#0b0a09!important;overflow:hidden}
.p-praticien .tete-prat .tete-grille{display:none}
.p-praticien .prat-fond{position:absolute;inset:0;z-index:0}
.p-praticien .prat-fond picture,.p-praticien .prat-fond img{display:block;width:100%;height:100%;object-fit:cover;object-position:68% 22%;border-radius:0!important;box-shadow:none!important}
.p-praticien .tete-prat::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(11,10,9,.88) 0%,rgba(11,10,9,.55) 34%,rgba(11,10,9,0) 60%),linear-gradient(0deg,#0b0a09 0%,rgba(11,10,9,0) 30%)}
.p-praticien .tete-prat .tete-in{position:relative;z-index:2;display:block;width:100%;max-width:var(--larg);margin:0 auto;padding:calc(var(--hdr) + 40px) var(--gout) clamp(50px,8vw,110px)}
.p-praticien .tete-prat .tete-texte{max-width:560px}
@media (max-width:760px){
  .p-praticien .tete-prat{display:block;min-height:0}
  .p-praticien .prat-fond{position:relative;height:78svh}
  .p-praticien .prat-fond img{object-position:50% 18%}
  .p-praticien .tete-prat::after{background:linear-gradient(0deg,#0b0a09 0%,#0b0a09 28%,rgba(11,10,9,0) 52%)}
  .p-praticien .tete-prat .tete-in{margin-top:-22svh;padding:0 var(--gout) 40px}
}
/* jardin (accès) : photo en grand, nette jusqu'en haut */
.acces-photo .bande,.acces-photo .bande-cadre,.acces-photo picture,.acces-photo img{-webkit-mask-image:none!important;mask-image:none!important}
.acces-photo .bande-cadre::before,.acces-photo .bande-cadre::after{display:none!important}
.acces-photo{margin:0}
.acces-photo .bande{width:100vw;margin-left:calc(50% - 50vw)}
.acces-photo img{width:100%;height:auto;min-height:56svh;max-height:92svh;object-fit:cover;display:block}
.acces-photo{transform:none!important}
.acces-photo picture{aspect-ratio:auto!important;border-radius:0!important;box-shadow:none!important}
.acces-photo figcaption{padding:0 var(--gout)}
/* carte : fiche du cabinet posée sur la carte (nom, note Google, adresse, itinéraire) */
.carte-zone{position:relative}
.carte-fiche{position:absolute;z-index:3;left:12px;top:12px;max-width:min(330px,calc(100% - 24px));background:#fff;color:#202124;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.3);padding:10px 14px 12px;font-family:Roboto,Arial,sans-serif;line-height:1.35}
.carte-fiche .cf-n{font-size:14px;font-weight:500;margin:0}
.carte-fiche .cf-a{font-size:12px;color:#5f6368;margin:2px 0 6px}
.carte-fiche .cf-note{display:flex;align-items:center;gap:5px;font-size:13px;margin:0}
.carte-fiche .cf-note b{font-weight:500}
.carte-fiche .cf-et{color:#fbbc04;letter-spacing:1px;font-size:13px}
.carte-fiche .cf-av{color:#1a73e8}
.carte-fiche a{color:#1a73e8;text-decoration:none;font-size:13px}
.carte-fiche .cf-l{display:flex;gap:14px;margin-top:6px}
/* recherche discrète (en-tête) */
.recherche{position:relative;display:flex;align-items:center}
.recherche input{width:0;opacity:0;padding:0;border:0;border-bottom:1px solid rgba(243,237,227,.35);background:transparent;color:var(--creme);font:inherit;font-size:.95rem;transition:width .35s cubic-bezier(.2,.7,.2,1),opacity .25s;outline:none}
.recherche.ouverte input{width:min(200px,38vw);opacity:1;padding:4px 2px;margin-right:4px}
.rech-ouvrir{background:none;border:0;color:inherit;cursor:pointer;padding:6px;display:flex}
.rech-ouvrir svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.rech-res{position:absolute;right:0;top:calc(100% + 10px);width:min(380px,88vw);list-style:none;margin:0;padding:6px 0;background:#0b0a09;border:1px solid rgba(243,237,227,.14);border-radius:4px;box-shadow:0 20px 50px -20px rgba(0,0,0,.8);z-index:60}
.rech-res a{display:block;padding:9px 16px;color:var(--creme);text-decoration:none;line-height:1.3}
.rech-res a:hover,.rech-res a:focus-visible{background:rgba(243,237,227,.06)}
.rech-res b{display:block;font-weight:400;font-size:1.02rem}
.rech-res span{display:block;font-size:.82rem;color:#b9b0a3;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rech-vide{padding:9px 16px;color:#b9b0a3}
@media (max-width:1020px){.recherche.ouverte input{width:46vw}}
@media (max-width:1020px){
  .entete-in{grid-template-columns:48px 40px 1fr 40px 48px!important}
  .burger{grid-column:1!important}
  .recherche{grid-column:2;grid-row:1;justify-self:start}
  .logo{grid-column:3!important}
  .rdv-entete{grid-column:5!important}
  .recherche.ouverte input{position:fixed;left:16px;right:16px;top:calc(var(--hdr,72px) + 8px);width:auto;padding:12px 14px;margin:0;background:#0b0a09;border:1px solid rgba(243,237,227,.25);border-radius:4px;z-index:61}
  .rech-res{position:fixed;left:16px;right:16px;top:calc(var(--hdr,72px) + 62px);width:auto}
}
.nav-lien{white-space:nowrap}
/* recherche : champ et résultats transparents, sans trait ; une image par résultat */
.recherche input{border:0!important;border-bottom:0!important;background:transparent!important;box-shadow:none!important;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.recherche.ouverte input{border:0!important}
.rech-res{background:rgba(11,10,9,.28)!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none;backdrop-filter:none}
.rech-res a{display:flex!important;align-items:center;gap:12px;text-shadow:0 1px 10px rgba(0,0,0,.85)}
.rech-res img{width:64px;height:44px;object-fit:cover;flex:none;border-radius:0}
.rech-res .rr-t{min-width:0;display:block}
.rech-res a:hover,.rech-res a:focus-visible{background:rgba(243,237,227,.08)}
@media (max-width:1020px){.recherche.ouverte input{background:rgba(11,10,9,.3)!important;border:0!important}}
.recherche input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* v25 — superposition avant / après (curseur + balayage automatique à la première vue) */
.aa-cas{max-width:1180px;margin:clamp(40px,6vw,80px) auto 0;padding:0 16px;text-align:center}
.aa-cas h2{font-weight:400;margin:0 0 22px}
.aa{position:relative;margin:0 auto;overflow:hidden;line-height:0;user-select:none;-webkit-user-select:none;touch-action:pan-y;background:#111}
.aa img{width:100%;height:auto;display:block}
.aa-apres{position:absolute;inset:0;clip-path:inset(0 0 0 var(--p))}
.aa-apres img{width:100%;height:100%;object-fit:cover}
.aa-trait{position:absolute;top:0;bottom:0;left:var(--p);width:1px;background:rgba(243,237,227,.9);transform:translateX(-.5px);pointer-events:none}
.aa-poignee{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:1px solid rgba(243,237,227,.95);border-radius:50%;background:rgba(15,15,16,.35);backdrop-filter:blur(3px)}
.aa-poignee::before,.aa-poignee::after{content:"";position:absolute;top:50%;width:6px;height:6px;margin-top:-3px;border:solid rgba(243,237,227,.95);border-width:0 0 1px 1px}
.aa-poignee::before{left:11px;transform:rotate(45deg)}.aa-poignee::after{right:11px;transform:rotate(-135deg)}
.aa-lib{position:absolute;top:12px;font:400 .78rem/1 "Source Sans 3",sans-serif;letter-spacing:.04em;color:#F3EDE3;background:rgba(15,15,16,.45);padding:6px 10px;border-radius:999px;pointer-events:none;transition:opacity .4s}
.aa-lib-av{left:12px}.aa-lib-ap{right:12px}
.aa-curseur{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.aa-curseur:focus-visible{opacity:1;background:transparent;outline:2px solid #F3EDE3;outline-offset:-2px}
.aa-curseur:focus-visible::-webkit-slider-thumb{opacity:0}
.aa-texte{max-width:65ch;margin:22px auto 6px;line-height:1.6}
.aa-note{max-width:65ch;margin:0 auto;font-size:.85rem;opacity:.7}

/* v26 — un peu de couleur dans les écritures (18/10/2026) : deux accents chauds seulement, chic et sobres
   fond beige : titres cuivre brun, sous-titres rose terre ; fond noir : surtitres rose poudré, titres de cartes champagne */
:root{--cuivre:#6e4532;--rose-terre:#7d4f45;--rose-poudre:#d9b3a6}
.article h2,.aa-cas h2,.proches h2{color:var(--cuivre)}
.article h3{color:var(--rose-terre)}
.article strong,.article b{color:var(--cuivre);font-weight:600}
section:nth-of-type(even) .surtitre{color:var(--rose-poudre)!important}
.po-o{color:var(--rose-poudre)}

/* v27 — fiche Google (nom, note, avis) : sur téléphone seulement, posée sur le bouton « Ouvrir dans Maps » de la carte ; sur ordinateur, la fiche de Google */
@media (min-width:761px){.carte-fiche{display:none}}
@media (max-width:760px){.carte-fiche{left:10px;top:44px;padding:10px 14px 8px;max-width:calc(100% - 20px)}.carte-fiche .cf-l{margin-bottom:0}}
@media (max-width:760px){.carte-zone iframe{top:-64px!important;height:calc(100% + 64px)!important}}   /* le bouton « Ouvrir dans Maps » de Google sort du cadre : notre fiche le remplace */

/* v28 — barre du haut : noir transparent, le contenu qui passe dessous est flouté (illisible) ; demande du 18/10/2026 */
.entete,.entete.plein,.entete:focus-within,.entete.ouvert{background:rgba(11,10,9,.58)!important;-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.entete,.entete.plein{background:rgba(11,10,9,.9)!important}}

/* v29 — pied de page condensé (18/10/2026) : un seul bloc d'adresse, liens en lignes, couleurs et graisses variées, sobres */
.pied-in{grid-template-columns:minmax(260px,1fr) 1.4fr!important;gap:28px 64px!important;align-items:start}
.pied-marque p{margin:0 0 .55em;line-height:1.5}
.pied .pied-logo{width:150px;margin-bottom:18px}
.pied-adr .pa-rue{color:var(--cuivre)}
.pa-sep{color:var(--rose-terre);opacity:.7}
.pied-contact .pc-tel{font-weight:600;color:var(--encre);letter-spacing:.02em}
.pied-h b{font-weight:600;color:var(--rose-terre)}
.pied-liens a{color:var(--cuivre);border-bottom:1px solid rgba(110,69,50,.3)}
.pied-nav .pied-t{font-style:italic;color:var(--rose-terre);font-size:1.05rem;margin:0 0 .35em}
.pied-nav .pied-t ~ .pied-t{margin-top:1.1em}
.pied-ligne{display:flex!important;flex-wrap:wrap;gap:.25em 0!important;list-style:none;margin:0;padding:0}
.pied-ligne li:not(:last-child)::after{content:"·";color:var(--rose-terre);opacity:.6;margin:0 .6em}
.pied-ligne li:nth-child(3n+2) a{color:var(--cuivre)}
.pied-fin{max-width:var(--larg);margin:34px auto 0;padding-top:18px;border-top:1px solid var(--filet-clair);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.pied-fin .pied-bas{margin:0;padding:0;border:0}
@media (max-width:760px){.pied-in{grid-template-columns:1fr!important;gap:26px!important}}
/* engagements au-dessus du jardin : début de phrase en gras, couleurs alternées */
.engagements b{font-weight:500;color:var(--cuivre)}
.engagements li:nth-child(2) b{color:var(--rose-terre)}
.engagements li{color:var(--encre)}

/* v30 — pages de soins : présentation inspirée d'implants-parodontie.com (18/10/2026) : peu de texte, aéré, sous-sections en pastilles
   cliquables, première phrase en couleur, gras discret, sommaire flottant sans chiffres, apparition douce au défilement */
.bulles{list-style:none;margin:22px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:10px 10px;justify-content:center}
.bulles a{display:inline-block;padding:9px 16px;border:1px solid rgba(74,95,122,.55);border-radius:999px;color:#4a5f7a;font-family:var(--titre);font-weight:500;font-size:.86rem;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;line-height:1.2;transition:background .25s,color .25s,border-color .25s}
.bulles a:hover,.bulles a:focus-visible{background:rgba(74,95,122,.1);border-color:#4a5f7a;color:#324256}
.tete-page .bulles{max-width:820px;margin-left:auto;margin-right:auto}
.tete-page .bulles a{color:#b9c6d8;border-color:rgba(185,198,216,.55)}
.tete-page .bulles a:hover,.tete-page .bulles a:focus-visible{background:rgba(185,198,216,.12);border-color:#b9c6d8;color:#e6ecf4}
.article{max-width:62ch}
.article p{line-height:1.72;margin:0 0 1.35em}
.article h2{margin-top:2.2em;margin-bottom:.6em;font-size:clamp(1.55rem,2.6vw,2.05rem);line-height:1.2}
.article h3{margin-top:1.6em;font-size:1.25rem}
.article .amorce{color:var(--cuivre);font-weight:400}
.article strong,.article b{color:var(--encre);font-weight:600}
.article .liste li{margin-bottom:.5em;line-height:1.6}
.article .liste li strong{color:var(--rose-terre);font-weight:500}
.article-grille{grid-template-columns:1fr!important;justify-items:center}
/* sommaire flottant (comme sur le site du Docteur Hazout, sans numéros) : nom de la partie en cours, liste au clic ; discret et transparent */
.guide{position:fixed;z-index:45;top:calc(var(--hdr) + 12px);left:14px;color:var(--encre);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .3s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s linear .3s}
.guide.on{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s cubic-bezier(.2,.7,.2,1),visibility 0s}
.guide__bouton{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;max-width:min(60vw,360px);padding:.25rem 1rem .3rem;border-radius:999px;cursor:pointer;color:inherit;border:1px solid rgba(27,24,21,.22);background:rgba(214,206,194,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:400 .95rem/1.2 var(--titre)}
.guide__bouton .g-mot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.guide__bouton .g-ico{width:14px;height:14px;flex:none;opacity:.6}
.guide__bouton[aria-expanded="true"] .g-ico{transform:rotate(180deg)}
.guide__liste{list-style:none;margin:.5rem 0 0;padding:.7rem .9rem;display:grid;gap:.1rem;border-radius:16px;max-width:min(380px,calc(100vw - 28px));background:rgba(243,237,227,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(27,24,21,.12)}
.guide__liste[hidden]{display:none}
.guide__liste a{display:flex;align-items:center;gap:.55rem;min-height:36px;color:inherit;text-decoration:none;font:400 1.05rem/1.2 var(--titre);opacity:.68}
.guide__liste a::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.guide__liste a[aria-current="true"],.guide__liste a:hover{opacity:1;color:var(--cuivre)}
@media (max-width:700px){.guide__bouton,.guide__liste{-webkit-backdrop-filter:none;backdrop-filter:none}.guide__bouton{background:rgba(214,206,194,.8)}.guide__liste{background:rgba(243,237,227,.96)}}
/* apparition douce au défilement (sans flou, sans calque persistant) */
.article > *{opacity:1}
.reveal-pret .article > .a-venir{opacity:0;transform:translateY(12px)}
.reveal-pret .article > .vu{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.reveal-pret .article > .a-venir{opacity:1;transform:none}}
/* « Ouvert / Fermé en ce moment » (18/10/2026) : discret, après les horaires ; point sable quand c'est ouvert, gris quand c'est fermé */
.etat-ouv{display:inline-flex;align-items:center;gap:.4em;margin-left:.5em;font-size:.88em;color:var(--taupe);white-space:nowrap}
.etat-ouv::before{content:"";width:7px;height:7px;border-radius:50%;background:#9a9288}
.etat-ouv.ouvert::before{background:var(--champagne,#d8c4a2);box-shadow:0 0 0 3px rgba(216,196,162,.25)}
.etat-ouv.ouvert{color:var(--cuivre)}

/* v31 — bandes des spécialités (accueil) : titre crème, sous-titre champagne, pastilles bleu clair (18/10/2026) */
.spec-bande{display:block;color:inherit}
.spec-texte .c3-t{text-decoration:none;color:var(--creme)}
.spec-texte .c3-t:hover{color:var(--champagne)}
.spec-texte .c3-ton{color:var(--champagne);font-family:var(--titre);font-style:italic;font-size:1.22rem;line-height:1.35}
.spec-texte .c3-s + .c3-s{color:#ebe4d9;font-style:normal}
.bulles--spec{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;position:relative;z-index:3}
.spec-bande.d .bulles--spec{justify-content:flex-end}
.bulles--spec a{display:inline-block;padding:7px 13px;border:1px solid rgba(174,191,224,.6);border-radius:999px;color:#aebfe0;font-family:var(--titre);font-weight:500;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;line-height:1.2;transition:background .25s,border-color .25s,color .25s}
.bulles--spec a:hover,.bulles--spec a:focus-visible{background:rgba(174,191,224,.14);border-color:#aebfe0;color:#dfe7f4}
@media (max-width:760px){.spec-texte .bulles--spec{justify-content:flex-start}.bulles--spec a{font-size:.74rem;padding:6px 11px}}
.video-section{margin:18px 0 26px;border-radius:14px;overflow:hidden;background:#0b0a09}
.video-section video{display:block;width:100%;height:auto}

/* v32 — pastilles (19/10/2026) : crème doux au lieu du bleu, écriture plus petite, plusieurs par ligne, pas de majuscules ; même style partout */
.bulles a,.bulles--spec a,.tete-page .bulles a{color:#e2d6c0;border-color:rgba(226,214,192,.5);font-size:.72rem;letter-spacing:.06em;text-transform:none;padding:5px 11px;line-height:1.25;font-weight:400}
.bulles a:hover,.bulles a:focus-visible,.bulles--spec a:hover,.bulles--spec a:focus-visible,.tete-page .bulles a:hover,.tete-page .bulles a:focus-visible{background:rgba(226,214,192,.12);border-color:#e2d6c0;color:#f5efe4}
.bulles,.bulles--spec{gap:6px 6px}
.bulles--spec{max-width:620px}
.article-grille .bulles a{color:var(--cuivre);border-color:rgba(110,69,50,.45)}
@media (max-width:760px){.bulles a,.bulles--spec a,.tete-page .bulles a{font-size:.68rem;padding:4px 9px}.tete-page .bulles{gap:6px}}
/* 19/10 : pastilles en majuscules (petites capitales espacées), encadrées */
.bulles a,.bulles--spec a,.tete-page .bulles a{text-transform:uppercase;font-size:.64rem;letter-spacing:.1em;padding:6px 11px}
@media (max-width:760px){.bulles a,.bulles--spec a,.tete-page .bulles a{font-size:.6rem;padding:5px 9px}}
.image-section{margin:18px 0 26px;border-radius:14px;overflow:hidden;background:#0b0a09}
.image-section img{display:block;width:100%;height:auto}
.image-section figcaption{font-size:.84rem;color:var(--taupe);padding:8px 2px 0;background:transparent}
/* lien « Toute la visite » : même format que les pastilles (19/10/2026) */
.bulle-lien{display:inline-block;padding:7px 14px;border:1px solid rgba(226,214,192,.55);border-radius:999px;color:#e2d6c0;font-family:var(--titre);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;line-height:1.25;transition:background .25s,border-color .25s,color .25s}
.bulle-lien:hover,.bulle-lien:focus-visible{background:rgba(226,214,192,.12);border-color:#e2d6c0;color:#f5efe4}
.image-section{background:none;border-radius:0}
.image-section picture,.image-section img{border-radius:14px;overflow:hidden}
.image-section figcaption{font-style:italic;font-family:var(--titre);font-size:.95rem;color:var(--taupe);padding:8px 4px 0}
/* v33 — articles (19/10/2026) : métadonnées, sources, « À lire aussi », page d'index */
.art-meta{margin:14px 0 0;font-family:var(--titre);font-size:.95rem;color:#cfc6b9;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.art-brouillon{display:inline-block;padding:4px 10px;border:1px solid rgba(217,179,166,.6);border-radius:999px;color:var(--rose-poudre);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-family:var(--texte)}
.sources{margin-top:2.6em;padding-top:1.2em;border-top:1px solid var(--filet)}
.sources h2{font-size:1.15rem;margin:0 0 .6em;color:var(--rose-terre)}
.sources ul{margin:0;padding-left:1.2em}
.sources li{font-size:.9rem;line-height:1.5;color:var(--taupe);margin-bottom:.5em;word-break:break-word}
.sources a{color:var(--cuivre)}
.art-paro{margin-top:1.4em;font-size:.95rem;color:var(--taupe)}
.art-paro a{color:var(--cuivre)}
.a-lire .c3-t,.articles-liste .c3-t{font-size:1.25rem;line-height:1.25}
.a-lire .c3-s,.articles-liste .c3-s{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem}
.articles-liste{padding-top:clamp(30px,5vw,60px)}
.articles-liste .carte-3d{min-height:360px}
.articles-liste .c3-num{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#cfc6b9}
.articles-liste .c3-img::after,.a-lire .c3-img::after{background:linear-gradient(180deg,rgba(14,14,14,.28) 0%,rgba(14,14,14,.45) 35%,rgba(14,14,14,.93) 100%)}
.articles-liste .c3-num,.articles-liste .c3-t,.articles-liste .c3-s,.a-lire .c3-t,.a-lire .c3-s{text-shadow:0 1px 10px rgba(0,0,0,.55)}
/* ===== v34 (19/10/2026, Docteur Hazout) — le fondu d'une image prend la couleur de la section où elle se trouve : beige sur beige, noir sur noir ; jamais de noir ajouté ===== */
:root{--fond-ici:#0b0a09}
/* visite du cabinet : après l'en-tête, tout est sur le beige (diaporama, photos, légendes) */
.p-visite .bande-diapo,.p-visite .diaporama{background:var(--beige)!important}
.p-visite .galerie-bandes{background:var(--beige)!important;padding-bottom:clamp(60px,8vw,120px)}
.p-visite .galerie-bande + .galerie-bande .bande-cadre{margin-top:clamp(30px,5svh,70px)}
.p-visite .galerie-bande figcaption,.p-visite .galerie-bande.d figcaption{color:var(--cuivre);text-shadow:none}
/* légende sous la photo, sur le beige (les photos sont claires : un texte crème posé dessus ne se lisait pas) */
.p-visite .galerie-bande figcaption,.p-visite .galerie-bande.d figcaption{position:static;max-width:var(--larg);margin:0 auto;padding:12px var(--gout) 0;text-align:left;font-size:1.05rem;line-height:1.4}
.p-visite .galerie-bande.d figcaption{text-align:right}
/* accueil : « Entrez dans le cabinet » — le haut de la photo prolonge le noir des spécialités, son bas se fond dans le beige, puis les photos du cabinet sur le beige */
.p-accueil .bande-diapo{background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 38%,var(--beige) 60%,var(--beige) 100%)!important}
.p-accueil .diaporama{background:none!important}
.p-accueil .bande-diapo .diaporama-texte{padding-bottom:clamp(110px,19svh,200px)!important}
.p-accueil .panel-cabinet{background:var(--beige);padding:clamp(24px,4vw,56px) 0 clamp(30px,5vw,70px)}
/* puis l'équipe sur le noir : le beige y descend en dégradé long (même courbe que la sortie du noir vers le beige, plus bas) */
.p-accueil .equipe-accueil{padding-top:clamp(240px,42svh,460px)!important;background:linear-gradient(180deg,var(--beige) 0%,#d0c9bd 5%,#c1baaf 10%,#aaa49a 16%,#938c84 22%,#7c766f 28%,#65605a 34%,#4f4b47 40%,#3b3835 46%,#2a2826 52%,#1d1b19 58%,#131211 64%,#0d0c0b 70%,#0b0a09 76%,#0b0a09 calc(100% - clamp(220px,40svh,420px)),#1d1b19 calc(100% - clamp(165px,30svh,315px)),#524f4a calc(100% - clamp(110px,20svh,210px)),#aaa49a calc(100% - clamp(55px,10svh,105px)),var(--beige) 100%)!important}
@media (max-width:760px){
  .p-accueil .bande-diapo{background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 30%,var(--beige) 52%,var(--beige) 100%)!important}
  .p-accueil .bande-diapo .diaporama-texte{padding:10px var(--gout) 18px!important;margin-top:0!important}
  .p-accueil .bande-diapo .diaporama-texte h2{color:var(--cuivre);text-shadow:none}
  .p-accueil .bande-diapo .bulle-lien{color:var(--cuivre);border-color:rgba(110,69,50,.5)}
  .p-accueil .bande-diapo .bulle-lien:hover,.p-accueil .bande-diapo .bulle-lien:focus-visible{background:rgba(110,69,50,.08);border-color:var(--cuivre);color:var(--cuivre)}
  .p-accueil .equipe-accueil{padding-top:clamp(160px,30svh,300px)!important}
}
/* prendre rendez-vous : la photo de l'équipe est entre deux zones noires, son fondu reste noir */
.p-equipe .bande-tete{background:#0b0a09!important}
/* vidéos : plus de masque alpha sur la vidéo elle-même (lourd pour la carte graphique : saccades sur Windows) ; deux voiles fixes de la couleur de la section
   (spécificité au-dessus des anciennes règles .spec-bande .bande-cadre::before) */
.bande-cadre > video{-webkit-mask-image:none!important;mask-image:none!important}
.bande:not(.spec-bande) .bande-cadre:has(> video)::before,.bande:not(.spec-bande) .bande-cadre:has(> video)::after{content:"";display:block!important;position:absolute;left:0;right:0;height:calc(22% + 2px)!important;min-height:40px;z-index:1;pointer-events:none;transform:none!important;background-image:none!important;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.97) 8%,rgba(0,0,0,.88) 18%,rgba(0,0,0,.74) 30%,rgba(0,0,0,.56) 44%,rgba(0,0,0,.38) 58%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.09) 86%,transparent 100%)!important;mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.97) 8%,rgba(0,0,0,.88) 18%,rgba(0,0,0,.74) 30%,rgba(0,0,0,.56) 44%,rgba(0,0,0,.38) 58%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.09) 86%,transparent 100%)!important}
.bande:not(.spec-bande) .bande-cadre:has(> video)::before{top:-2px!important;bottom:auto!important;background-color:var(--fond-haut,var(--fond-ici))!important}
.bande:not(.spec-bande) .bande-cadre:has(> video)::after{bottom:-2px!important;top:auto!important;background-color:var(--fond-bas,var(--fond-ici))!important;-webkit-mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.97) 8%,rgba(0,0,0,.88) 18%,rgba(0,0,0,.74) 30%,rgba(0,0,0,.56) 44%,rgba(0,0,0,.38) 58%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.09) 86%,transparent 100%)!important;mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.97) 8%,rgba(0,0,0,.88) 18%,rgba(0,0,0,.74) 30%,rgba(0,0,0,.56) 44%,rgba(0,0,0,.38) 58%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.09) 86%,transparent 100%)!important}
.bande-tete .bande-cadre{--fond-haut:#0b0a09;--fond-bas:var(--beige)}
.p-equipe .bande-tete .bande-cadre{--fond-bas:#0b0a09}
/* vidéos et images plus espacées (accueil : bandes des spécialités ; pages : médias de section) */
.spec-bande + .spec-bande .bande-cadre{margin-top:clamp(48px,9svh,120px)}
@media (max-width:760px){.spec-bande + .spec-bande .bande-cadre{margin-top:clamp(26px,5svh,60px)}}
.video-section,.image-section{margin:1.8em 0 2.2em}
.video-section + .video-section,.image-section + .video-section,.video-section + .image-section,.image-section + .image-section{margin-top:2.4em}
.entete{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
/* « EN » / « FR » discret, sur toutes les pages, ordinateur et téléphone (comme sur implants-parodontie.com) */
.langue{width:auto;height:44px;padding:0 8px;border:0;border-radius:0;font-size:.76rem;letter-spacing:.16em;font-weight:400;color:#cfc6b9;text-transform:uppercase}
.langue:hover,.langue:focus-visible{color:var(--creme);text-decoration:underline;text-underline-offset:.35em}
@media (max-width:1020px){.entete-actions .langue{display:inline-grid;grid-column:4;grid-row:1;justify-self:center;width:40px;padding:0;font-size:.72rem;letter-spacing:.14em}}
/* aucun débordement horizontal (iPhone : la page se dézoomait sur Contact et accès) */
html{overflow-x:clip}
main{min-width:0;overflow-x:clip}
.article-grille,.article{min-width:0}
.article img,.article picture,.article video,.article figure{max-width:100%}
.spec-texte{box-sizing:border-box;max-width:100%}
/* accueil : plus de bandeau noir en bas de la photo (il contredisait le passage au beige) ; un simple voile sombre derrière le titre, à gauche */
.p-accueil .bande-diapo .diaporama-voile{display:block!important;background:radial-gradient(ellipse 62% 70% at 16% 78%,rgba(11,10,9,.72) 0%,rgba(11,10,9,.42) 38%,rgba(11,10,9,0) 72%)!important}
@media (max-width:760px){.p-accueil .bande-diapo .diaporama-voile{display:none!important}}
/* 19/10/2026 (après-midi) : bandes des spécialités de l'accueil remises comme avant (fondu noir d'origine sur la vidéo) */
.spec-bande .bande-cadre > video{-webkit-mask-image:var(--fondu-image)!important;mask-image:var(--fondu-image)!important}
/* 19/10/2026 (17 h 58) : entrée de « Notre équipe » = exactement la sortie du bas, inversée (même longueur, mêmes teintes) ;
   le dégradé est mesuré en longueur fixe (et non en % de la section, très haute sur téléphone) : le noir est atteint avant le titre */
.p-accueil .equipe-accueil{--L:clamp(220px,40svh,420px);padding-top:calc(var(--L) + clamp(30px,5vw,60px))!important;
  background:linear-gradient(180deg,var(--beige) 0,#aaa49a calc(var(--L) * .25),#524f4a calc(var(--L) * .5),#1d1b19 calc(var(--L) * .75),#0b0a09 var(--L),
  #0b0a09 calc(100% - var(--L)),#1d1b19 calc(100% - var(--L) * .75),#524f4a calc(100% - var(--L) * .5),#aaa49a calc(100% - var(--L) * .25),var(--beige) 100%)!important}
@media (max-width:760px){.p-accueil .equipe-accueil{padding-top:calc(var(--L) + 24px)!important}}
/* v35 — 19/10/2026 : cas 16 sur l'accueil en grand et en entier (vidéo 1920 × 800, jamais rognée), texte sous la vidéo pour bien voir les dents */
.spec-bande.spec-cas-facettes .bande-cadre{height:auto!important;min-height:0!important}
.spec-bande.spec-cas-facettes .bande-cadre > video{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1920/742!important;object-fit:contain!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important}
.spec-bande.spec-cas-facettes .bande-cadre::before,.spec-bande.spec-cas-facettes .bande-cadre::after{display:none!important}   /* 19/10, 22 h 18 : aucun voile par-dessus, la vidéo porte son propre fondu très court */
.spec-bande.spec-cas-facettes .bande-voile{display:none!important}
.spec-bande.spec-cas-facettes .spec-texte{position:relative!important;inset:auto!important;transform:none!important;margin:0 auto!important;padding:clamp(14px,3svh,34px) var(--gout) 26px!important;max-width:var(--larg)!important;width:100%;box-sizing:border-box}
/* 19/10/2026, 22 h 26 : la carte noire « Votre praticien » est retirée ; une simple ligne dans le thème de la section, lisible */
.praticien-ligne{margin:clamp(28px,5svh,56px) 0 0;font-size:1.05rem;line-height:1.6;color:inherit;opacity:.85}
.praticien-ligne a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
/* 19/10/2026, 22 h 30 — bandeaux de haut de page : la photo prend toute la largeur, puis un passage noir → beige long et progressif */
.bande-tete{background:#0b0a09!important}
.bande-tete .bande-cadre{--fond-bas:#0b0a09}
.bande-tete .bande-cadre > video[poster*="v-facettes-cas07-large"]{position:relative!important;inset:auto!important;display:block;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1600/640!important;object-fit:contain!important}
.bande-tete .bande-cadre:has(> video[poster*="v-facettes-cas07-large"]){height:auto!important;min-height:0!important}
.bande-tete.clair-apres .bande-apres{display:block!important;height:clamp(170px,28svh,340px)!important;background:linear-gradient(180deg,#0b0a09 0%,#0d0c0b 8%,#151311 16%,#221f1b 24%,#353029 32%,#4c463d 40%,#655d52 48%,#7e7567 56%,#968c7d 64%,#aba190 72%,#bcb2a2 80%,#c9c0b1 88%,#d1c9bb 94%,var(--beige) 100%)!important}
.bande-tete.clair-apres .bande-apres::before{display:none!important}
/* 19/10/2026, 22 h 41 : léger fondu de la photo vers le noir (un peu plus que le bord de 2-3 %, sans empiéter sur les dents) */
.spec-bande.spec-cas-facettes .bande-cadre > video,.bande-tete .bande-cadre > video[poster*="v-facettes-cas07-large"]{
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 3%,rgba(0,0,0,.75) 6.5%,#000 10%,#000 91%,rgba(0,0,0,.7) 95.5%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 4%,#000 96%,transparent 100%)!important;
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 3%,rgba(0,0,0,.75) 6.5%,#000 10%,#000 91%,rgba(0,0,0,.7) 95.5%,transparent 100%),linear-gradient(90deg,transparent 0%,#000 4%,#000 96%,transparent 100%)!important;
  -webkit-mask-composite:source-in;mask-composite:intersect}
/* présentation du praticien en pleine largeur : fond noir, dégradés beige → noir au-dessus et noir → beige en dessous */
.praticien-bande{position:relative;background:#0b0a09;color:var(--creme);margin:clamp(40px,7svh,90px) 0 0;padding:0}
.praticien-bande::before,.praticien-bande::after{content:"";display:block;height:clamp(150px,24svh,300px);pointer-events:none}
.praticien-bande::before{background:linear-gradient(180deg,var(--beige) 0%,#d1c9bb 6%,#c9c0b1 12%,#bcb2a2 20%,#aba190 28%,#968c7d 36%,#7e7567 44%,#655d52 52%,#4c463d 60%,#353029 68%,#221f1b 76%,#151311 84%,#0d0c0b 92%,#0b0a09 100%)}
.praticien-bande::after{background:linear-gradient(180deg,#0b0a09 0%,#0d0c0b 8%,#151311 16%,#221f1b 24%,#353029 32%,#4c463d 40%,#655d52 48%,#7e7567 56%,#968c7d 64%,#aba190 72%,#bcb2a2 80%,#c9c0b1 88%,#d1c9bb 94%,var(--beige) 100%)}
.pb-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px);width:100%;margin:0;padding:0 max(var(--gout),calc((100% - var(--larg)) / 2 + var(--gout))) 0 0;box-sizing:border-box}
.pb-img{display:block;position:relative;line-height:0}
.pb-img picture,.pb-img img{display:block;width:100%;height:auto;max-height:86svh;object-fit:cover;object-position:50% 20%}
.pb-img::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,0) 14%,rgba(11,10,9,0) 82%,#0b0a09 100%),linear-gradient(90deg,rgba(11,10,9,0) 70%,#0b0a09 100%)}
.pb-txt{display:flex;flex-direction:column;gap:12px}
.pb-sur{margin:0;font-size:.95rem;letter-spacing:.04em;color:var(--avoine)}
.pb-n{margin:0;font-family:var(--titre,inherit);font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.1}
.pb-n a{color:var(--creme);text-decoration:none}
.pb-o{margin:0;font-size:1.15rem;color:#e9dfcf}
.pb-lien{margin-top:10px;align-self:flex-start;color:var(--creme);text-decoration:none;border-bottom:1px solid rgba(245,239,228,.5);padding-bottom:3px}
.pb-lien:hover,.pb-lien:focus-visible{border-bottom-color:var(--creme)}
@media (max-width:760px){
  .pb-in{grid-template-columns:1fr;padding:0;gap:0}
  .pb-img::after{background:linear-gradient(180deg,#0b0a09 0%,rgba(11,10,9,0) 12%,rgba(11,10,9,0) 70%,#0b0a09 100%)}
  .pb-img picture,.pb-img img{max-height:none}
  .pb-txt{padding:0 var(--gout);margin-top:-8svh;position:relative;z-index:1}
}
/* ===== v36 — 19/10/2026, 22 h 51 : code esthétique du site appliqué partout
   Toute image ou vidéo de contenu prend toute la largeur de l'écran, posée sur un fond noir,
   avec un dégradé beige → noir au-dessus et noir → beige en dessous ; plus aucun encadré arrondi. ===== */
:root{--g-media:clamp(90px,15svh,190px);
  --g-desc:linear-gradient(180deg,var(--beige) 0%,#d1c9bb 6%,#c9c0b1 12%,#bcb2a2 20%,#aba190 28%,#968c7d 36%,#7e7567 44%,#655d52 52%,#4c463d 60%,#353029 68%,#221f1b 76%,#151311 84%,#0d0c0b 92%,#0b0a09 100%);
  --g-mont:linear-gradient(180deg,#0b0a09 0%,#0d0c0b 8%,#151311 16%,#221f1b 24%,#353029 32%,#4c463d 40%,#655d52 48%,#7e7567 56%,#968c7d 64%,#aba190 72%,#bcb2a2 80%,#c9c0b1 88%,#d1c9bb 94%,var(--beige) 100%);
  --fondu-photo:linear-gradient(180deg,transparent 0%,#000 7%,#000 93%,transparent 100%)}
.image-section,.video-section,.aa,.acces-photo{
  width:100vw!important;max-width:100vw!important;margin:clamp(26px,4svh,50px) calc(50% - 50vw)!important;
  border-radius:0!important;box-shadow:none!important;overflow:visible!important;
  background:var(--g-desc) top/100% var(--g-media) no-repeat,var(--g-mont) bottom/100% var(--g-media) no-repeat,#0b0a09!important;
  padding:var(--g-media) 0!important;box-sizing:border-box;position:relative}
.image-section picture,.image-section img,.video-section video,.acces-photo picture,.acces-photo img{
  display:block;width:100%!important;max-width:none!important;height:auto!important;border-radius:0!important;box-shadow:none!important;
  -webkit-mask-image:var(--fondu-photo);mask-image:var(--fondu-photo)}
.acces-photo picture{aspect-ratio:auto!important}
.image-section figcaption,.video-section figcaption{color:var(--creme)!important;opacity:.85;text-align:center;max-width:65ch;margin:18px auto 0!important;padding:0 var(--gout);font-style:italic}
/* avant / après : pleine largeur, sans pastilles ni rond */
.aa{line-height:0}
.aa > img,.aa .aa-apres{-webkit-mask-image:none;mask-image:none}
.aa .aa-apres{top:var(--g-media);bottom:var(--g-media)}
.aa .aa-trait{top:var(--g-media);bottom:var(--g-media)}
.aa-lib{top:calc(var(--g-media) + 14px)!important;background:none!important;border-radius:0!important;padding:0!important;font-size:.95rem!important;text-shadow:0 1px 6px rgba(0,0,0,.75)}
.aa-lib-av{left:var(--gout)!important}.aa-lib-ap{right:var(--gout)!important}
.aa-poignee{border-radius:0!important;border:0!important;background:none!important;backdrop-filter:none!important;width:44px!important}
.aa-poignee::before,.aa-poignee::after{width:9px;height:9px;margin-top:-4.5px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.8))}
.aa-poignee::before{left:4px}.aa-poignee::after{right:4px}
.aa-cas{max-width:none!important;padding:0!important}
.aa-cas h2,.aa-cas .aa-texte,.aa-cas .aa-note{padding:0 var(--gout)}
/* cartes « Soins proches » et « À lire aussi » : bord à bord, sans angle arrondi */
.proches .cartes-3d{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);gap:0!important;padding:0!important}
.carte-3d{border-radius:0!important;box-shadow:none!important;transform:none!important}
.carte-3d .c3-img,.carte-3d img{border-radius:0!important}
/* autres encadrés arrondis du contenu */
.info-carte,.po-img,.film-cadre,.sommaire{border-radius:0!important}
.proches .cartes-3d{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}
.proches .carte-3d{min-height:clamp(300px,42svh,520px)}
.info-carte{background:none!important;border:0!important;box-shadow:none!important;transform:none!important;padding:0!important}
/* ===== v37 — 20/10/2026, 4 h 29 : RÈGLE DU SITE — le fondu d'une photo prend toujours la couleur du fond qui l'entoure.
   Sur fond beige : la photo se fond dans le beige (aucune bande noire). Sur fond noir : dans le noir.
   Haut de page : noir au-dessus de la photo, beige en dessous, la photo se fond directement dans chacun. ===== */
:root{--fondu-v:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 2%,rgba(0,0,0,.25) 4.5%,rgba(0,0,0,.5) 7%,rgba(0,0,0,.75) 9.5%,rgba(0,0,0,.92) 12%,#000 15%,#000 85%,rgba(0,0,0,.92) 88%,rgba(0,0,0,.75) 90.5%,rgba(0,0,0,.5) 93%,rgba(0,0,0,.25) 95.5%,rgba(0,0,0,.08) 98%,transparent 100%)}
/* images et vidéos de contenu : pleine largeur, sans fond ajouté, fondu vers la couleur de la section */
.image-section,.video-section,.aa,.acces-photo{background:none!important;padding:0!important;margin:clamp(30px,5svh,60px) calc(50% - 50vw)!important}
.image-section picture,.image-section img,.video-section video,.acces-photo picture,.acces-photo img{-webkit-mask-image:var(--fondu-v)!important;mask-image:var(--fondu-v)!important}
.image-section picture img,.acces-photo picture img{-webkit-mask-image:none!important;mask-image:none!important}
.aa{-webkit-mask-image:var(--fondu-v)!important;mask-image:var(--fondu-v)!important}
.aa .aa-apres,.aa .aa-trait{top:0!important;bottom:0!important}
.aa-lib{top:16%!important}
.image-section figcaption,.video-section figcaption{color:inherit!important;opacity:.8}
/* bandeaux de haut de page : noir en haut, beige en bas, la photo se fond dans les deux */
.bande-tete:not(.p-equipe .bande-tete){background:linear-gradient(180deg,#0b0a09 0%,#0b0a09 50%,var(--beige) 50%,var(--beige) 100%)!important}
.p-equipe .bande-tete{background:#0b0a09!important}
.bande-tete.clair-apres .bande-apres,.bande-tete .bande-avant{height:0!important;background:none!important}
.bande-tete .bande-cadre::before,.bande-tete .bande-cadre::after{display:none!important}
.bande-tete .bande-cadre > picture,.bande-tete .bande-cadre > video{-webkit-mask-image:var(--fondu-v)!important;mask-image:var(--fondu-v)!important}
.bande-tete .bande-cadre > picture img{-webkit-mask-image:none!important;mask-image:none!important}
/* haut de la page Facettes : pas de fondu latéral (sinon le beige apparaît sur les côtés) ; le noir de la photo, sous les dents, se fond longuement dans le beige */
.bande-tete .bande-cadre > video[poster*="v-facettes-cas07-large"]{
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.3) 3%,rgba(0,0,0,.7) 7%,#000 11%,#000 74%,rgba(0,0,0,.85) 80%,rgba(0,0,0,.6) 86%,rgba(0,0,0,.33) 92%,rgba(0,0,0,.1) 97%,transparent 100%)!important;
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.3) 3%,rgba(0,0,0,.7) 7%,#000 11%,#000 74%,rgba(0,0,0,.85) 80%,rgba(0,0,0,.6) 86%,rgba(0,0,0,.33) 92%,rgba(0,0,0,.1) 97%,transparent 100%)!important;
  -webkit-mask-composite:source-over!important;mask-composite:add!important}
.bande.bande-tete .bande-cadre:has(> video)::before,.bande.bande-tete .bande-cadre:has(> video)::after,.bande.bande-tete .bande-cadre:has(> picture)::before,.bande.bande-tete .bande-cadre:has(> picture)::after,.bande.bande-tete .bande-cadre::before,.bande.bande-tete .bande-cadre::after{display:none!important;content:none!important}
.bande.bande-tete .bande-cadre{--fond-bas:var(--beige)}
.p-equipe .bande.bande-tete .bande-cadre{--fond-bas:#0b0a09}

/* 20/10/2026, 13 h 40 — demandes du Docteur Hazout */
/* plusieurs praticiens dans une même bande noire : un seul dégradé au-dessus et en dessous, les praticiens se suivent */
.praticien-bande.pb-plusieurs .pb-in + .pb-in{margin-top:clamp(28px,5svh,60px)}
/* vidéos de section : jamais rognées en hauteur (la vidéo garde ses proportions réelles, la hauteur vient de la largeur) */
.video-section video{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
/* cas 16 sur la page Esthétique (fond beige) : la vidéo se fond dans le beige en haut et en bas, pas de noir au-dessus de la gencive */
.video-section video[poster*="v-facettes-cas16"],.video-section video[poster*="v-esthetique"]{-webkit-mask-image:var(--fondu-v)!important;mask-image:var(--fondu-v)!important}
/* dessin au trait des facettes retiré de la vignette d'article : rien à styler */
/* 20/10/2026, 13 h 50 — Docteur Hazout : les illustrations et schémas (pas les photos ni les vidéos) étaient beaucoup trop grands et illisibles.
   Un schéma est affiché à une largeur de lecture (760 px au plus), centré, sans cadre ; les photos et vidéos restent en pleine largeur. */
.image-section.illus{margin-left:auto!important;margin-right:auto!important;width:min(760px,92vw)!important;max-width:min(760px,92vw)}
.image-section.illus picture,.image-section.illus img{-webkit-mask-image:none!important;mask-image:none!important;border-radius:0!important}
