/* Parcours — Figma 103:3, editorial rhythm approved October 2026. */
.parcours-page { min-width:320px; background:var(--paper); color:var(--ink); }
.parcours-canvas { position:relative; isolation:isolate; container-type:inline-size; width:min(100%,var(--page-max-width)); aspect-ratio:1600 / 2862.0625; margin:auto; overflow:hidden; background:var(--paper); }
.parcours-paper { position:absolute; z-index:-1; inset:0; background:url('assets/papier-ivoire.webp') center/cover; opacity:.3; pointer-events:none; }
.parcours-main,.parcours-intro,.parcours-chronology { position:absolute; inset:0; }
.parcours-kicker { position:absolute; top:16.75cqw; left:4.375cqw; display:flex; align-items:center; gap:1.1875cqw; }
.parcours-kicker span { width:3.4375cqw; height:1px; background:var(--rust); }
.parcours-kicker p { margin:0; color:var(--rust); font:600 .75cqw/1.333 'DM Sans',sans-serif; letter-spacing:.175em; text-transform:uppercase; }
.parcours-intro h1 { position:absolute; top:18.625cqw; left:4.375cqw; margin:0; font:600 9.375cqw/.9667 var(--display); letter-spacing:-.02em; }
.parcours-intro h1 span { color:var(--rust); }
.parcours-lede { position:absolute; top:28.875cqw; left:5.125cqw; margin:0; font:400 1.8125cqw/1.1724 var(--serif); }
.timeline-line { position:absolute; z-index:-1; top:32.0039cqw; left:0; width:100%; height:137.5cqw; pointer-events:none; }
.timeline-art,.current-portrait,.kammerer-cover { position:absolute; margin:0; pointer-events:none; }
.timeline-art img,.current-portrait img,.kammerer-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.art-care { top:34.5039cqw; left:21.5625cqw; width:59.375cqw; height:33.125cqw; }
.art-research { top:65.1289cqw; left:21.875cqw; width:58.125cqw; height:32.5cqw; }
.art-coordination { top:95.7539cqw; left:21.5625cqw; width:59.375cqw; height:32.5cqw; }
.art-writing { top:125.1289cqw; left:19.6875cqw; width:63.125cqw; height:34.375cqw; }
.milestone { position:absolute; z-index:2; display:flex; flex-direction:column; width:18.75cqw; gap:.625cqw; }
.milestone-meta { display:flex; align-items:center; gap:1.125cqw; min-height:2.75cqw; }
.milestone-number { margin:0; min-width:3.25cqw; color:#9e7552; font:400 2.75cqw/1 var(--display); }
.milestone-date { margin:0; color:#a14221; font:600 1.625cqw/1.154 var(--display); }
.milestone-copy { position:relative; }
.milestone-copy::before { position:absolute; top:1.1875cqw; left:-1.75cqw; width:1.125cqw; height:1px; content:''; background:#a14221; }
.milestone h2 { margin:0 0 .75cqw; color:#25201c; font:600 2.125cqw/1.118 var(--display); }
.milestone-copy > p { margin:0; color:#25201c; font:400 1.625cqw/1.3077 var(--serif); }
.milestone-one,.milestone-three,.milestone-five,.milestone-seven,.milestone-eight { left:6cqw; }
.milestone-two,.milestone-four,.milestone-six { left:75.25cqw; }
.milestone-one { top:40cqw; }.milestone-two { top:55.3125cqw; }.milestone-three { top:70.625cqw; }.milestone-four { top:85.9375cqw; }.milestone-five { top:101.25cqw; }.milestone-six { top:116.5625cqw; }.milestone-seven { top:132.5cqw; }.milestone-eight { top:150.625cqw; }
.kammerer-cover { z-index:2; top:145.4414cqw; left:25.3125cqw; width:18.75cqw; height:30cqw; transform:rotate(2deg); filter:drop-shadow(5px 9px 15px rgba(41,28,20,.13)); }
.current-portrait { z-index:1; top:142.6289cqw; left:54.0625cqw; width:43.125cqw; height:34.5cqw; }
.novel-years { position:absolute; top:163.125cqw; left:6cqw; width:18.75cqw; }
.novel-years::before { position:absolute; left:-1.625cqw; top:-.5cqw; width:1.875cqw; height:11.875cqw; content:''; background:url('assets/parcours/romans-line-v3.svg') center/contain no-repeat; }
.novel-years p { display:flex; flex-direction:column; gap:.375cqw; margin:0 0 2.125cqw; }
.novel-years strong { color:#a14221; font:600 1.625cqw/1.154 var(--display); }
.novel-years span { font:400 1.625cqw/1.3077 var(--serif); }
.novel-years i { font-style:normal; }
@media(max-width:1100px) {
 .parcours-canvas { height:auto; aspect-ratio:auto; overflow:hidden; }
 .parcours-main,.parcours-intro,.parcours-chronology { position:relative; inset:auto; }
 .parcours-intro { padding:28px clamp(24px,6vw,68px) 32px; }
 .parcours-kicker,.parcours-intro h1,.parcours-lede { position:relative; inset:auto; }
 .parcours-kicker { gap:12px; }.parcours-kicker span { width:42px; }.parcours-kicker p { font-size:11px; }
 .parcours-intro h1 { margin:14px 0; font-size:clamp(80px,12vw,140px); }
 .parcours-lede { max-width:680px; font-size:clamp(21px,2.6vw,28px); line-height:1.3; }
 .parcours-chronology { display:flex; flex-direction:column; padding:0 clamp(24px,6vw,68px) 32px; }
 .timeline-line { display:none; }
 .timeline-art,.milestone,.current-portrait,.kammerer-cover,.novel-years { position:relative; inset:auto; height:auto; }
 .timeline-art { align-self:center; width:min(100%,760px); margin:4px 0 8px; }
 .timeline-art img,.current-portrait img,.kammerer-cover img { height:auto; }
 .milestone { width:min(100%,700px); align-self:center; gap:10px; padding:12px 0 24px 24px; border-left:1px solid #a1422155; }
 .milestone-meta { gap:16px; min-height:36px; }.milestone-number { font-size:36px; min-width:44px; }.milestone-date { font-size:23px; }
 .milestone h2 { margin-bottom:10px; font-size:30px; }.milestone-copy > p { font-size:21px; line-height:1.4; }
 .milestone-copy::before { width:14px; left:-24px; top:17px; }
 .art-care { order:0; }.milestone-one { order:1; }.milestone-two { order:2; }.art-research { order:3; }.milestone-three { order:4; }.milestone-four { order:5; }.art-coordination { order:6; }.milestone-five { order:7; }.milestone-six { order:8; }.art-writing { order:9; }.milestone-seven { order:10; }.milestone-eight { order:11; }
 .kammerer-cover { order:12; width:min(45%,220px); margin:16px 0 24px 24px; }
 .novel-years { order:13; width:auto; margin:12px 0 16px 24px; }.novel-years::before { display:none; }.novel-years p { gap:5px; margin:0 0 22px; }.novel-years strong { font-size:23px; }.novel-years span { font-size:21px; }
 .current-portrait { order:14; align-self:flex-end; width:min(95%,680px); margin-top:-20px; }
}
@media(max-width:620px) {
 .parcours-kicker p { font-size:10px; }.parcours-kicker span { width:30px; }
 .timeline-art { width:112%; margin-left:-6%; }.milestone { padding-left:20px; }.milestone-copy::before { left:-20px; width:11px; }
 .milestone h2 { font-size:28px; }.milestone-copy > p { font-size:20px; }
}
