/* Typical — Lui et Elle : les deux portraits 3D comme signature de la marque. Même papier/encre que 5197. */
:root{--corail:#e8573c}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.sec--lab{background:var(--paper);overflow:hidden}
.sec--lab .h2 em{font-style:italic;color:var(--accent)}
.lab{margin-top:clamp(30px,4vw,56px)}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:clamp(20px,3vw,34px)}
.tabs button{font:600 16px var(--sans);display:inline-flex;align-items:center;gap:10px;padding:10px 20px 10px 10px;border-radius:999px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .25s,color .25s}
.tabs button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:14px;transition:background .25s,color .25s}
.tabs button:hover{background:var(--stone)}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--paper)}
.tabs button[aria-selected=true] span{background:var(--paper);color:var(--ink)}
.subjects{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,28px)}
.sub{margin:0}
.frame{position:relative;aspect-ratio:1200/1058;background:var(--field-h);overflow:hidden}
.inner{position:absolute;left:0;right:0;top:-9.86%;height:140.85%}
.sub--femme .frame{background:var(--field-f)}
.inner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ov{position:absolute;inset:0;width:100%;height:100%;color:var(--accent);pointer-events:none}
.ov .cont{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.ov .dots{fill:none;stroke:currentColor;stroke-width:5.5;stroke-linecap:round;opacity:0;transition:opacity .8s .5s}
.ov .iris circle{fill:none;stroke:currentColor;stroke-width:3;opacity:0;transition:opacity .6s .9s}
.ov .L2 path{fill:none;stroke:var(--corail);stroke-width:2.6;stroke-dasharray:10 9;opacity:0;transition:opacity .6s}
.ov .L2 .g-axe{stroke-dasharray:none}
.lab.s1 .cont,.lab.s2 .cont,.lab.s3 .cont{stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--ease),opacity .6s}
.lab.s1 .dots,.lab.s1 .iris circle{opacity:1}
.lab.s2 .L1,.lab.s3 .L1{opacity:.45;transition:opacity .6s}
.lab.s2 .L2{opacity:1}.lab.s2 .L2 path{opacity:1}
.lab:not(.go) .cont{stroke-dashoffset:1}
/* appels : étiquette en marge + trait horizontal jusqu'au point */
.labs{position:absolute;inset:0;pointer-events:none}
.co{position:absolute;display:flex;align-items:center;transform:translateY(-50%);opacity:0;transition:opacity .5s}
.co-l{left:0}.co-r{right:0;flex-direction:row-reverse}
.co .ln{flex:1;height:0;border-top:1.5px dashed var(--corail);min-width:6px}
.co .pt{flex:none;width:9px;height:9px;border-radius:50%;background:var(--corail);margin:0 -4px;box-shadow:0 0 0 4px rgba(232,87,60,.22)}
.co-l .ln{margin-left:4px}.co-r .ln{margin-right:4px}
.lab.s2 .co.c2,.lab.s3 .co.c3{opacity:1}
.lb{display:grid;gap:1px;padding:7px 11px;background:var(--paper);border:1.5px solid var(--ink);line-height:1.15;max-width:130px}
.lb small{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:9.5px;color:var(--soft)}
.lb b{font:500 clamp(17px,1.8vw,24px)/1 var(--serif);letter-spacing:-.01em}
.pn{display:flex;align-items:center;gap:8px}
.pn i{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--corail);color:#fff;font:600 14px var(--sans);font-style:normal}
.pn em{font:600 12px var(--sans);font-style:normal;padding:5px 10px;background:var(--ink);color:var(--paper)}
.co-r .pn{flex-direction:row-reverse}
.lab.s3 .co.c3:nth-of-type(7){transition-delay:.15s}
figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:12px;font-size:14px;color:var(--soft)}
figcaption b{font:500 26px var(--serif);color:var(--ink)}
.cap{margin-top:clamp(18px,2.4vw,30px);min-height:7.5em;max-width:760px;font-size:clamp(18px,1.5vw,22px)}
.cap p{display:none}.cap p b{font-family:var(--serif);font-weight:500;font-size:1.25em;display:block;margin-bottom:6px;letter-spacing:-.01em}
.lab.s1 .cap [data-c="1"],.lab.s2 .cap [data-c="2"],.lab.s3 .cap [data-c="3"]{display:block;animation:capin .6s var(--ease)}
@keyframes capin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lab-cta{margin-top:clamp(14px,2vw,26px)}
.lab-cta .btn{margin-right:10px}
/* petits visages ronds : étape « Choisis ton profil » */
.avts{display:flex;gap:16px;margin-top:20px}
.avt{display:grid;justify-items:center;gap:6px;text-decoration:none;font-size:14px}
.avt .disc{width:76px;height:76px;border-radius:50%;overflow:hidden;background:var(--paper);box-shadow:0 0 0 1.5px var(--ink);display:block;transition:transform .4s var(--ease)}
.avt .disc img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(2.3);transform-origin:50% 28%;display:block}
.avt:hover .disc{transform:scale(1.07)}
/* final : le duo dans la nuit */
.sec--end{position:relative;overflow:hidden}
.end-duo{position:absolute;right:max(2vw,0px);bottom:0;width:min(58vw,820px);height:100%;pointer-events:none}
.end-duo img{position:absolute;bottom:0;height:88%;width:auto;filter:saturate(.9) brightness(.92)}
.end-duo .e1{right:26%}
.end-duo .e2{right:-2%;height:78%}
.sec--end .wrap{position:relative;z-index:1}
@media (max-width:900px){.end-duo{opacity:.28;width:100%}.end-duo .e1{right:36%}.end-duo .e2{right:-6%}}
@media (max-width:640px){
  .labs .co:nth-child(1){display:none}
  .lb{max-width:84px;padding:5px 7px}.lb small{font-size:8px}.lb b{font-size:16px}.pn i{width:22px;height:22px;font-size:12px}.pn em{font-size:10.5px;padding:4px 7px}
  .subjects{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
  .sub{scroll-snap-align:center}
  .lab-cta .btn{display:block;margin:0 0 10px}
}
@media (prefers-reduced-motion:reduce){.ov .cont{transition:none}.lb,.pin{transition:none}.lab:not(.go) .cont{stroke-dashoffset:0}}
