/* 3c Sticky stack · pinned panel; scrolling wipes each frame up over the last. JS writes --t on each frame. */
.pc-stack{position:relative;height:calc(var(--steps,4) * 75vh)}
.pc-stack__stage{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-content:center}
@media (min-width:900px){.pc-stack__stage{grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:center}}
.pc-stack__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.pc-stack__list li{display:grid;grid-template-columns:8px minmax(0,1fr);gap:2px 12px;opacity:.4;transition:opacity var(--dur-base)}
.pc-stack__list li::before{content:"";width:8px;height:8px;margin-top:6px;border-radius:2px;background:var(--band);grid-row:1/3}
.pc-stack__list li.is-active{opacity:1}
.pc-stack__list b{font-weight:500;font-size:15px;color:var(--text)}
.pc-stack__list span{font-size:12px;color:var(--text-label)}
.pc-stack__frames{position:relative;height:64vh;border-radius:var(--r-panel);overflow:hidden;border:1px solid var(--hairline);background:var(--sunken)}
.pc-stack__frame{--t:0;position:absolute;inset:0;margin:0;background:var(--sunken);clip-path:inset(calc((1 - var(--t)) * 100%) 0 0 0)}
.pc-stack__frame:first-child{--t:1}
.pc-stack__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-stack__frame::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--band);z-index:1}
.pc-stack__frame figcaption{position:absolute;left:28px;bottom:24px;display:flex;flex-direction:column;gap:8px;background:var(--sunken);padding:14px 16px;border-radius:var(--r-button);border:1px solid var(--hairline)}
.pc-stack__frame figcaption b{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-.03em;color:var(--text)}
@media (prefers-reduced-motion:reduce){.pc-stack{height:auto}.pc-stack__stage{position:static;height:auto}}
