/* Pages de soin (/traitements-esthetiques-dentaires/<soin>) — fabriquées par outils/soins.py */
.s-hero .sf-hl .lead.s-chapo{font-family:Aegean;font-size:clamp(19px,1.6vw,27px)!important;line-height:1.35!important;max-width:30ch!important;color:rgba(243,238,230,.88)!important}
.ap-hero.sf-hero.a-hero.s-hero h1 .l0{font-size:clamp(38px,4.3vw,92px)!important;max-width:12ch!important}
.ap-hero.sf-hero.a-hero.s-hero h1 .l1{font-size:clamp(13px,1vw,17px)!important;letter-spacing:.24em!important;text-transform:uppercase;font-family:Satoshi,system-ui,sans-serif;color:#A7B09C;margin-top:1.4em!important}
.s-hero .p-hv .vid{animation:none!important;transform:none!important;object-position:50% 50%}
.s-hero .p-hv img{display:none}

/* colonne de lecture plus large que celle d'un article */
.s-wrap{max-width:calc(var(--W) + 2*clamp(16px,5vw,64px))}
.a-body.s-body{max-width:none;font-size:clamp(16px,1.08vw,18px)}
.a-body .s-sec{display:block;position:relative;padding-top:1.4em}
.s-sec+.s-sec{margin-top:5.5em;border-top:1px solid rgba(11,10,9,.12);padding-top:3.2em}
.s-num{position:absolute;right:0;top:var(--num-top,0px);font-family:Aegean;font-size:clamp(56px,5.2vw,96px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(11,10,9,.42);pointer-events:none;user-select:none;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1),color .9s .5s;line-height:1}
.s-sec.vu .s-num{opacity:1;transform:none;color:#CDD2C3;-webkit-text-stroke-color:transparent}

.a-body .s-sec h2 .s-s{font-family:Aegean;font-size:clamp(18px,1.4vw,24px);line-height:1.3;color:#5c6354;font-weight:400}
.a-body .s-sec h2{display:flex;flex-direction:column;gap:12px;margin:0 0 1.2em!important;padding:0 clamp(160px,12vw,210px) 0 0!important;border:0!important;scroll-margin-top:110px}
.a-body .s-sec h2 .s-k{font:500 11px/1.2 Satoshi,system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#5c6354}
.a-body .s-sec h2 .s-t{font-family:Aegean;font-weight:400;font-size:clamp(28px,2.6vw,46px);line-height:1.1;max-width:22ch;color:var(--ink)}
.s-corps>*+*{margin-top:1.15em}
.s-corps>p{max-width:72ch}
.s-texte .s-corps>.a-tbl{max-width:72ch}  /* sections sans photo : tableau aligné sur la largeur du texte */
.s-corps ul,.s-corps ol{max-width:72ch}

/* 01 définition : photo en arche à gauche, texte à droite */
.s-definition .s-corps{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:clamp(28px,4vw,64px);align-items:stretch}
.s-definition .s-fig,.s-media .s-fig{margin:0!important;min-height:0;display:flex}
.s-definition .s-fig .a-ph,.s-media .s-fig .a-ph{flex:1;height:100%;min-height:300px;overflow:hidden}
.s-definition .s-fig .a-ph{border-radius:999px 999px 18px 18px}
.s-definition .s-fig .a-ph img,.s-media .s-fig .a-ph img{width:100%;height:100%;max-height:none;object-fit:cover}
.s-txt>*+*{margin-top:1.15em}
.s-definition .s-txt,.s-media .s-txt{margin-top:0;align-self:center;max-width:62ch}
.s-definition .s-txt p,.s-media .s-txt p,.s-media .s-txt li{text-wrap:pretty;hyphens:auto}

/* 03 philosophie : la vidéo du soin en grand, le texte dans une carte posée dessus */
.s-video .s-corps{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;min-height:min(78vh,720px);border-radius:22px;overflow:hidden;background:#0b0a09}
.s-video .s-video{position:absolute;inset:0;margin:0}
.s-video .s-video video{width:100%;height:100%;object-fit:cover;opacity:.92}
.s-video .s-txt{position:relative;z-index:1;grid-column:1;margin:clamp(20px,3vw,44px);padding:clamp(24px,2.6vw,40px);border-radius:18px;background:rgba(243,238,230,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:15.5px;line-height:1.7}
.s-video .s-txt>*+*{margin-top:.9em}

/* 02 indications : 5 cartes photo, vivantes au survol */
.s-inds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:.4em 0 0}
.s-ind{min-width:0}
.s-ind-ph{margin:0!important}
.s-ind-ph .a-ph{aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#d9d4ca}
.s-ind{border-radius:16px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.s-ind-ph .a-ph{box-shadow:0 0 0 0 rgba(167,176,156,0);transition:box-shadow .5s,transform .6s cubic-bezier(.2,.7,.2,1)}
.s-ind-ph img{width:100%;height:100%;object-fit:cover}
.s-ind:hover{transform:translateY(-10px);transition:transform .55s cubic-bezier(.34,1.56,.64,1)}
.s-ind:hover .s-ind-ph .a-ph{box-shadow:0 22px 44px rgba(11,10,9,.16),0 0 0 2px #A7B09C}

.s-ind h3{background:linear-gradient(#A7B09C,#A7B09C) 0 100%/0 2px no-repeat;display:inline-block;transition:background-size .6s cubic-bezier(.2,.7,.2,1)}
.s-ind:hover h3{background-size:100% 2px}
.a-body .s-ind h3{font-size:clamp(19px,1.35vw,23px);margin:16px 0 8px}
.s-ind p{font-size:14.5px;line-height:1.6;color:#4a463f}

/* sections avec une photo : photo à droite, texte à gauche ; le tableau prend toute la largeur */
.s-media .s-corps{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:clamp(28px,4vw,64px);align-items:stretch}
.s-media .s-txt{grid-column:1;grid-row:1}
.s-media .s-fig{grid-column:2;grid-row:1}
.s-media .s-fig .a-ph{border-radius:18px}
.s-media .s-corps>.a-tbl{grid-column:1/-1}

/* tableaux : fond uni, lignes fines, pas de bandeau noir */
.a-body .s-tbl,.a-body .s-tarifs{background:#F7F4EE;border:1px solid rgba(11,10,9,.1);border-radius:18px;padding:6px 26px 14px}
.a-body .s-tbl table,.a-body .s-tarifs table{font-size:16px;line-height:1.55}
.a-body .s-tbl caption,.a-body .s-tarifs caption{padding:22px 0 10px;font-family:Aegean;font-size:clamp(19px,1.4vw,24px);text-transform:none;letter-spacing:0;color:var(--ink)}
.a-body .s-tbl th,.a-body .s-tarifs th{background:none;color:#5c6354;font:500 11px/1.3 Satoshi,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;padding:14px 18px 12px 0;border-bottom:1px solid rgba(11,10,9,.25);text-align:left}
.a-body .s-tbl td,.a-body .s-tarifs td{background:none;padding:15px 18px 15px 0;border-bottom:1px solid rgba(11,10,9,.1);vertical-align:top;color:#34312c}
.a-body .s-tbl tr:last-child td,.a-body .s-tarifs tr:last-child td{border-bottom:0}
.a-body .s-tbl tbody tr:hover td,.a-body .s-tarifs tbody tr:hover td{background:rgba(167,176,156,.14)}
.a-body .s-tbl td:first-child{font-weight:500;color:var(--ink);width:22%}
.a-body .s-tbl td:nth-child(2){color:var(--ink)}
.s-tbl{position:relative}
.s-tbl-hint{display:none;margin:0;padding:12px 20px 0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#5c6354}
.a-tbl th{white-space:nowrap}
.a-tbl td:first-child{font-weight:500;color:var(--ink)}
.s-tarifs table{min-width:0}
.a-body .s-tarifs td:last-child{font-family:Aegean;font-size:19px;color:var(--ink);white-space:nowrap;text-align:right;padding-right:0}
.a-body .s-tarifs th:last-child{text-align:right;padding-right:0}
@media(max-width:700px){.s-tbl-hint{display:block}}

/* 05 cas cliniques : comparateurs à glisser */
.s-cas .s-corps>p:first-of-type{font-family:Aegean;font-size:clamp(20px,1.6vw,26px);color:var(--ink);max-width:none}
.s-cas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:1.6em}
.s-cas-grid[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px}
.s-cas-grid[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}
/* arbre de décision (page Icon) */
.s-media .s-corps>.s-arbre{grid-column:1/-1}
.s-arbre{margin:2.2em 0 0;background:#F7F4EE;border:1px solid rgba(11,10,9,.1);border-radius:18px;padding:30px clamp(20px,3vw,40px) 26px;text-align:center}
.s-arbre-q{font-family:Aegean;font-size:clamp(20px,1.6vw,26px);line-height:1.25;margin:0 0 38px;color:var(--ink)}
.s-arbre-b{display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative;--tr:rgba(11,10,9,.28)}
.s-arbre-b::before{content:"";position:absolute;left:50%;top:-38px;height:19px;width:1px;background:var(--tr)}.s-arbre-b::after{content:"";position:absolute;left:25%;right:25%;top:-19px;height:1px;background:var(--tr)}
.s-arbre-c{position:relative;background:#fff;border:1px solid rgba(11,10,9,.1);border-radius:14px;padding:22px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .5s cubic-bezier(.34,1.4,.64,1),box-shadow .5s}.s-arbre-c::before{content:"";position:absolute;left:50%;top:-20px;height:19px;width:1px;background:var(--tr)}.s-arbre-c:hover{transform:translateY(-6px);box-shadow:0 18px 40px -22px rgba(11,10,9,.35)}
.s-arbre-c.oui{border-top:3px solid var(--sauge)}.s-arbre-c.non{border-top:3px solid rgba(11,10,9,.35)}
.s-arbre-k{font:500 11px/1 Satoshi,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#5c6354}
.s-arbre-c small{font-size:13px;color:#6b6761;line-height:1.4}
.s-arbre-c strong{font-family:Aegean;font-weight:400;font-size:21px;margin-top:8px;color:var(--ink)}
.s-arbre-c p{margin:0;font-size:15px}.s-arbre-c em{font-style:normal;font-size:13px;color:#5c6354}
.s-arbre-n{margin:20px 0 0;font-size:13px;color:#6b6761;line-height:1.5}
@media (max-width:640px){.s-arbre-b{grid-template-columns:1fr}.s-cas-grid[data-n="2"],.s-cas-grid[data-n="4"]{grid-template-columns:1fr}}
.s-cas{margin:0}
.s-cmp{--p:50%;position:relative;aspect-ratio:var(--r,1.6);border-radius:16px;overflow:hidden;background:#1b1a18;cursor:ew-resize;touch-action:pan-y;user-select:none}
.s-cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.s-cmp img.af{clip-path:inset(0 0 0 var(--p))}
.s-cmp .ln{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 16px rgba(255,255,255,.6)}
.s-cmp .hd{position:absolute;top:50%;left:var(--p);width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;box-shadow:0 8px 26px rgba(0,0,0,.3);transition:transform .3s}
.s-cmp:hover .hd{transform:scale(1.08)}
.s-cmp .hd svg{width:22px;height:22px}
.s-cmp .lb{position:absolute;top:12px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:rgba(11,10,9,.42);backdrop-filter:blur(6px);color:#fff}
.s-cmp .lb.a{left:12px}.s-cmp .lb.b{right:12px}
.s-cas figcaption{margin-top:12px;font-size:14px;color:#4a463f}
.a-body .s-cas .a-quiz{max-width:none!important;width:100%;grid-template-columns:1fr auto!important}
.a-body .s-cas .s-corps{display:block}
.a-body .s-cas .s-corps>*{max-width:none}
.a-body .a-faq summary{font-family:Satoshi,system-ui,sans-serif;font-weight:500;font-size:clamp(16px,1.15vw,18.5px);line-height:1.45;color:var(--ink)}
.s-cas-n{display:block;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:#5c6354;margin-bottom:4px}
.s-cas-all{display:inline-flex;align-items:center;gap:10px;margin-top:1.8em;font:500 11px/1.2 Satoshi,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
@property --p{syntax:'<percentage>';inherits:true;initial-value:50%}

/* 07 cabinet : carte compacte puis le texte */
.s-cab{display:grid;grid-template-columns:1.2fr 1fr auto;gap:clamp(20px,3vw,44px);align-items:center;padding:26px 30px;border-radius:18px;background:var(--ink);color:var(--ivory);margin-bottom:2.2em}
.s-cab-k{font:500 10.5px/1.2 Satoshi,system-ui,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:#A7B09C;margin:0 0 10px}
.a-body .s-cab a{color:var(--ivory);background:none;padding:0}
.s-cab-adr{display:block;line-height:1.5;text-decoration:underline;text-decoration-color:rgba(243,238,230,.3);text-underline-offset:4px}
.s-cab-tel{display:block;margin-top:8px;font-family:Aegean;font-size:24px}
.s-cab-h{display:grid;gap:4px;margin:0;font-size:13px}
.s-cab-h div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(243,238,230,.12)}
.s-cab-h dt{color:rgba(243,238,230,.62)}.s-cab-h dd{margin:0}
.s-cab-bt{display:flex;flex-direction:column;gap:10px}
.a-body .s-cab-bt a{text-align:center;padding:12px 20px;border-radius:999px;font:500 11px/1 Satoshi,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;background:var(--ivory);color:var(--ink);white-space:nowrap}
.a-body .s-cab-bt a.s-cab-it{background:transparent;color:var(--ivory);border:1px solid rgba(243,238,230,.4)}
.s-cabinet .s-corps>p,.s-cabinet .s-corps>ul{max-width:76ch}

/* 09 aller plus loin */
.s-plus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(28px,4vw,64px)}
.s-plus-k{font:500 11px/1.2 Satoshi,system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#5c6354;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(11,10,9,.12)}
.s-vids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.s-vid{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#1b1a18;cursor:pointer;border:0;padding:0}
.s-vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.s-vid:hover img{transform:scale(1.05)}
.s-vid .p-play{width:46px;height:46px;margin:-34px 0 0 -23px}
.s-vid-t{position:absolute;left:12px;right:12px;bottom:12px;font:500 10.5px/1.3 Satoshi,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-align:left;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.s-arts{display:grid;gap:12px}
.a-body .s-art{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;background:none;padding:10px;margin:0 -10px;border-radius:14px;transition:background .3s}
.a-body .s-art:hover{background:rgba(11,10,9,.05)}
.s-art-im{display:block;aspect-ratio:3/2;border-radius:10px;overflow:hidden}
.s-art-im img{width:100%;height:100%;object-fit:cover}
.s-art-tx{display:block;font-family:Aegean;font-size:clamp(17px,1.25vw,21px);line-height:1.2;color:var(--ink)}
.s-art-tx small{display:block;font:500 10px/1.2 Satoshi,system-ui,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#5c6354;margin-bottom:6px}
.s-art-tx i{font-style:normal;margin-left:8px;transition:transform .4s}
.s-art:hover .s-art-tx i{transform:translateX(4px)}
.a-body .s-plus-l{display:inline-block;margin-top:18px;font:500 11px/1.2 Satoshi,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;background:none;padding:0}

@media(max-width:1099px){.s-num{display:none}.a-body .s-sec h2{padding-right:0!important}}
@media(max-width:900px){
  .s-video .s-corps{display:block;min-height:0;background:none;border-radius:0;overflow:visible}.s-video .s-video{position:relative;aspect-ratio:16/10;border-radius:18px;overflow:hidden}.s-video .s-txt{margin:40px 0 0;padding:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:16px}
  .s-hero .sf-hl .lead.s-chapo{font-size:18px!important;max-width:calc(100% - 70px)!important}
  .s-definition .s-corps,.s-media .s-corps{grid-template-columns:1fr}
  .s-definition .s-fig,.s-media .s-fig{grid-row:auto;grid-column:1;max-width:420px}.s-definition .s-fig .a-ph,.s-media .s-fig .a-ph{aspect-ratio:4/5;min-height:0}
  .s-media .s-txt{grid-row:auto}
  .s-inds{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding:0 16px 10px;scrollbar-width:none}
  .s-inds::-webkit-scrollbar{display:none}
  .s-ind{flex:0 0 58vw;scroll-snap-align:start}.s-ind-ph .a-ph{aspect-ratio:4/5}.a-body .s-ind h3{font-size:19px}.s-ind p{font-size:14px}
  .s-cas-grid{grid-template-columns:1fr}
  .s-cab{grid-template-columns:1fr;padding:22px}
  .s-plus{grid-template-columns:1fr}
}

/* téléphone / tablette : barre de sections collante sous le menu (comme la barre horizontale de l'ancien site) */
.s-bar{display:none}
@media(max-width:1099px){
  .s-bar{display:block;position:fixed;left:0;right:0;top:var(--hd,72px);z-index:40;margin:0;pointer-events:none;background:#F3EEE6;border-bottom:1px solid rgba(11,10,9,.1);box-shadow:0 8px 20px rgba(11,10,9,.06);transform:translateY(-100%);opacity:0;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s}
  .s-bar.on{transform:none;opacity:1;pointer-events:auto}
  .s-bar ol{list-style:none;margin:0;padding:0 16px;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .s-bar ol::-webkit-scrollbar{display:none}
  .a-body .s-bar li{flex:none;padding:0;margin:0}
  .a-body .s-bar li::before{display:none!important;content:none!important}
  .a-body .s-bar a{display:block;padding:14px 10px 12px;font:500 11px/1 Satoshi,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#6f6a61;background:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .3s,border-color .3s}
  .a-body .s-bar a.on{color:var(--ink);border-bottom-color:#A7B09C}
  html.mm-on .s-bar{opacity:0}
}
/* En bref (pages de soin) + signature discrète en fin de page */
.a-body .s-bref{margin:0 0 clamp(40px,6vh,72px)!important;max-width:none}
.a-body .s-sign{margin:clamp(40px,6vh,72px) 0 0!important;padding-top:18px;border-top:1px solid rgba(11,10,9,.1);font:400 13px/1.6 Satoshi,system-ui,sans-serif!important;color:#5c6354;max-width:none}
.a-body .s-sign a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
/* arbre de décision : animation à l'arrivée à l'écran (question → tronc → branches → réponses → note) */
@media (prefers-reduced-motion:no-preference){
  .s-arbre .s-arbre-q,.s-arbre .s-arbre-n{opacity:0;transform:translateY(14px);transition:opacity .7s,transform .8s cubic-bezier(.2,.7,.2,1)}
  .s-arbre .s-arbre-b::before{transform:scaleY(0);transform-origin:top;transition:transform .35s ease-in .45s}
  .s-arbre .s-arbre-b::after{transform:scaleX(0);transition:transform .45s cubic-bezier(.2,.7,.2,1) .8s}
  .s-arbre .s-arbre-c::before{transform:scaleY(0);transform-origin:top;transition:transform .3s ease-out 1.2s}
  .s-arbre .s-arbre-c{opacity:0;transform:translateY(26px) scale(.97);transition:opacity .6s 1.35s,transform .9s cubic-bezier(.34,1.4,.64,1) 1.35s,box-shadow .5s}
  .s-arbre .s-arbre-c.non{transition-delay:1.5s,1.5s,0s}
  .s-arbre .s-arbre-c .s-arbre-k{opacity:0;transition:opacity .5s 1.8s}
  .s-arbre .s-arbre-n{transition-delay:2s}
  .s-arbre.vu .s-arbre-q,.s-arbre.vu .s-arbre-n{opacity:1;transform:none}
  .s-arbre.vu .s-arbre-b::before,.s-arbre.vu .s-arbre-c::before{transform:scaleY(1)}
  .s-arbre.vu .s-arbre-b::after{transform:scaleX(1)}
  .s-arbre.vu .s-arbre-c{opacity:1;transform:none}
  .s-arbre.vu .s-arbre-c .s-arbre-k{opacity:1}
  .s-arbre.vu .s-arbre-c:hover{transform:translateY(-6px);transition-delay:0s}
}
@media (max-width:640px){.s-arbre-b::after,.s-arbre-c::before{display:none}.s-arbre-b::before{top:-38px;height:38px}}

/* Frise du déroulé (Facettes) : fond noir, les étapes s'allument l'une après l'autre, seule la vidéo de l'étape en cours joue */
.s-definition .s-corps>.s-frise,.s-media .s-corps>.s-frise{grid-column:1/-1}
.s-frise{--pr:0;box-sizing:border-box;width:100%;margin:2.8em 0 0;background:#0B0A09;color:#F3EEE6;border-radius:20px;padding:34px clamp(18px,2.6vw,40px) 36px;overflow:hidden}
.s-frise-h{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;margin-bottom:34px}
.s-frise-k{font-family:Aegean;font-size:clamp(24px,2vw,34px);line-height:1.15;margin:0;color:#F3EEE6}
.s-frise-du{font:500 11px/1 Satoshi,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#CDD2C3;margin:0;border:1px solid rgba(205,210,195,.35);border-radius:999px;padding:9px 14px}
.s-frise-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:clamp(12px,1.4vw,24px);position:relative}
.s-frise-l::before,.s-frise-l::after{content:"";position:absolute;left:calc(50% / var(--n));top:17px;height:1px}
.s-frise-l::before{right:calc(50% / var(--n));background:rgba(243,238,230,.16)}
.s-frise-l::after{width:calc((100% - 100% / var(--n)) * var(--pr));background:#CDD2C3;transition:width .9s cubic-bezier(.6,.05,.2,1)}
.a-body .s-frise-e{padding:0;margin:0}.s-frise-e::before{display:none}
.s-frise-e{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;opacity:0;transform:translateY(26px);transition:opacity .7s calc(.2s + var(--i)*.14s),transform .9s cubic-bezier(.34,1.45,.64,1) calc(.2s + var(--i)*.14s)}
.s-frise.vu .s-frise-e{opacity:.5;transform:none;transition:opacity .6s,transform .9s cubic-bezier(.34,1.45,.64,1) calc(.2s + var(--i)*.14s)}
.s-frise.vu .s-frise-e.fait{opacity:.72}
.s-frise.vu .s-frise-e.on{opacity:1}
.s-frise-n{position:relative;z-index:1;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#0B0A09;border:1px solid rgba(243,238,230,.35);font-family:Aegean;font-size:15px;color:#F3EEE6;margin-bottom:18px;transition:background .5s,color .5s,border-color .5s,transform .6s cubic-bezier(.34,1.8,.64,1)}
.s-frise-e.fait .s-frise-n{border-color:#CDD2C3;color:#CDD2C3}
.s-frise-e.on .s-frise-n{background:#CDD2C3;border-color:#CDD2C3;color:#0B0A09;transform:scale(1.14)}
.s-frise-ph{display:block;width:100%;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#1d1b19;transform:scale(.95);transition:transform .9s cubic-bezier(.34,1.3,.64,1),box-shadow .9s}
.s-frise-e.on .s-frise-ph{transform:none;box-shadow:0 26px 50px -24px rgba(0,0,0,.9),0 0 0 1px rgba(205,210,195,.35)}
.s-frise-ph video{width:100%;height:100%;object-fit:cover;display:block}
.s-frise-t{display:block;font-family:Aegean;font-size:clamp(16px,1.15vw,20px);line-height:1.2;margin:16px 0 6px;color:#F3EEE6}
.s-frise-d{display:block;font-size:13.5px;line-height:1.5;color:rgba(243,238,230,.62)}
.s-frise-p{display:none}
@media (max-width:760px){
  .s-frise{padding:26px 0 26px}
  .s-frise-h{padding:0 20px;margin-bottom:22px}
  .s-frise-l{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 15%;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .s-frise-l::-webkit-scrollbar{display:none}
  .s-frise-l::before,.s-frise-l::after{display:none}
  .s-frise-e{flex:0 0 70%;scroll-snap-align:center}
  .s-frise-n{margin-bottom:14px}
  .s-frise-p{display:block;height:2px;margin:22px 20px 0;background:rgba(243,238,230,.16);border-radius:2px;overflow:hidden}
  .s-frise-p i{display:block;height:100%;width:calc(100% * (var(--pr) * (var(--n) - 1) + 1) / var(--n));background:#CDD2C3;transition:width .6s cubic-bezier(.6,.05,.2,1)}
}
@media (prefers-reduced-motion:reduce){.s-frise-e,.s-frise-l::after,.s-frise-ph{transition:none!important}}

/* Fonds par partie (test Facettes, 06/10/2026) : bandes pleine largeur, sans trait de séparation */
.s-sec[data-fond]{isolation:isolate;padding-top:clamp(64px,9vh,110px)!important;padding-bottom:clamp(64px,9vh,110px);border-top:0!important;margin-top:0!important}
.s-sec[data-fond]::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-100vw;right:-100vw;background:var(--fd)}
.soin .a-toc{position:sticky;z-index:3}
.soin .a-toc-in:has(~*),.soin .a-toc-in{background:rgba(243,238,230,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:16px;padding:18px 20px 20px;margin-left:-20px}
.s-sec[data-fond="ivoire"]{--fd:#F3EEE6}
.s-sec[data-fond="blanc"]{--fd:#FBF9F5}
.s-sec[data-fond="sauge"]{--fd:#E3E6DB}
.s-sec[data-fond="noir"]{--fd:#0B0A09;color:#F3EEE6}
.s-sec[data-fond="noir"] h2,.s-sec[data-fond="noir"] h2 span,.s-sec[data-fond="noir"] .s-corps>p:first-of-type:not(.a-quiz *){color:#F3EEE6!important}
.s-sec[data-fond="noir"] .s-k{color:#CDD2C3!important}
.s-sec[data-fond="noir"] p:not(.a-quiz *):not(.a-quiz),.s-sec[data-fond="noir"] figcaption{color:rgba(243,238,230,.75)}
.s-sec[data-fond="noir"] .s-num{-webkit-text-stroke-color:rgba(243,238,230,.35)}
.s-sec[data-fond="noir"].vu .s-num{color:#2a2724}
.s-sec[data-fond="noir"] a:not(.a-quiz):not(.btn){color:#F3EEE6}
.s-sec[data-fond="noir"] .quiz-mini{background:#F3EEE6!important;color:#0B0A09!important;opacity:1!important}
.s-sec[data-fond="noir"] .quiz-mini .qm-k,.s-sec[data-fond="noir"] .quiz-mini .qm-s{color:#5c6354!important;opacity:1!important}
.s-sec[data-fond="noir"] .quiz-mini .qm-t{color:#0B0A09!important}
.s-sec[data-fond] ~ .s-sign{position:relative;isolation:isolate;margin-top:0;padding:28px 0 clamp(50px,7vh,80px)}
.s-sec[data-fond] ~ .s-sign::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-100vw;right:-100vw;background:var(--fd-fin,#FBF9F5)}
.s-sec[data-fond="ivoire"] + .s-sign{--fd-fin:#F3EEE6}.s-sec[data-fond="blanc"] + .s-sign{--fd-fin:#FBF9F5}.s-sec[data-fond="sauge"] + .s-sign{--fd-fin:#E3E6DB}
.soin .s-wrap:has(.s-sec[data-fond]){padding-bottom:0}
.s-sec[data-fond] ~ .s-sign{padding-bottom:clamp(90px,12vh,140px)!important}
.soin .a-toc-in{border:1px solid rgba(11,10,9,.14);box-shadow:0 14px 34px -26px rgba(11,10,9,.45)}
.s-sec[data-fond] ~ .s-sign{margin-top:0!important;border-top:0!important}
/* téléphone : flèche qui invite à faire défiler les indications vers la droite, comme un parcours */
.s-inds-w{position:relative}
.s-inds-go{display:none}
@media(max-width:900px){
  .s-inds-go{display:grid;place-items:center;position:absolute;right:2px;top:calc(29vw - 23px);z-index:2;width:46px;height:46px;border-radius:50%;border:0;background:rgba(243,238,230,.94);color:#0b0a09;font-size:20px;line-height:1;box-shadow:0 10px 26px rgba(11,10,9,.22);cursor:pointer;transition:opacity .4s,transform .4s;animation:sIndsNudge 1.8s ease-in-out infinite}
  .s-inds-w.fin .s-inds-go{opacity:0;pointer-events:none;transform:scale(.8)}
  .s-inds-w.vu .s-inds-go{animation:none}
}
@keyframes sIndsNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){.s-inds-go{animation:none!important}}
