.portfolio-page { color:var(--navy); background:var(--white); }
.project-chapter { position:relative; min-height:max(760px, 100svh); overflow:hidden; background:var(--white); }
.project-chapter:nth-of-type(even) { background:color-mix(in srgb, var(--navy) 4%, var(--white)); }
.project-chapter-layout { width:min(1400px, 88%); min-height:inherit; margin:auto; padding:112px 0 52px; display:flex; flex-direction:column; justify-content:center; gap:36px; box-sizing:border-box; }
.project-chapter-images { display:grid; grid-template-columns:1.35fr 1.35fr .7fr; align-items:center; gap:24px; }
.project-chapter-image { margin:0; min-width:0; overflow:hidden; border-radius:8px; aspect-ratio:3 / 2; }
.project-chapter-image--2 { margin-top:32px; }
.project-chapter-image--3 { aspect-ratio:3 / 4; }
.project-chapter-image img { display:block; width:100%; height:100%; object-fit:cover; }
.project-chapter--objects .project-chapter-image img { object-fit:contain; background:#f1f3f5; }
.project-chapter-copy { position:relative; text-align:center; }
.project-chapter-copy h2 { margin:0; font-size:5rem; line-height:1.05; color:inherit; overflow-wrap:break-word; }
.project-chapter-copy p { margin:20px auto 0; max-width:42ch; padding:0 12px; font-size:var(--type-body); line-height:1.5; color:inherit; }
.project-chapter-copy .button { margin-top:24px; max-width:100%; }
.project-chapter-number { text-align:center; font-size:var(--type-small); font-variant-numeric:tabular-nums; color:var(--muted); }
.chapter-navigation { position:fixed; right:12px; top:50%; transform:translateY(-50%); z-index:20; display:grid; transition:opacity .2s; }
.chapter-navigation a { width:28px; height:28px; display:grid; place-items:center; color:var(--navy); border-radius:50%; }
.chapter-navigation span { width:5px; height:5px; border-radius:50%; background:currentColor; opacity:.3; transition:transform .3s, opacity .3s; }
.chapter-navigation [aria-current="step"] span { opacity:1; transform:scale(1.7); }
.chapter-navigation a:hover span { opacity:1; }
.chapter-navigation[hidden] { display:none; }
@media (hover:none) and (min-height:650px) and (prefers-reduced-motion:no-preference) {
    html:has([data-story-deck]) { scroll-snap-type:y proximity; }
    .project-chapter { scroll-snap-align:start; }
    .portfolio-page .site-footer { scroll-snap-align:start; }
}
@media (prefers-reduced-motion:no-preference) {
    .story-deck-ready .project-chapter-image { transform:translate3d(0,54px,0) scale(.95); transition:transform 1.1s cubic-bezier(.2,.7,.2,1); }
    .story-deck-ready .project-chapter-image--2 { transition-delay:.1s; }
    .story-deck-ready .project-chapter-image--3 { transition-delay:.18s; }
    .story-deck-ready .project-chapter-copy { transform:translateY(30px); opacity:.4; transition:transform .9s ease,opacity .9s ease; }
    .story-deck-ready .is-current .project-chapter-image { transform:translate3d(0,0,0) scale(1); }
    .story-deck-ready .is-current .project-chapter-copy { transform:none; opacity:1; }
}
@media (max-width:1000px) {
    .project-chapter-copy h2 { font-size:3.5rem; }
    .project-chapter-images { gap:16px; }
}
@media (max-width:600px) {
    .project-chapter { min-height:max(720px, 100svh); }
    .project-chapter-layout { width:88%; padding:100px 0 36px; gap:28px; }
    .project-chapter-images { grid-template-columns:1fr .55fr; gap:12px; align-items:center; }
    .project-chapter-image--1 { grid-column:1; grid-row:1; }
    .project-chapter-image--2 { grid-column:1; grid-row:2; margin-top:0; }
    .project-chapter-image--3 { grid-column:2; grid-row:1 / 3; }
    .project-chapter-copy h2 { font-size:2.5rem; line-height:1.1; }
    .project-chapter-copy p { margin-top:14px; max-width:30ch; }
    .chapter-navigation { right:0; }
    .chapter-navigation a { width:24px; height:26px; }
}
