/* A pinned project spread: native snapping on the image viewport, one shared
   scroll position for the section reel and the local description track. */
main{overflow:clip}
.project-reader{--reader-left:clamp(24px,3vw,58px);--reader-peek:clamp(22px,3.5vw,70px);--reader-gap:clamp(22px,2.3vw,48px);--reader-top:clamp(120px,17vh,180px);position:absolute;inset:0;z-index:15;background:#fff;color:#171717;overflow:hidden}
.project-workspace{position:absolute;top:var(--reader-top);bottom:74px;left:var(--reader-left);right:calc(var(--reader-peek) + var(--reader-gap));display:grid;grid-template-columns:minmax(0,1fr) clamp(215px,22vw,360px);gap:var(--reader-gap);min-height:0}
.project-back{position:absolute;left:var(--reader-left);top:calc(var(--reader-top) - 40px);font-size:9px;letter-spacing:.12em;color:#797979;padding:8px 0}.project-back:hover{color:#111}
.project-scroll{height:100%;min-width:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;outline:none;touch-action:pan-y}
.project-scroll::-webkit-scrollbar{display:none}.project-scroll:focus-visible{outline:1px solid #999;outline-offset:5px}
.project-slide{height:100%;min-height:100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative}
.project-image-frame{width:100%;height:100%;display:flex;align-items:flex-start;justify-content:flex-start;overflow:hidden}
.project-image-frame img,.project-image-frame video{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;object-position:left top}.project-image-frame img{user-select:none}
.project-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}
.project-heading{--divider-space:clamp(16px,1.8vw,28px);display:flex;align-items:center;gap:var(--divider-space);width:calc(100% + var(--reader-gap));padding-right:var(--divider-space);flex:none;min-width:0}
.project-name{position:relative;flex:0 1 auto;min-width:0;max-width:calc(100% - var(--divider-space) - 40px);font-size:clamp(19px,1.65vw,31px);line-height:1.2;font-weight:400;color:#696969;letter-spacing:-.015em;margin:0;padding:0;overflow-wrap:anywhere}
.project-heading-divider{display:block;flex:1 0 40px;height:1px;background:#b6b7b2}
.project-section-reel{height:170px;flex:none;position:relative;overflow:hidden;margin-top:22px;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.project-section{position:absolute;left:0;right:0;top:calc(50% - 20px);height:40px;text-align:left;font-size:clamp(13px,1.1vw,20px);font-style:italic;font-weight:400;letter-spacing:0;white-space:nowrap;padding:0;color:#656565;transition:color .2s,font-weight .2s;will-change:transform,opacity}
.project-section::before{content:'—';display:inline-block;width:20px;font-size:.7em}.project-section.current{color:#000;font-weight:800}.project-section:focus-visible{outline:1px solid #777;outline-offset:-2px}
.project-descriptions{position:relative;overflow:hidden;height:clamp(160px,30vh,300px);min-height:100px;margin-top:auto;mask-image:linear-gradient(transparent,#000 7%,#000 93%,transparent)}
.project-description-page{position:absolute;inset:0;overflow-y:auto;scrollbar-width:thin;padding:18px 4px 16px 0;will-change:transform,opacity;overscroll-behavior:contain}
.project-description-kicker{font-size:9px;letter-spacing:.11em;color:#8a8a83;display:block;margin-bottom:16px}.project-description-page h2{font-weight:500;font-size:clamp(14px,1.15vw,20px);line-height:1.45;margin:0 0 12px;overflow-wrap:anywhere}.project-description-page p{font-size:clamp(12px,1vw,17px);line-height:1.8;white-space:pre-wrap;margin:0;color:#5b5b55}.project-open-work{font-size:9px;letter-spacing:.09em;color:#86867e;padding:12px 0;margin-top:12px}.project-open-work:hover{color:#000}
.project-pager{position:absolute;left:var(--reader-left);bottom:26px;display:flex;align-items:center;gap:15px;font-size:10px;color:#777}.project-pager button{font-size:19px;padding:5px 8px}.project-pager button:disabled{opacity:.2;cursor:default}.project-page-count{min-width:50px;font-size:10px;letter-spacing:.06em;font-variant-numeric:tabular-nums}.project-scroll-hint{font-size:8px;letter-spacing:.1em;margin-left:12px;opacity:.6}
.project-folder-peek{position:absolute;z-index:19;transform-origin:top left;padding:0;text-align:left;box-shadow:-8px 12px 30px #25252512;cursor:pointer}.project-folder-paper{position:absolute;inset:0;width:100%;height:100%;background:#e9e9db;box-shadow:2px 3px 0 #bbbdb5,4px 6px 0 #d1d2c9;pointer-events:none}.project-folder-paper>svg{position:absolute;inset:0;width:100%;height:100%}.project-folder-paper .folder-art{position:absolute;left:2.05%;top:13.39%;width:95.89%;height:83.66%;overflow:hidden}.project-folder-paper .folder-art img{width:100%;height:100%;object-fit:cover}.project-folder-peek:focus-visible{outline:2px solid #333;outline-offset:5px}
.project-note{padding:36px;max-width:100%;color:#777}.project-note>span,.project-note a{font-size:10px;letter-spacing:.12em}.project-note h2{font-size:26px;font-weight:400;overflow-wrap:anywhere}.project-note a{display:block;color:inherit;margin:15px 0}
body.project-reading .vector-folders,body.project-reading .archive-labels,body.project-reading footer{opacity:0!important;pointer-events:none!important;transition:opacity .35s ease}
body.project-reader-closing .vector-folders,body.project-reader-closing .archive-labels,body.project-reader-closing footer{opacity:1!important;transition:opacity .65s ease .12s}
body.project-reading header{color:#29312d}
@media(max-height:650px) and (min-width:701px){.project-reader{--reader-top:105px}.project-section-reel{height:125px;margin-top:12px}.project-descriptions{height:160px}.project-workspace{bottom:58px}.project-pager{bottom:14px}}
@media(max-width:700px){
 .project-reader{--reader-left:18px;--reader-top:151px;--reader-gap:15px;--reader-peek:16px}
 .project-back{font-size:8px;top:115px}.project-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(160px,1fr) 207px;gap:18px;bottom:58px}
 .project-sidebar{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:auto minmax(0,1fr);column-gap:16px;row-gap:8px}
 .project-heading{grid-column:1/-1;--divider-space:14px}.project-name{font-size:18px}.project-section-reel{height:100%;min-height:95px;margin:0}.project-section{font-size:10px;letter-spacing:0}.project-section::before{width:12px}
 .project-descriptions{height:100%;margin:0;min-height:0}.project-description-page{padding:13px 2px 10px 0}.project-description-kicker{font-size:7px;letter-spacing:.06em;margin-bottom:8px}.project-description-page h2{font-size:12px;margin-bottom:8px}.project-description-page p{font-size:11px;line-height:1.6}.project-open-work{font-size:7px;margin-top:2px;padding:8px 0}
 .project-pager{bottom:12px;gap:8px}.project-scroll-hint{font-size:6px;margin-left:4px;letter-spacing:.04em}.project-pager button{font-size:17px}.project-page-count{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.project-section,body.project-reading .vector-folders,body.project-reading .archive-labels{transition:none}}

.project-photo-paper{background:#fff;border:1px solid #a1a3a0;box-shadow:3px -4px 0 #fff,4px -5px 0 #b6b8b2,6px -8px 0 #fff,7px -9px 0 #c0c2bc;overflow:hidden}
.project-photo-paper .folder-art{inset:0;width:100%;height:100%}
