/* Centre MESOS · accueil : couche « lumière ». Bleu marine, or, crème, Cormorant Garamond. Chargée après site-20.css, sur l'accueil seulement. */
:root{--night:#071a36;--gold-soft:rgba(196,161,90,.45);--ease:cubic-bezier(.2,.7,.2,1)}
.wrap{max-width:84rem}
.band{padding-block:clamp(4.5rem,11vw,9.5rem)}
h2{font-weight:400;font-size:clamp(2.4rem,5vw,4rem);line-height:1.02;letter-spacing:-.01em}
h2 em,.big em{font-style:italic;color:var(--gold-ink)}
.deep h2 em{color:var(--gold)}
.intro,.lead{font-weight:400}
.eye{display:flex;align-items:center;gap:1rem;margin-bottom:1.3rem;font-size:.7rem;letter-spacing:.26em}
.eye::before{content:"";flex:none;width:2.4rem;height:1px;background:var(--gold)}
.btn.gold{padding:1em 1.9em;border:1px solid var(--gold);background:transparent;color:var(--cream);font:500 .76rem/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;transition:background-color .35s ease,color .35s ease}
.btn.gold:hover{background:var(--gold);color:var(--navy)}
.band .btn:not(.gold){padding:1em 1.9em;background:var(--navy);color:var(--cream);font:500 .76rem/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.band .btn:not(.gold):hover{background:#143a6c}
main .acts a:not(.btn){font:italic 500 1.12rem/1 var(--serif);text-decoration-color:var(--gold-soft);text-underline-offset:.3em}
.chips{gap:.4rem 0;margin-top:1.3rem}
.chips li{padding:0;border:0;border-radius:0;font:italic 500 1.2rem/1.5 var(--serif)}
.chips li+li::before{content:"·";margin:0 .9rem;color:var(--gold)}
.chips li a{display:inline;min-height:0;padding:0;border:0;border-radius:0;font:inherit;text-decoration:underline;text-decoration-color:var(--gold-soft);text-underline-offset:.3em}
.chips li a:hover{text-decoration-color:var(--gold-ink)}
.more a{text-decoration-color:var(--gold-soft);text-underline-offset:.3em;transition:text-decoration-color .25s}
.more a:hover{text-decoration-color:var(--gold-ink);text-decoration-thickness:1px}
.prog{position:fixed;left:0;top:0;z-index:8;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;pointer-events:none}

/* Premier écran : la lumière */
.hx2{position:relative;min-height:calc(100svh - 7rem);display:grid;grid-template-rows:1fr auto;background:var(--night);color:var(--cream);overflow:hidden;isolation:isolate}
.hx2 .face{position:absolute;inset:0 0 0 42%;margin:0;overflow:hidden;z-index:0;background:var(--night)}
.hx2 .face .layer{position:absolute;inset:0;animation:kb 40s ease-in-out infinite alternate;will-change:transform}
.hx2 .face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hx2 .face svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hx2 .face::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,var(--night) 0,rgba(7,26,54,.82) 7%,rgba(7,26,54,.3) 18%,rgba(7,26,54,0) 30%),linear-gradient(0deg,var(--night) 0,rgba(7,26,54,.72) 12%,rgba(7,26,54,0) 38%),linear-gradient(180deg,rgba(7,26,54,.5) 0,rgba(7,26,54,0) 20%),linear-gradient(270deg,rgba(7,26,54,.35) 0,rgba(7,26,54,0) 14%);pointer-events:none}
@keyframes kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.06) translate(-1%,.8%)}}
.lum{position:absolute;left:0;top:0;z-index:1;width:48vmin;height:48vmin;border-radius:50%;background:radial-gradient(circle,rgba(255,244,222,.6) 0,rgba(255,244,222,.22) 38%,rgba(255,244,222,0) 70%);mix-blend-mode:soft-light;opacity:0;transition:opacity 1.6s ease;pointer-events:none;will-change:transform}
.lum.on{opacity:1}
.arcs2{position:absolute;left:-14vw;bottom:-30vw;width:66vw;height:66vw;z-index:1;pointer-events:none}
.arcs2 circle{fill:none;stroke:var(--gold);stroke-opacity:.16;vector-effect:non-scaling-stroke}
.arcs2 circle:nth-child(2){stroke-opacity:.11}.arcs2 circle:nth-child(3){stroke-opacity:.08}.arcs2 circle:nth-child(4){stroke-opacity:.05}
.hx2-t{position:relative;z-index:3;align-self:center;width:min(46rem,48%);padding:clamp(1.5rem,4vh,3.5rem) 0 clamp(1.5rem,4vh,3.5rem) var(--edge)}
.hx2 .kick{margin-bottom:1.5rem;font:500 .68rem/1.6 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.hx2 .big{font:300 clamp(3.4rem,6.6vw,6.8rem)/.94 var(--serif);letter-spacing:-.015em;text-wrap:initial}
.hx2 .big em{font-style:italic;color:var(--gold);font-weight:300}
.hx2 .big a{color:inherit;text-decoration:none}
.hx2 .big .w{display:inline-block;animation:rise 1.4s var(--ease) backwards}
.hx2 .big .w:nth-child(2){animation-delay:.16s}.hx2 .big .w:nth-child(3){animation-delay:.32s}.hx2 .big .w:nth-child(4){animation-delay:.48s}
.hx2 .rule{display:block;width:5.5rem;height:1px;margin-top:2.2rem;background:var(--gold);transform-origin:left;animation:grow 1.6s var(--ease) .7s backwards}
@keyframes grow{from{transform:scaleX(0)}}
.hx2 .def{max-width:42ch;margin-top:1.3rem;font:italic 400 clamp(1.18rem,1.65vw,1.42rem)/1.45 var(--serif);color:rgba(248,244,238,.86)}
.hx2 .def strong{font-style:italic;font-weight:500;font-size:1.05em;color:var(--gold)}
.hx2 .def a{color:inherit;text-decoration:none;border-bottom:1px solid var(--gold-soft);transition:border-color .25s}
.hx2 .def a:hover{border-color:var(--gold)}
.hx2 .intro{max-width:none;margin-top:1rem;font:400 .95rem/1.6 var(--sans);letter-spacing:.03em;color:rgba(248,244,238,.66)}
.hx2 .acts{margin-top:1.8rem;gap:1rem 2rem}
.hx2 .acts a:not(.btn){color:var(--cream)}
.hx2-t>*{animation:rise 1.2s var(--ease) backwards}
.hx2-t>:nth-child(1){animation-delay:.05s}.hx2-t>:nth-child(4){animation-delay:.6s}.hx2-t>:nth-child(5){animation-delay:.8s}.hx2-t>:nth-child(6){animation-delay:1s}
.hx2 .words{position:relative;z-index:3;border-top:1px solid rgba(248,244,238,.14);background:rgba(7,26,54,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hx2 .words li{font-weight:400;font-size:1.25rem;color:rgba(248,244,238,.8)}
.hx2 .words a{display:inline-block;padding:.3rem 0;text-decoration:none;transition:color .25s}
.hx2 .words a:hover{color:var(--gold)}
.glint{mix-blend-mode:soft-light}
.glint ellipse{opacity:0;transform:translate(330px,380px) rotate(-32deg);animation:glint 24s cubic-bezier(.4,0,.2,1) infinite}
@keyframes glint{0%,6%{opacity:0;transform:translate(330px,380px) rotate(-32deg)}12%{opacity:1}20%,100%{opacity:0;transform:translate(215px,650px) rotate(-32deg)}}
.holo .mesh{opacity:0;animation:mesh 24s ease-in-out infinite}
@keyframes mesh{0%,8%{opacity:0}14%,19%{opacity:.5}26%,100%{opacity:0}}
.holo .inner{opacity:0;animation:inner 24s ease-in-out infinite}
@keyframes inner{0%,17%{opacity:0}24%,52%{opacity:1}57%,100%{opacity:0}}
.holo .ring{fill:none;stroke:url(#hg);stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;animation:ring 24s ease-in-out infinite}
@keyframes ring{0%,15%{stroke-dashoffset:1;opacity:1}22%,52%{stroke-dashoffset:0;opacity:1}57%,100%{stroke-dashoffset:0;opacity:0}}
.holo .ring2{fill:none;stroke:#e8cf93;stroke-width:.8;stroke-dasharray:2 26;opacity:0;transform-box:fill-box;transform-origin:50% 50%;animation:ring2 24s ease-in-out infinite,spin 90s linear infinite}
@keyframes ring2{0%,19%{opacity:0}26%,52%{opacity:.55}57%,100%{opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
.holo .derm{transform-box:fill-box;transform-origin:50% 100%;animation:derm 24s ease-in-out infinite}
@keyframes derm{0%,36%{transform:none}46%,100%{transform:scaleY(.9)}}
.holo .fib{fill:none;stroke:#e8cf93;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;animation:fib 24s ease-in-out infinite}
.holo .fib:nth-of-type(2){animation-delay:.2s}.holo .fib:nth-of-type(3){animation-delay:.4s}.holo .fib:nth-of-type(4){animation-delay:.6s}.holo .fib:nth-of-type(5){animation-delay:.8s}.holo .fib:nth-of-type(6){animation-delay:1s}
@keyframes fib{0%,20%{stroke-dasharray:1 1;stroke-dashoffset:1;opacity:1}30%,36%{stroke-dasharray:1 1;stroke-dashoffset:0;opacity:1}46%,52%{stroke-dasharray:.055 .03;stroke-dashoffset:0;opacity:.8}57%,100%{stroke-dasharray:.055 .03;stroke-dashoffset:0;opacity:0}}
.holo .ela{fill:none;stroke:#b9c8bd;stroke-width:.8;stroke-dasharray:1 1;stroke-dashoffset:1;animation:ela 24s ease-in-out infinite}
.holo .ela:nth-of-type(2){animation-delay:.3s}.holo .ela:nth-of-type(3){animation-delay:.6s}
@keyframes ela{0%,24%{stroke-dasharray:1 1;stroke-dashoffset:1;opacity:.9}32%,36%{stroke-dasharray:1 1;stroke-dashoffset:0;opacity:.9}46%,52%{stroke-dasharray:.035 .045;stroke-dashoffset:0;opacity:.5}57%,100%{stroke-dasharray:.035 .045;stroke-dashoffset:0;opacity:0}}
.holo .drop{fill:rgba(246,230,226,.8);stroke:rgba(255,250,244,.9);stroke-width:.6;transform-box:fill-box;transform-origin:50% 50%;animation:drop 24s ease-in-out infinite,float 3.2s ease-in-out infinite alternate}
.holo .drop:nth-of-type(2n){animation-delay:.3s,.9s}.holo .drop:nth-of-type(3n){animation-delay:.6s,1.6s}
@keyframes drop{0%,26%{opacity:0;scale:.4}34%,36%{opacity:1;scale:1}46%,52%{opacity:.35;scale:.5}57%,100%{opacity:0;scale:.5}}
@keyframes float{to{translate:0 -4px}}
.layers{position:absolute;right:clamp(1rem,3vw,2.5rem);top:clamp(1.4rem,3vw,2.4rem);z-index:3;margin:0;padding:0;list-style:none;text-align:right;font:500 .64rem/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--cream)}
.layers li{opacity:.26;padding:.36rem 0;animation:lay 24s ease-in-out infinite}
.layers li::after{content:"";display:inline-block;width:1.4rem;height:1px;margin-left:.7rem;vertical-align:middle;background:var(--gold)}
.layers li:nth-child(1){animation-name:l1}.layers li:nth-child(2){animation-name:l2}.layers li:nth-child(3){animation-name:l3}.layers li:nth-child(4){animation-name:l4}
@keyframes l1{0%,17%{opacity:.26}21%,27%{opacity:1}31%,100%{opacity:.26}}
@keyframes l2{0%,23%{opacity:.26}27%,34%{opacity:1}38%,100%{opacity:.26}}
@keyframes l3{0%,29%{opacity:.26}33%,38%{opacity:1}42%,100%{opacity:.26}}
@keyframes l4{0%,36%{opacity:.26}40%,52%{opacity:1}57%,100%{opacity:.26}}
.hx2.off .face *,.hx2.off .layers li{animation-play-state:paused}

/* Manifeste */
.manif{padding-block:clamp(5rem,13vw,11rem);text-align:center;border-bottom:1px solid var(--line)}
.manif>*{margin-inline:auto}
.manif .eye{justify-content:center}
.manif .eye::before{display:none}
.manif .say{max-width:14ch;font:300 clamp(2.9rem,7.2vw,6.6rem)/.98 var(--serif);letter-spacing:-.015em}
.manif .say em{font-style:italic;color:var(--gold-ink)}
.manif .sub{max-width:44ch;margin-top:2rem;font:italic 400 clamp(1.15rem,1.6vw,1.4rem)/1.5 var(--serif);color:var(--soft)}
.manif .ln{display:block;width:1px;height:5rem;margin-top:2.6rem;background:linear-gradient(var(--gold),rgba(196,161,90,0))}

/* Ce qui vous amène : index éditorial */
.lux{margin-top:2.8rem;padding:0;list-style:none;counter-reset:lx;border-top:1px solid var(--navy)}
.lux li{counter-increment:lx;border-bottom:1px solid var(--line)}
.lux a{display:grid;grid-template-columns:3.4rem minmax(0,5fr) minmax(0,6fr) auto;align-items:baseline;column-gap:1.6rem;padding:1.35rem 0;text-decoration:none;transition:padding .45s var(--ease),background-color .45s ease,color .45s ease}
.lux a::before{content:counter(lx,decimal-leading-zero);font:500 .74rem/1 var(--sans);letter-spacing:.18em;color:var(--gold-ink);font-variant-numeric:lining-nums}
.lux b{font:400 clamp(1.9rem,3.4vw,3rem)/1 var(--serif);letter-spacing:-.01em}
.lux i{font:italic 500 1.2rem/1.3 var(--serif);color:var(--soft);transition:color .45s}
.lux span{font:500 .7rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);white-space:nowrap;transition:color .45s}
.lux span::after{content:"→";display:inline-block;margin-left:.6rem;transition:transform .35s var(--ease)}
.lux a:hover,.lux a:focus-visible{padding-left:1.4rem;padding-right:1rem;background:var(--navy);color:var(--cream)}
.lux a:hover i,.lux a:focus-visible i{color:var(--pale)}
.lux a:hover span,.lux a:focus-visible span,.lux a:hover::before,.lux a:focus-visible::before{color:var(--gold)}
.lux a:hover span::after{transform:translateX(5px)}
.acn{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.6rem,4vw,3.4rem);align-items:center;margin-top:3.4rem;padding:clamp(2rem,4vw,3.4rem);border:1px solid var(--gold-soft);background:var(--sand)}
.acn h3{max-width:22ch;margin-top:.5rem;font:400 clamp(1.7rem,2.8vw,2.4rem)/1.12 var(--serif)}
.acn p{max-width:52ch;margin-top:.9rem;color:var(--soft)}
.acn .acn-l{display:flex;flex-wrap:wrap;gap:0 1.3rem;margin-top:.9rem}
.acn .acn-l a{display:inline-flex;align-items:center;min-height:44px;font:italic 500 1.15rem/1 var(--serif);color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold-soft);text-underline-offset:.3em}
.acn .acn-l a:hover{text-decoration-color:var(--gold-ink)}
.acn-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.acn-f svg{display:block;width:100%;height:auto;border:1px solid var(--line)}
.acn-f span{display:block;margin-top:.5rem;font:500 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}

/* Interlude : la lumière sur la pommette */
.regard{position:relative;isolation:isolate;height:clamp(24rem,64vh,40rem);overflow:hidden;background:var(--night);color:var(--cream)}
.regard figure{position:absolute;inset:0;margin:0;overflow:hidden}
.regard img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover;object-position:50% 40%;will-change:transform}
.regard figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,26,54,.88) 0,rgba(7,26,54,.45) 36%,rgba(7,26,54,0) 68%),linear-gradient(180deg,rgba(7,26,54,.3) 0,rgba(7,26,54,0) 30%)}
.regard-t{position:absolute;left:0;right:0;bottom:clamp(2.2rem,6vh,4.2rem);z-index:2}
.regard .eye{color:var(--gold)}
.regard .say2{max-width:20ch;font:300 clamp(2.2rem,4.8vw,4.3rem)/1.04 var(--serif)}
.regard .say2 em{font-style:italic;color:var(--gold)}
.regard .more{margin-top:1.4rem}
.regard .more a{color:var(--cream);font:italic 500 1.12rem/1 var(--serif);text-decoration-color:var(--gold-soft)}

/* Ralentir / Traiter */
.duo2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:3rem}
.duo2>div{padding:clamp(2rem,4vw,3.4rem)}
.duo2 .slow{background:var(--cream);border:1px solid var(--gold-soft)}
.duo2 .treat{background:var(--navy);color:var(--cream)}
.duo2 .w{font:300 clamp(2.6rem,6vw,5.4rem)/1 var(--serif);letter-spacing:-.01em}
.duo2 .treat .w{color:var(--gold)}
.duo2 h3{margin-top:1rem;font:italic 400 1.6rem/1.2 var(--serif)}
.duo2 p{max-width:40ch;margin-top:.9rem;color:var(--soft)}
.duo2 .treat p{color:var(--pale)}
.treat .chips li{color:var(--cream)}
.duo2 .more a{color:inherit}

/* La consultation */
.cons .duo{align-items:center}
.cab{max-width:30rem;margin:0;justify-self:end}
.cab .portrait{max-width:none}
.cab img{aspect-ratio:4/5;object-fit:cover}
.cab figcaption{margin-top:1.1rem;font:500 .7rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink)}
.foot .rdv .acts{max-width:none}
.g4h{margin-top:clamp(3rem,7vw,5rem)}.g4h h3{max-width:28ch;margin-top:.6rem;font:400 clamp(1.5rem,2.6vw,2.1rem)/1.15 var(--serif)}.g4h+.g4{margin-top:1.6rem}
.g4 dt{font-weight:400}

/* Le médecin */
.portrait{padding:0 1.2rem 1.2rem 0}
.portrait::before{inset:1.2rem 0 0 1.2rem;border-color:var(--gold-soft)}
.portrait img{border-radius:0}
.keyline{font:italic 300 clamp(2rem,4vw,3.4rem)/1.12 var(--serif);max-width:22ch}
.doc .keyline{max-width:24ch;padding-top:2rem;border-top:1px solid rgba(248,244,238,.22)}
.doc .g3 h3{font-weight:400;font-size:1.55rem}
.deep .g3 p a,.deep .more a{color:var(--cream)}
@media(min-width:62rem){.deep .g3.four{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Peaux mates */
.pm .intro{font-size:1.18rem}
.pm .portrait{max-width:24rem;justify-self:end}

/* Apparition et images */
.rvon .rv{transition-duration:1.1s}
.rvon .rv img{transform:scale(1.06);transition:transform 1.8s var(--ease)}
.rvon .rv.in img{transform:none}
.portrait{overflow:visible}
.portrait img{display:block}

/* Tablette et téléphone */
@media(max-width:62rem){
.hx2{display:flex;flex-direction:column;min-height:0}
.hx2 .face{position:relative;inset:auto;order:-1;height:min(82vw,30rem)}
.hx2 .face::after{background:linear-gradient(0deg,var(--night) 0,rgba(7,26,54,.62) 16%,rgba(7,26,54,0) 48%),linear-gradient(180deg,rgba(7,26,54,.35) 0,rgba(7,26,54,0) 24%)}
.lum,.arcs2{display:none}
.hx2-t{width:auto;margin-top:-4.6rem;padding:0 var(--pad) 2.8rem}
.hx2 .kick{margin-bottom:1rem;font-size:.6rem;letter-spacing:.22em}
.hx2 .big{font-size:clamp(2.7rem,11vw,4.6rem)}
.hx2 .rule{margin-top:1.4rem}
.hx2 .def{margin-top:1.2rem;font-size:1.12rem}
.hx2 .acts{margin-top:1.6rem}
.layers,.holo .mesh,.holo .ela,.holo .ring2{display:none}
.lux a{grid-template-columns:2.4rem minmax(0,1fr);row-gap:.25rem;padding:1.1rem 0}
.lux a::before{grid-row:1/3}
.lux i{grid-column:2;font-size:1.05rem}
.lux span{display:none}
.lux a:hover,.lux a:focus-visible{padding-left:.6rem;padding-right:.6rem}
.lux b{font-size:1.9rem}
.acn{grid-template-columns:minmax(0,1fr)}.acn-f{max-width:30rem}
.duo2{grid-template-columns:minmax(0,1fr)}.duo2 .w{font-size:2.6rem}
.cab,.pm .portrait{max-width:26rem;justify-self:start}
.regard{height:clamp(22rem,60vh,32rem)}
}
@media(max-width:36rem){
.btn.gold,.band .btn:not(.gold){white-space:normal;text-align:center;padding:.95em 1.3em;font-size:.72rem;letter-spacing:.16em}
.hx2 .face{height:84vw}
.hx2-t{margin-top:-3.6rem;padding-bottom:2.2rem}
.hx2 .intro{margin-top:.8rem;font-size:.88rem}
.hx2 .def{margin-top:1rem}
.hx2 .acts{margin-top:1.4rem}
.hx2 .words li{font-size:1.05rem}
.manif .say{font-size:clamp(2.4rem,11vw,3.4rem)}
.lux b{font-size:1.65rem}
.acn{padding:1.5rem}
.regard .say2{font-size:1.9rem}
}
@media(max-width:22.5rem){
.hx2 .face{height:66vw}
.hx2-t{margin-top:-2.6rem}
.hx2 .def{font-size:1.02rem}
}
@media(prefers-reduced-motion:reduce){
.hx2 .face .layer,.hx2 .big .w,.hx2 .rule,.hx2-t>*,.glint ellipse,.holo .mesh,.holo .inner,.holo .ring,.holo .ring2,.holo .derm,.holo .fib,.holo .ela,.holo .drop,.layers li{animation:none}
.glint,.lum{display:none}
.holo .inner{opacity:.9}
.holo .ring{stroke-dashoffset:0;opacity:.9}
.holo .ring2{opacity:.4}
.holo .fib,.holo .ela{stroke-dashoffset:0;opacity:.85}
.holo .drop{opacity:.85}
.layers li{opacity:.8}
.lux a{transition:none}
.rvon .rv img{transform:none;transition:none}
.regard img{top:0;height:100%}
}