html:has(.detail-page){height:auto;overflow:auto;scroll-behavior:smooth;scroll-padding-top:90px}.detail-page{height:auto;min-height:100vh;overflow:visible;background:#ececec}.detail-page header{position:relative;z-index:60}.detail-page .detail-info{position:fixed;left:20px;top:42%;width:24%;max-width:390px;z-index:10;font-size:12px;line-height:1.45}.info-row{display:grid;grid-template-columns:25% 1fr;gap:14px;margin-bottom:35px}.info-row dt{color:#898989}.info-row dd{margin:0}.info-row p+p{margin-top:10px}.info-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-pair .info-row{grid-template-columns:45px 1fr}.detail-info .read-note{font-size:10px;color:#777;margin-left:calc(25% + 14px);line-height:1.6}.read-board{border-bottom:1px solid #171717;padding-bottom:3px;font-size:15px}.detail-content{padding-top:120px;padding-bottom:70px}.detail-heading{margin-bottom:48px}.detail-heading>span{font-size:10px;color:#888;letter-spacing:.06em}.detail-heading h1{font-family:Glyphius,'SimSun',serif;font-size:clamp(40px,4.3vw,80px);line-height:1.05;margin-top:22px;letter-spacing:-.04em}.detail-heading p{color:#888;font-size:10px;margin-top:18px}.board{margin:0 0 12px;scroll-margin-top:95px}.board-button{display:block;width:100%;position:relative;cursor:zoom-in}.board-button img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.board-button .board-zoom{position:absolute;right:12px;bottom:12px;background:#ececece8;color:#111;padding:7px 9px;font-size:10px;opacity:0;transition:opacity .2s}.board-button:hover .board-zoom,.board-button:focus-visible .board-zoom{opacity:1}.board figcaption{display:flex;justify-content:space-between;color:#888;font-size:9px;margin-top:12px;gap:20px}.board-copy{margin-top:18px;font-size:11px;line-height:1.8;max-width:680px}.board-copy summary{color:#777;cursor:pointer;font-size:10px;display:inline-block;border-bottom:1px solid #aaa;padding-bottom:2px}.board-copy .transcript{white-space:pre-line;color:#555;padding:20px 0;line-height:1.9}.detail-thumbs{position:fixed;right:30px;top:50%;transform:translateY(-50%);width:52px;max-height:72vh;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:8px;z-index:20;padding:3px}.detail-thumbs::-webkit-scrollbar{display:none}.detail-thumbs a{display:block;opacity:.42;flex-shrink:0;transition:opacity .25s,transform .25s}.detail-thumbs img{width:100%;height:auto;display:block}.detail-thumbs a.active{opacity:1;outline:1px solid #555;outline-offset:2px}.detail-thumbs a:hover{opacity:1;transform:scale(.96)}.detail-footer{padding:60px 0;border-top:1px solid #ccc;display:flex;flex-direction:column;gap:18px}.detail-footer span{color:#888;font-size:11px}.detail-footer a{font-size:clamp(24px,3vw,50px);font-family:Glyphius,'SimSun',serif;line-height:1.1}.detail-footer a:last-child{font-size:12px;font-family:Grotesk,'Microsoft YaHei',sans-serif;margin-top:25px}.detail-status{position:fixed;left:20px;bottom:20px;font-size:10px;color:#888}.detail-page .scroll-hint{display:none}.detail-page .reading-bar{position:fixed;left:0;top:0;width:100%;height:2px;background:#898989;transform:scaleX(0);transform-origin:left;z-index:90}.detail-page .board-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:20px;background:#181918;color:#eee;z-index:120;overflow:hidden}.board-viewer::backdrop{background:#181918}.board-viewer[open]{display:flex;flex-direction:column}.board-toolbar,.board-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:45px;font-size:12px;flex-shrink:0}.board-toolbar button{padding:10px}.board-toolbar div{display:flex;align-items:center;gap:18px}.board-stage{flex:1;min-height:0;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:16px;align-items:center}.board-stage>button{font-size:25px;height:60px}.board-image-scroll{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto}.board-image-scroll img{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto;flex-shrink:0}.board-viewer.zoomed .board-image-scroll{display:block}.board-viewer.zoomed .board-image-scroll img{max-width:none;max-height:none;width:var(--zoom-width,2000px);height:auto;margin:0 auto}.board-footer{color:#aaa;font-size:11px}.board-footer a{color:#eee}.detail-page.viewer-open{overflow:hidden}.detail-page.viewer-open .board-viewer{overscroll-behavior:contain}.board-viewer button:focus-visible,.board-viewer a:focus-visible{outline:2px solid #bbb;outline-offset:3px}.board-toolbar button[aria-pressed=true]{color:#a9d8aa}.detail-page .mobile-project-label{display:none}
@media(min-width:1800px){.detail-page .detail-info{font-size:13px}.detail-thumbs{width:62px;right:40px}.board{margin-bottom:12px}.detail-content{padding-top:150px}}
@media(min-width:800px) and (max-height:720px){.detail-page .detail-info{top:32%;font-size:10px}.info-row{margin-bottom:22px}.detail-heading{margin-bottom:30px}}
@media(max-width:1100px) and (min-width:800px){.detail-page .detail-info{font-size:10px;width:25%}.info-row{gap:8px}.detail-thumbs{right:20px;width:42px}.detail-page .detail-info .info-pair{display:block}.detail-info .read-note{margin-left:0}.detail-heading h1{font-size:42px}.board{margin-bottom:12px}}
@media(max-width:799px){.detail-page .detail-info{position:relative;left:auto;top:auto;width:auto;max-width:none;font-size:12px;line-height:1.5;margin:0 20px 75px}.info-row{grid-template-columns:75px 1fr;margin-bottom:30px;gap:14px}.info-pair .info-row{grid-template-columns:75px 1fr}.info-pair{grid-template-columns:1fr}.detail-info .read-note{margin-left:89px}.detail-content{width:auto;margin:0 16px;padding-top:0;padding-bottom:40px}.detail-heading{padding-top:150px;margin:0 20px 40px}.detail-heading h1{font-size:42px;color:var(--ink,#242424);line-height:1.1;margin-top:18px}.detail-heading>span{font-size:9px}.detail-heading p{font-size:9px}.detail-page .detail-heading{margin-left:20px;margin-right:20px}.detail-thumbs{display:none}.board{margin-bottom:8px;scroll-margin-top:80px}.board-button .board-zoom{opacity:1;font-size:9px;padding:5px 7px;right:7px;bottom:7px}.board figcaption{font-size:9px}.board-copy{font-size:12px}.board-copy summary{font-size:10px}.detail-status{display:none}.detail-footer{padding:35px 0}.detail-footer a{font-size:34px}.detail-page .board-viewer{padding:10px}.board-stage{grid-template-columns:1fr;position:relative;gap:0}.board-stage>button{position:absolute;z-index:2;bottom:10px;height:40px;width:40px;background:#333b;font-size:22px}.board-prev{left:0}.board-next{right:0}.board-toolbar{font-size:11px}.board-toolbar div{gap:5px}.board-toolbar button{padding:10px 7px}.board-footer{font-size:10px;gap:10px}.board-viewer.zoomed .board-image-scroll img{width:1600px}.detail-page .mobile-project-label{display:block}.detail-page header{height:0}.detail-page .location,.detail-page .sound{display:none}}
@media(min-width:800px){.detail-page>main>.detail-heading{padding-top:110px}.detail-content{padding-top:0}}

html:has(.detail-page.viewer-open){overflow:hidden}.board-image-scroll{overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){html:has(.detail-page){scroll-behavior:auto}}

/* Twelve-column desktop grid: three columns for context, seven for artwork. */
@media(min-width:800px){
  .detail-page{--detail-margin:20px;--detail-gutter:24px}
  .detail-page>main{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--detail-gutter);margin-inline:var(--detail-margin)}
  .detail-page>main>.detail-heading,.detail-page>main>.detail-content{grid-column:4 / span 7;min-width:0;width:auto;margin-left:0;margin-right:0}
  .detail-page .detail-info{left:var(--detail-margin);width:calc((100% - 2 * var(--detail-margin) - 3 * var(--detail-gutter)) / 4);max-width:none}
  .detail-page .detail-thumbs{right:var(--detail-margin)}
}

/* A full-viewport next-project ending, independent of the artwork column. */
.detail-page .detail-content{padding-bottom:0}
.detail-page .detail-content>.board:last-child{margin-bottom:0}
.detail-page .detail-footer{grid-column:1 / -1;min-height:100svh;padding:100px 0;display:flex;align-items:center;justify-content:center;gap:22px;border:0;text-align:center}
.detail-page .detail-footer>span{color:var(--ink);font-size:10px}
.detail-page .detail-footer .next-project-link{position:relative;margin:0;max-width:100%;font-family:Glyphius,'SimSun',serif;font-size:clamp(48px,9.375vw,180px);font-weight:400;line-height:1;letter-spacing:-.025em;text-transform:uppercase;color:var(--accent);overflow-wrap:anywhere}
.detail-page .next-project-link::after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.detail-page .next-project-link:hover::after,.detail-page .next-project-link:focus-visible::after{transform:scaleX(1);transform-origin:left}
.detail-page .detail-info,.detail-page .detail-thumbs,.detail-page .detail-status{transition:opacity .4s ease,visibility 0s}
.detail-page.at-project-end .detail-info,.detail-page.at-project-end .detail-thumbs,.detail-page.at-project-end .detail-status{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility 0s .4s}
@media(max-width:799px){.detail-page .detail-footer{margin-inline:20px;gap:18px}.detail-page .detail-footer .next-project-link{font-size:clamp(38px,10vw,78px)}}
@media(prefers-reduced-motion:reduce){.detail-page .detail-info,.detail-page .detail-thumbs,.detail-page .detail-status,.detail-page .next-project-link::after{transition:none}}

.project-film{margin:0 0 12px;scroll-margin-top:90px}
.film-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#777;margin-bottom:12px}
.film-player{position:relative;background:#050505;aspect-ratio:1280/608}
.film-player video{display:block;width:100%;height:100%;object-fit:contain}
.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;background:#efefedef;color:#111;padding:16px 22px;font-size:18px;box-shadow:0 2px 16px #0002}
.film-play span{font-size:12px}.film-play:hover{background:#fff}.film-play[hidden]{display:none}
.detail-thumbs .film-thumb{position:relative;flex-shrink:0}.film-thumb span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:#0003;font-size:9px}
@media(max-width:799px){.project-film{margin-bottom:8px}.film-caption{font-size:9px}.film-play{padding:10px 15px;font-size:15px}}

/* Video projects: one continuous player, viewport first, then the artwork grid. */
.film-slot{position:relative;aspect-ratio:1280/608}
.film-slot .film-player{position:absolute;inset:0;aspect-ratio:auto}
.cinema-page{--cinema-distance:65svh}
.cinema-page>main{padding-top:var(--cinema-distance)}
.cinema-page.cinema-cover .film-player{position:fixed;inset:auto;left:50%;top:50%;width:min(82vw,1280px);height:auto;aspect-ratio:inherit;transform:translate(-50%,-50%);z-index:100}
.cinema-page>header,.cinema-page .detail-heading,.cinema-page .film-caption{transition:opacity .4s ease}
.cinema-page.cinema-cover>header,.cinema-page.cinema-cover .detail-info,.cinema-page.cinema-cover .detail-thumbs,.cinema-page.cinema-cover .detail-status,.cinema-page.cinema-cover .detail-heading,.cinema-page.cinema-cover .film-caption,.cinema-page.cinema-cover .reading-bar{opacity:0!important;visibility:hidden;pointer-events:none}
.film-scroll{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);color:#fff;font-size:25px;line-height:1;background:#0005;border-radius:50%;width:40px;height:40px;text-align:center}
.film-scroll[hidden]{display:none}
@media(max-width:799px){.cinema-page{--cinema-distance:45svh}.cinema-page .detail-heading{padding-top:100px;margin-bottom:30px}.cinema-page .detail-info{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){.cinema-page{--cinema-distance:0px}.cinema-page>header,.cinema-page .detail-heading,.cinema-page .film-caption{transition:none}}
