/* ===== Process: scroll-reveal photo timeline (approved variant 2, 07/2026) ===== */
/* ===== Process variant 2 — scroll-reveal branch timeline ===== */
  .pscroll{position: relative; max-width: 940px; margin: 10px auto 0;}
.pscroll__track{position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; transform: translateX(-50%); background: var(--rule-strong);}
.pscroll__fill{position: absolute; left: 50%; top: 0; width: 2px; height: 0; transform: translateX(-50%); background: linear-gradient(180deg, var(--brass-soft), var(--brass) 60%, var(--brass-deep)); box-shadow: 0 0 12px rgba(201,149,75,.45); transition: height 700ms cubic-bezier(.4,0,.2,1); z-index: 1;}
.pscroll-item{position: relative; width: 50%; box-sizing: border-box; margin-bottom: 40px;}
.pscroll-item:last-child{margin-bottom: 0;}
.pscroll-item:nth-child(odd){left: 0; padding-right: 54px;}
.pscroll-item:nth-child(even){left: 50%; padding-left: 54px;}
.pscroll-item__node{position: absolute; top: 30px; width: 14px; height: 14px; border-radius: 50%; background: var(--paper); border: 2px solid var(--rule-strong); z-index: 3; transition: border-color .4s ease, background .4s ease, transform .4s ease;}
.pscroll-item:nth-child(odd) .pscroll-item__node{right: -7px;}
.pscroll-item:nth-child(even) .pscroll-item__node{left: -7px;}
.pscroll-item__branch{position: absolute; top: 36px; height: 2px; width: 54px; background: linear-gradient(90deg, var(--brass), var(--brass-soft)); transform: scaleX(0); transition: transform .55s cubic-bezier(.4,0,.2,1); z-index: 1;}
.pscroll-item:nth-child(odd) .pscroll-item__branch{right: 0; transform-origin: right center;}
.pscroll-item:nth-child(even) .pscroll-item__branch{left: 0; transform-origin: left center;}
.pscroll-item__card{background: var(--bone); border: 1px solid var(--rule); overflow: hidden; box-shadow: 0 24px 44px -32px rgba(11,15,20,.45); opacity: 0; transition: opacity .6s ease, transform .6s cubic-bezier(.4,0,.2,1);}
.pscroll-item:nth-child(odd) .pscroll-item__card{transform: translateX(34px);}
.pscroll-item:nth-child(even) .pscroll-item__card{transform: translateX(-34px);}
.pscroll-item.is-in .pscroll-item__card{opacity: 1; transform: none;}
.pscroll-item.is-in .pscroll-item__branch{transform: scaleX(1);}
.pscroll-item.is-in .pscroll-item__node{border-color: var(--brass-deep); background: var(--brass); transform: scale(1.15);}
.pscroll-item__img{width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block;}
.pscroll-item__inner{padding: 18px 22px 22px;}
.pscroll-item__num{font-family: "IBM Plex Mono", monospace; font-size: 11px; letter-spacing: .12em; color: var(--brass-deep); font-weight: 600; margin-bottom: 4px;}
.pscroll-item__week{font-family: "IBM Plex Mono", monospace; font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-mute); margin-bottom: 9px;}
.pscroll-item__name{font-family: "Archivo", sans-serif; font-weight: 800; font-size: 22px; line-height: 1.15; letter-spacing: -.01em; margin-bottom: 9px;}
.pscroll-item__text{font-size: 14px; color: var(--ink-soft); line-height: 1.6;}
@media (max-width: 760px){
  .pscroll__track, .pscroll__fill{left: 15px;}
  .pscroll-item, .pscroll-item:nth-child(odd), .pscroll-item:nth-child(even){width: 100%; left: 0; padding-left: 44px; padding-right: 0; margin-bottom: 30px;}
  .pscroll-item__node{left: 9px !important; right: auto !important;}
  .pscroll-item__branch{left: 16px !important; right: auto !important; width: 28px; transform-origin: left center !important;}
  .pscroll-item:nth-child(odd) .pscroll-item__card, .pscroll-item:nth-child(even) .pscroll-item__card{transform: translateY(24px);}
  .pscroll-item.is-in .pscroll-item__card{transform: none;}
}
