.next-stage{position:relative;height:calc(250svh + 1px);width:100%;overflow:clip;background:#141414;color:#f4f5f7}.next-viewport{position:sticky;top:0;height:100svh;width:100%;overflow:hidden}
.next-picture{position:absolute;overflow:hidden;pointer-events:none}.next-picture img{display:block;width:100%;height:100%;object-fit:cover;transform-origin:center}
.next-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;display:flex;align-items:center;flex-direction:column;white-space:nowrap}
.next-label{font:14px/1.6 'IBM Plex Sans','PingFang SC','Noto Sans SC',sans-serif;letter-spacing:.2em;margin-bottom:24px}
.next-copy h2{position:relative;font:400 clamp(48px,7vw,112px)/1.3 'PingFang SC','Noto Sans SC',sans-serif;letter-spacing:.12em;margin:0}
.next-expansion{position:absolute;left:calc(100% + 10px);top:8px;font:14px/1.5 'IBM Plex Sans',sans-serif;letter-spacing:.04em;width:3ch;text-align:left;font-variant-numeric:tabular-nums}
.next-hit{position:absolute;z-index:3;padding:0;background:transparent;touch-action:pan-y}.next-hit:focus-visible{outline:1px solid rgb(255 255 255 / .7);outline-offset:8px}
.next-arrow{display:none;color:#fff;fill:none;stroke:currentColor;transform:rotate(180deg)}
.next-arrow rect{opacity:.3}
.next-stage[data-footer-ink="light"]{text-shadow:0 1px 8px #0009}
@media(min-width:701px){
 .next-viewport{display:flex;align-items:center;justify-content:center;text-align:center}
 .next-viewport>.next-copy{position:relative;left:auto;top:auto;transform:none}
 .next-label,.next-copy h2,.next-expansion{font-family:'s','PingFang SC','Noto Sans SC',sans-serif}
 /* Keep each caption's fractional-position raster and the label's shadow
    clipping on the same separate owners as the published footer. */
 .next-label{overflow:hidden}
 .next-expansion{overflow:hidden;will-change:transform}
 .next-caption-ink,.next-caption-title,.next-expansion-ink{display:block;will-change:transform}
}
@media(max-width:700px){.next-stage{height:100svh;color:#fff}.next-viewport{position:relative}.next-expansion,.next-hit{display:none}.next-label{margin-bottom:24px;color:#666667}.next-copy h2{font-size:clamp(48px,10vw,88px);line-height:1.3}.next-arrow{display:block;width:5.8398vw;height:6.8555vw;margin-top:7.8125vw}}
@media(max-width:600px){.next-arrow{margin-top:10.6667vw;width:12.2667vw;height:14.4vw}}

.mobile-home-footer{padding:34.1797vw 0 2.9297vw;color:#fff}
.mobile-home-footer p{margin:0;font:400 5.8594vw/6.25vw 'PingFang SC','Noto Sans SC',sans-serif}
.mobile-home-top{display:block;width:5.8398vw;height:6.8555vw;margin-top:9.7656vw;padding:0;border:0;border-radius:0;color:#fff}
.mobile-home-top svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor}
.mobile-home-top rect{opacity:.3}
.mobile-home-top:focus-visible{outline:1px solid currentColor;outline-offset:5px}
@media(max-width:600px){
 .mobile-home-footer{padding:53.3333vw 0 5.3333vw}
 .mobile-home-footer p{font-size:11.7333vw;line-height:12.2667vw}
 .mobile-home-top{margin-top:20vw;width:12.2667vw;height:14.4vw}
}
@media(max-width:700px){.home-mobile{padding-bottom:0}.mobile-card:last-of-type{margin-bottom:0}}

/* The completed footer caption keeps its viewport position during the curtain. */
.chapter-footer-outgoing{position:absolute;inset:0;z-index:3;pointer-events:none;color:#f4f5f7;text-shadow:0 1px 8px #0009}
