/* ————— Spécifique À propos ————— */
.hero.duo{min-height:92vh}
.duo-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}
.portraits{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.portrait{aspect-ratio:3/4.2;position:relative;overflow:hidden;border:1px solid var(--hairline);clip-path:inset(100% 0 0 0)}
.portrait .img{position:absolute;inset:-8%;background:linear-gradient(160deg,#4A1520,#241016 60%,#0E0608);will-change:transform}
.portrait:nth-child(3){transform:translateY(38px)}
.portrait::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(232,175,175,.14),transparent 60%)}
.portrait figcaption{position:absolute;left:16px;bottom:14px;font-family:var(--serif);font-style:italic;font-size:20px;z-index:2}
.portrait .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(247,242,238,.35);font-size:10px;letter-spacing:.25em;text-transform:uppercase;z-index:1}
.badge{position:absolute;right:-34px;top:-34px;width:120px;height:120px;z-index:5;pointer-events:none}
.badge text{font-family:var(--sans);font-size:8.4px;letter-spacing:.32em;text-transform:uppercase;fill:var(--rose)}
.badge .center-heart{fill:none;stroke:var(--rose);stroke-width:2;stroke-linecap:round}

/* Timeline */
.timeline{position:relative;max-width:860px;margin:60px auto 0}
.timeline .rail{position:absolute;left:19px;top:0;bottom:0;width:1px;background:var(--hairline)}
.timeline .rail i{position:absolute;left:0;top:0;width:1px;height:100%;background:linear-gradient(var(--bordeaux-hot),var(--rose));transform:scaleY(0);transform-origin:top;display:block}
.step{position:relative;padding:0 0 64px 72px}
.step:last-child{padding-bottom:0}
.step .dot{position:absolute;left:12px;top:6px;width:15px;height:15px;border-radius:50%;border:1px solid var(--rose);background:var(--noir);display:flex;align-items:center;justify-content:center}
.step .dot::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--rose);transform:scale(0);transition:transform .4s}
.step.lit .dot::after{transform:scale(1)}
.step .when{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin-bottom:10px;display:block}
.step h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.6vw,34px);margin-bottom:10px}
.step p{font-size:15px;line-height:1.85;color:var(--muted);max-width:52ch}

/* Bios */
.bios{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.bio{border:1px solid var(--hairline);padding:44px 40px;background:linear-gradient(170deg,rgba(122,27,40,.12),rgba(18,10,13,.4));position:relative;overflow:hidden}
.bio::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(166,48,64,.2),transparent 70%);opacity:0;transition:opacity .4s}
.bio:hover::before{opacity:1}
.bio .k{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--rose);display:block;margin-bottom:16px}
.bio h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.8vw,38px);margin-bottom:16px}
.bio p{font-size:14px;line-height:1.85;color:var(--muted);position:relative}

/* Presse */
.press{text-align:center;background:linear-gradient(180deg,var(--noir),#2A0D14 50%,var(--noir));padding:150px 4vw}
.press blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(30px,4.8vw,58px);line-height:1.3;max-width:22ch;margin:0 auto}
.press .word{opacity:.1;display:inline-block}
.press cite{display:block;margin-top:28px;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}

/* Collaborations */
.collab-rows{margin-top:56px;border-top:1px solid var(--hairline)}
.collab{display:grid;grid-template-columns:200px 1fr;gap:3vw;padding:36px 0;border-bottom:1px solid var(--hairline);align-items:baseline}
.collab .cat{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--rose)}
.collab .who{font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);color:rgba(247,242,238,.85);line-height:1.5}

@media(max-width:860px){
  .duo-grid{grid-template-columns:1fr}
  .bios{grid-template-columns:1fr}
  .collab{grid-template-columns:1fr;gap:10px}
  .badge{display:none}
  .portrait:nth-child(3){transform:none}
}
