/* A visual index: one slow-moving, touch-scrollable line through the work. */
#work .section-heading{padding-bottom:40px}
.index-exploration{position:relative;z-index:1}
.index-band{margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter) 12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;outline-offset:-3px}
.index-band::-webkit-scrollbar{display:none}
.index-track{display:flex;align-items:flex-start;gap:24px;width:max-content;padding-right:var(--gutter)}
.index-project{flex:0 0 auto;width:clamp(230px,24vw,355px);margin:0}
.index-project:nth-child(4n+2){width:clamp(220px,22vw,325px);padding-top:52px}
.index-project:nth-child(4n+3){width:clamp(205px,21vw,305px);padding-top:15px}
.index-project:nth-child(4n+4){width:clamp(210px,20vw,295px);padding-top:70px}
.index-project-media{position:relative}
.index-project-link{display:block;position:relative;overflow:hidden;aspect-ratio:1.16;background:#dedfd6}
.index-project:nth-child(4n+2) .index-project-link{aspect-ratio:1.3}
.index-project:nth-child(4n+3) .index-project-link{aspect-ratio:1}
.index-project:nth-child(4n+4) .index-project-link{aspect-ratio:1.18}
.index-project-link img{width:100%;height:100%;display:block;object-fit:cover}
.index-project .index-project-link.index-project-portrait{aspect-ratio:2/3}
.index-project-link.index-project-portrait img{object-fit:contain}
.index-project-film .index-project-link{aspect-ratio:16/9;background:#171a16}
.index-project-film .index-project-link img,.index-project-video{width:100%;height:100%;object-fit:contain;transform:none!important;animation:none!important}
.index-project-video{position:absolute;inset:0;display:block;pointer-events:none}
.index-film-failed .index-project-video{display:none}
.index-film-toggle{position:absolute;left:10px;bottom:10px;z-index:2;min-height:32px;padding:6px 10px;border:1px solid #ffffff45;border-radius:18px;background:#172017df;color:#fff;font-size:10px;line-height:1.3;cursor:pointer}
.index-film-toggle:hover,.index-film-toggle:focus-visible{background:#172017;outline-offset:3px}
.index-film-toggle:disabled{opacity:.65;cursor:default}
.index-project-link:after{content:'↗';position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--paper);color:var(--ink);font-size:19px;transform:translateY(48px);transition:transform .35s var(--ease)}
.index-project-link:hover:after,.index-project-link:focus-visible:after{transform:none}
.index-project-caption{padding-top:15px;display:flex;align-items:start;justify-content:space-between;gap:10px}
.index-project-title{font-size:13px;line-height:1.45;font-weight:400;letter-spacing:-.015em;max-width:65%}
.index-project-title a:hover{text-decoration:underline;text-underline-offset:4px}
.index-project-discipline{font-size:9px;line-height:1.8;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.index-project-discipline:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.index-band-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:21px 0 26px}
.index-band-footer p{margin:0;font-size:10px;line-height:1.6;color:var(--muted)}
.index-hint-divider{display:inline-block;padding:0 12px;color:#9aa08e}
.index-hint-touch{display:none}
.index-band-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.index-band-controls button{display:flex;justify-content:center;align-items:center;border:1px solid var(--line);height:36px;min-width:36px;border-radius:50%;font-size:17px;transition:background .2s,color .2s}
.index-band-controls button:hover{background:var(--ink);color:var(--paper)}
.index-band-controls #index-motion{gap:7px;border-radius:20px;font-size:10px;padding:0 12px;margin-right:5px}
.index-motion-icon{font-size:13px;min-width:10px}
#work .archive-cta{padding-top:27px}
@media(max-width:760px){
 #work .section-heading{padding-bottom:29px;align-items:start;gap:22px}
 #work .section-heading p{max-width:215px;line-height:1.7}
 .index-track{gap:16px}
 .index-project{width:70vw;max-width:320px}
 .index-project:nth-child(4n+2){width:67vw;max-width:305px;padding-top:37px}
 .index-project:nth-child(4n+3){width:64vw;max-width:290px;padding-top:10px}
 .index-project:nth-child(4n+4){width:64vw;max-width:290px;padding-top:45px}
 .index-project-caption{padding-top:12px;gap:6px}
 .index-project-title{font-size:12px}
 .index-project-discipline{font-size:8px}
 .index-band-footer{gap:12px;align-items:center;padding:16px 0 24px}
 .index-band-footer p{font-size:9px;max-width:175px}
 .index-hint-desktop,.index-hint-divider{display:none}
 .index-hint-touch{display:block;color:var(--ink);margin-bottom:3px}
 .index-band-controls{gap:6px}
 .index-band-controls button{height:34px;min-width:34px}
 .index-band-controls #index-motion{padding:0 9px;margin-right:0}
 .index-motion-label{display:none}
 .index-project-link:after{width:28px;height:28px;font-size:16px;right:8px;bottom:8px;transform:none}
}
@media(prefers-reduced-motion:reduce){.index-project-link img,.index-project-link:after{transition:none!important;transform:none!important}}
body.motion-paused .index-project-link img,body.motion-paused .index-project-link:after{transition:none!important}

.index-project-credit{display:block;font-size:9px;color:var(--muted);line-height:1.6;margin-top:7px;text-decoration:underline;text-underline-offset:3px}.index-project-credit:hover{color:var(--ink)}.index-band-controls button:disabled{opacity:.5;cursor:default}.index-band-controls button:disabled:hover{background:transparent;color:inherit}
