/* A self-contained chapter between the original signature and the portfolio. */
.journey { --journey-paper:#e9e7e1; --journey-ink:#242426; --journey-copper:#80502f; color:var(--journey-ink); background:var(--journey-paper); position:relative; isolation:isolate; }
.journey-stage { position:relative; padding:56px var(--pad,5vw) 80px; }
.journey-header { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-bottom:35px; border-bottom:1px solid #24242625; }
.journey-header h2 { font-size:14px; letter-spacing:0; font-weight:500; line-height:1.6; }
.journey-header a { font-size:12px; line-height:1.6; text-decoration:underline; text-underline-offset:5px; }
.journey-flight { display:none; }
.journey-chapters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding-block:44px; }
.journey-chapter { min-width:0; scroll-margin-top:40px; }
.journey-still { margin:0 0 30px; aspect-ratio:16/9; }
.journey-still img { width:100%; height:100%; object-fit:cover; }
.journey-eyebrow { display:flex; gap:16px; align-items:baseline; font-size:11px; line-height:1.8; margin-bottom:18px; }
.journey-eyebrow b { font-weight:500; color:var(--journey-copper); direction:ltr; }
.journey-copy h3 { font-size:clamp(28px,2.5vw,44px); font-weight:500; letter-spacing:-.045em; line-height:1.13; text-wrap:balance; }
.journey-copy p { font-size:14px; line-height:1.8; margin-top:22px; max-width:36ch; color:#4f4a45; }
.journey-links { display:flex; align-items:center; flex-wrap:wrap; gap:16px 28px; margin-top:24px; }
.journey-links a { display:inline-flex; align-items:center; gap:22px; font-size:12px; line-height:1.6; padding-block:8px; border-bottom:1px solid #80502f80; }
.journey-links a::after { content:'↗'; color:var(--journey-copper); font-size:20px; }
.journey a:focus-visible,.journey button:focus-visible { outline:2px solid var(--journey-copper); outline-offset:7px; }
.journey-footer { display:none; }
.journey-objects { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; opacity:0; }
.journey[data-mode="static"] .journey-objects { display:none; }
.journey-object-credit { position:relative; font-size:12px; line-height:1.7; }
.journey-object-credit summary { cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.journey-object-credit p { position:absolute; inset:30px 0 auto auto; width:260px; padding:18px; color:#242426; background:#f6f4ef; border:1px solid #80502f40; box-shadow:0 12px 40px #25212515; }
.journey-object-credit p a { text-decoration:underline; }
.journey[data-mode="static"] .journey-object-credit { display:none; }
.journey[data-mode="static"][data-capable="true"] .journey-footer { display:flex; justify-content:flex-end; padding-top:20px; border-top:1px solid #24242625; }
.journey[data-mode="static"] .journey-route,.journey[data-mode="static"] .journey-progress,.journey[data-mode="static"] .journey-controls>span { display:none; }
.journey[data-mode="static"] .journey-pause::before { content:'▷'; }
.journey[data-mode="motion"] { height:calc((var(--journey-length,8) + 1) * 100svh); }
.journey[data-mode="motion"] .journey-stage { position:sticky; top:0; height:100svh; min-height:560px; padding:0; overflow:clip; }
.journey[data-mode="motion"] .journey-header { position:absolute; inset:32px var(--pad,5vw) auto; padding:0; border:0; z-index:4; }
.journey[data-mode="motion"] .journey-header h2 { max-width:38ch; }
.journey[data-mode="motion"] .journey-header a { margin-inline-end:72px; }
.journey[data-mode="motion"] .journey-flight { display:block; position:absolute; inset:0; z-index:0; direction:ltr; }
.journey-layer { position:absolute; inset:0; }
.journey-layer img,.journey-layer video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.journey-layer video { opacity:0; }
.journey-layer.is-ready video { opacity:1; }
.journey[data-mode="motion"] .journey-flight::before,.journey[data-mode="motion"] .journey-flight::after { content:''; position:absolute; inset:0; pointer-events:none; z-index:10; }
.journey[data-mode="motion"] .journey-flight::before { background:linear-gradient(180deg,#e9e7e1ef 0%,#e9e7e1dd 17%,#e9e7e100 33%); }
.journey[data-mode="motion"] .journey-flight::after { background:linear-gradient(0deg,#e9e7e1 0%,#e9e7e1e8 13%,#e9e7e1e0 35%,#e9e7e100 65%); opacity:var(--journey-reading,1); }
.journey[data-mode="motion"] .journey-chapters { display:block; padding:0; position:absolute; inset:0; z-index:3; pointer-events:none; }
.journey[data-mode="motion"] .journey-chapter { position:absolute; inset:0; opacity:0; visibility:hidden; }
.journey[data-mode="motion"] .journey-still { display:none; }
.journey[data-mode="motion"] .journey-copy { position:absolute; inset:auto var(--pad,5vw) 114px; display:grid; grid-template-columns:1.4fr 1fr; gap:0 10vw; align-items:end; }
.journey[data-mode="motion"] .journey-eyebrow { grid-column:1 / -1; margin-bottom:16px; }
.journey[data-mode="motion"] .journey-copy h3 { font-size:clamp(42px,4.8vw,76px); max-width:18ch; }
.journey[data-mode="motion"] .journey-copy p { font-size:clamp(14px,1.05vw,17px); margin:0; max-width:37ch; }
.journey[data-mode="motion"] .journey-links { grid-column:2; margin-top:16px; }
.journey[data-mode="motion"] .journey-links a { pointer-events:auto; }
.journey[data-mode="motion"] .journey-footer { position:absolute; inset:78px var(--pad,5vw) auto; display:flex; align-items:center; justify-content:space-between; gap:32px; border-top:1px solid #80502f40; padding-top:10px; z-index:5; }
.journey-route { display:flex; gap:28px; }
.journey-route button { display:flex; align-items:center; gap:9px; min-height:32px; font-size:12px; color:#66605b; }
.journey-route button::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.25; }
.journey-route button[aria-current="step"] { color:var(--journey-copper); }
.journey-route button[aria-current="step"]::before { opacity:1; }
.journey-controls { display:flex; align-items:center; gap:28px; font-size:11px; }
.journey-pause { min-height:32px; }
.journey-pause::before { content:'Ⅱ'; margin-inline-end:8px; }
.journey-progress { position:absolute; inset:-1px 0 auto; height:1px; background:var(--journey-copper); transform:scaleX(var(--journey-progress,0)); transform-origin:left; }
[dir="rtl"] .journey-progress { transform-origin:right; }
[dir="rtl"] .journey-copy h3 { letter-spacing:0; line-height:1.5; }
[dir="rtl"] .journey-links a::after { content:'↖'; }
@media(max-width:1100px) { .journey[data-mode="motion"] .journey-copy { gap:0 6vw; bottom:130px; } .journey[data-mode="motion"] .journey-copy h3 { font-size:48px; } .journey-controls>span { display:none; } }
@media(max-width:860px) { .journey-stage { padding:40px var(--pad,6vw) 60px; } .journey-header { align-items:start; gap:22px; } .journey-header h2 { max-width:21ch; font-size:13px; } .journey-header a { max-width:17ch; font-size:11px; } .journey-chapters { grid-template-columns:1fr; gap:64px; } .journey-still { margin-inline:calc(-1 * var(--pad,6vw)); } .journey-copy h3 { font-size:clamp(32px,8.5vw,54px); max-width:20ch; } .journey-copy p { max-width:46ch; } }
@media(prefers-reduced-motion:reduce) { .journey { scroll-behavior:auto; } }

[dir="rtl"] .journey[data-mode="motion"] .journey-copy h3 { font-size:clamp(38px,4.1vw,66px); }
