  /* ACROSS THE YEARS — scroll-driven montage */
  .aty{position:relative;height:620vh;padding:0}
  .aty-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:#000}
  .layer{position:absolute;inset:0;opacity:0;will-change:opacity}
  .layer video{width:100%;height:100%;object-fit:cover}
  .e1 video{filter:grayscale(1) contrast(1.18) brightness(.82)}
  .e2 video{filter:grayscale(.92) sepia(.12) contrast(1.1) brightness(.86)}
  .e3 video{filter:grayscale(.35) saturate(.85) contrast(1.04) brightness(.9)}
  .e4 video{filter:grayscale(.08) saturate(.98) brightness(.92)}
  .e5 video{filter:none}
  .stage-grad{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,9,8,.5) 0%,rgba(10,9,8,.08) 32%,rgba(10,9,8,.45) 70%,rgba(10,9,8,.96) 100%)}
  .aty .grain{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.12;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  .stage-head{position:absolute;top:30px;left:30px;z-index:3}
  .aty-cap{position:absolute;left:30px;bottom:48px;z-index:3;max-width:34ch}
  .aty-cap .ttl{font-family:var(--display);font-weight:300;font-size:clamp(34px,6vw,72px);line-height:.98;letter-spacing:-.02em;color:#fff}
  .aty-cap .sub{margin-top:12px;color:var(--ink-dim);font-size:14px;letter-spacing:.02em}
  .cap-item{position:absolute;left:0;bottom:0;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
  .cap-item.on{opacity:1;transform:none;position:relative}
  .rail{position:absolute;right:30px;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;gap:14px;align-items:center}
  .rail .tick{width:1px;height:34px;background:rgba(243,239,231,.2);position:relative}
  .rail .tick i{position:absolute;inset:0;background:var(--brass);transform:scaleY(0);transform-origin:top;transition:transform .2s}
  .rail .dot{width:6px;height:6px;border-radius:50%;background:rgba(243,239,231,.25)}
  .rail .dot.on{background:var(--brass-bright)}
  @media (max-width:640px){.aty-cap .ttl{font-size:34px}.rail{display:none}}
  @media (prefers-reduced-motion:reduce){.cap-item{transition:none}}


@media(prefers-reduced-motion:reduce){.aty{height:100vh}.cap-item{transition:none}}
