@font-face{font-family:Paperlogy;src:url('fonts/Paperlogy-3Light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Paperlogy;src:url('fonts/Paperlogy-4Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Paperlogy;src:url('fonts/Paperlogy-5Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Paperlogy;src:url('fonts/Paperlogy-6SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}html{background:#111}body{color:#efeee9;background:#111;font-family:Paperlogy,sans-serif;font-weight:400;overflow-x:hidden}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible{outline:2px solid #eee;outline-offset:5px}[hidden]{display:none!important}body:not(.gallery-open){overflow:hidden}.archive{min-height:100svh}.archive-header{user-select:none;position:absolute;top:clamp(54px,12svh,110px);left:5vw;right:5vw;z-index:10;text-align:center}.archive-header h1{font-size:clamp(34px,5.4vw,90px);font-weight:300;letter-spacing:-.055em;line-height:1.2}.archive-home{font:inherit}.archive-home span{font-weight:500}.archive-header p{margin-top:24px;letter-spacing:.24em;font-size:9px;color:#93938e}.bookmarks{position:absolute;top:calc(100svh - 82px);left:5vw;right:5vw;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;z-index:20;transition:top .85s cubic-bezier(.22,1,.36,1)}.bookmark{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;position:relative;background:var(--paper);color:var(--ink);height:125px;text-align:left;padding:15px 18px;transform-origin:bottom center;transition:transform .3s cubic-bezier(.22,1,.36,1),height .85s cubic-bezier(.22,1,.36,1),padding .85s;will-change:transform;clip-path:none}.bookmark-number{line-height:1;font-size:8px;letter-spacing:.12em;opacity:.6}.bookmark-label{line-height:1.2;display:block;font-size:clamp(12px,1.25vw,19px);font-weight:500;letter-spacing:-.015em;margin-top:13px}.bookmark:hover,.bookmark:focus-visible{transform:translateY(-12px) scale(1.02)}.archive-instruction{position:absolute;bottom:130px;width:100%;text-align:center;color:#777;letter-spacing:.2em;font-size:8px;transition:opacity .3s}.gallery-open .bookmarks{top:280px}.gallery-open .bookmark{height:66px;padding:12px 18px}.gallery-open .bookmark-label{font-size:14px;margin-top:7px}.gallery-open .bookmark[aria-pressed=true]{transform:translateY(-6px)}.gallery-open .bookmark[aria-pressed=true]::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--ink);opacity:.65}.gallery-open .archive-instruction{opacity:0;pointer-events:none}.gallery{padding:397px 5vw 35px;opacity:0;transform:translateY(40px);transition:opacity .45s .08s,transform .6s .05s}.gallery.is-visible{opacity:1;transform:translateY(0)}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px;color:#888;margin-bottom:23px}.breadcrumbs>*:not(:last-child)::after{content:'/';margin-left:8px;color:#555}.breadcrumbs>*:last-child{color:#d3d3ce}.breadcrumbs button:hover{color:#fff}.gallery-heading{display:flex;align-items:baseline;gap:18px;padding-bottom:20px;border-bottom:1px solid #333;margin-bottom:28px}.gallery-heading h2{font-size:28px;font-weight:500;letter-spacing:-.04em}.gallery-count{color:#777;font-size:9px;letter-spacing:.12em}.back-level{margin-left:auto;font-size:9px;letter-spacing:.14em;color:#aaa;padding:8px 0}.gallery-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 18px;align-items:start}.work-card{text-align:left;min-width:0}.work-image{background:#191919;overflow:hidden;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}.work-image img{width:100%;height:100%;object-fit:contain;display:block;transition:filter .3s}.work-card:hover img{filter:brightness(1.12)}.work-caption{display:flex;flex-direction:column;gap:7px;margin-top:13px;font-size:12px;font-weight:500;letter-spacing:-.01em}.work-caption small{font-size:9px;color:#888;font-weight:400}.work-card.is-source-hidden img{visibility:hidden}.section-menu{display:grid;grid-template-columns:repeat(var(--section-count,2),minmax(0,1fr));gap:20px}.section-card{position:relative;min-height:180px;border:1px solid #3a3a3a;text-align:left;padding:24px 28px;background:#151515;transition:background .3s,border-color .3s,transform .3s}.section-card:hover{background:#222;border-color:#777;transform:translateY(-4px)}.section-index{font-size:9px;color:#777;display:block}.section-label{display:block;font-size:clamp(22px,2.3vw,34px);font-weight:300;margin-top:25px;letter-spacing:-.03em}.section-count{display:block;color:#888;font-size:8px;margin-top:24px;letter-spacing:.13em}.gallery-empty{padding:75px 0 100px;color:#777;font-size:13px;text-align:center}.gallery footer{display:flex;justify-content:space-between;margin-top:85px;padding-top:20px;border-top:1px solid #333;color:#777;font-size:9px}.gallery footer span{font-size:8px;letter-spacing:.15em}.cursor{display:none;position:fixed;left:0;top:0;width:68px;height:68px;border-radius:50%;background:#efeee9;color:#111;align-items:center;justify-content:center;transform:translate(-50%,-50%);pointer-events:none;z-index:9999}.cursor span{font-size:9px;letter-spacing:.14em}.cursor.active{display:flex}.project-overlay{position:fixed;inset:0;height:100dvh;z-index:1000;visibility:hidden;pointer-events:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:transparent;transition:background .7s}.project-overlay.is-open{visibility:visible;pointer-events:auto}.project-overlay.is-expanded{background:#0a0a0a}.project-full-image{position:fixed;overflow:hidden;z-index:1001;transform-origin:center;pointer-events:none;transition:left .75s cubic-bezier(.76,0,.24,1),top .75s cubic-bezier(.76,0,.24,1),width .75s cubic-bezier(.76,0,.24,1),height .75s cubic-bezier(.76,0,.24,1)}.project-full-image img{display:block;width:100%;height:100%;object-fit:contain;background:#0a0a0a}.project-detail{position:fixed;left:40px;bottom:35px;z-index:1002;opacity:0;pointer-events:none;transition:opacity .3s}.is-expanded .project-detail{opacity:1}.detail-number{display:block;font-size:9px;letter-spacing:.2em;margin-bottom:10px;color:#aaa}.detail-title{max-width:85vw;font-size:clamp(32px,5vw,80px);font-weight:300;letter-spacing:-.04em;line-height:1.1}.detail-type{margin-top:15px;font-size:10px;letter-spacing:.08em;color:#aaa}.project-close{position:fixed;top:25px;right:30px;z-index:1003;opacity:0;padding:10px;font-size:9px;letter-spacing:.2em;transition:opacity .3s}.is-expanded .project-close{opacity:1}.project-spacer{height:100dvh;pointer-events:none}.project-content{position:relative;z-index:1002;min-height:100dvh;padding:100px 6vw 140px;display:grid;grid-template-columns:1fr 4fr;gap:60px;background:#0a0a0a}.content-left p{font-size:9px;letter-spacing:.17em;color:#888}.project-description{max-width:900px;font-size:clamp(32px,4vw,64px);font-weight:300;line-height:1.2;letter-spacing:-.04em}.project-credits{margin-top:65px;padding-top:25px;display:grid;grid-template-columns:repeat(var(--field-count,4),minmax(0,1fr));gap:26px;border-top:1px solid #333}.project-credits dt{display:block;margin-bottom:15px;color:#888;font-size:9px;font-weight:500;letter-spacing:.15em}.project-credits dd{font-size:13px;line-height:1.65;overflow-wrap:anywhere}.project-narrative{margin-top:45px;padding-top:25px;border-top:1px solid #333}.project-narrative h4{color:#888;font-size:9px;font-weight:500;letter-spacing:.15em;margin-bottom:20px}.project-narrative p{font-size:16px;font-weight:300;line-height:1.85;white-space:pre-line;max-width:900px}.project-overlay.is-closing,.project-overlay.is-opening{overflow-y:hidden}.project-overlay:not(.is-expanded) .project-content{visibility:hidden}.is-closing .project-detail,.is-closing .project-close{opacity:0}
@media(max-width:768px){.archive-header{top:48px;left:4vw;right:4vw}.archive-header h1{font-size:clamp(26px,6.8vw,48px);letter-spacing:-.045em}.archive-header p{font-size:7px;margin-top:18px}.bookmarks{left:4vw;right:4vw;gap:5px;top:calc(100svh - 74px)}.bookmark{padding:12px 7px;height:110px}.bookmark-label{font-size:clamp(7px,1.7vw,12px);margin-top:14px;white-space:nowrap;letter-spacing:-.03em}.bookmark-number{font-size:7px}.gallery-open .bookmarks{top:145px}.gallery-open .bookmark{height:58px;padding:10px 7px}.gallery-open .bookmark-label{font-size:clamp(7px,1.7vw,12px);margin-top:9px}.gallery{padding:240px 4vw 30px}.gallery-heading{gap:10px}.gallery-heading h2{font-size:22px}.gallery-count{font-size:7px}.breadcrumbs{font-size:8px}.gallery-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 8px}.work-caption{font-size:clamp(7px,1.8vw,11px);line-height:1.4;gap:4px}.work-caption small{font-size:clamp(6px,1.4vw,8px)}.section-menu{gap:12px}.section-card{min-height:160px;padding:20px 15px}.section-label{font-size:20px;line-height:1.4}.project-detail{left:20px;bottom:25px}.project-close{right:10px;top:10px}.project-content{padding:70px 20px 90px;grid-template-columns:1fr;gap:35px}.project-credits{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;margin-top:40px}.gallery-empty{font-size:12px}.archive-instruction{bottom:120px;font-size:7px}}
@media(hover:none),(pointer:coarse){.cursor{display:none!important}.bookmark:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;transition-delay:0ms!important}}

/* Eight archive boxes: two rows, with room below the title. */
.bookmarks{top:46svh;left:50%;right:auto;width:min(980px,88vw);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;transform:translateX(-50%)}
.bookmark{height:88px;padding:17px 20px;clip-path:none}
.bookmark-label{font-size:16px;margin-top:13px}
.archive-instruction{top:calc(46svh + 215px);bottom:auto}
.gallery-open .bookmarks{top:260px}
.gallery-open .bookmark{height:68px;padding:12px 18px}
.gallery{padding-top:455px}
.project-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#0a0a0a;opacity:0;pointer-events:none}
.project-overlay.is-video-playing .project-video{opacity:1}
.project-overlay.is-expanded:not(.is-opening):not(.is-closing) .project-video{pointer-events:auto}
.project-overlay.is-video-playing .project-full-image img{opacity:0}
.project-overlay.is-video-playing .project-detail{bottom:70px}
.video-play-fallback{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);z-index:1004;padding:18px 28px;background:#f1f0e9;color:#111;font-size:12px;letter-spacing:.12em}
.media-status{position:fixed;left:50%;top:55%;transform:translateX(-50%);z-index:1004;font-size:12px;background:#111d;padding:12px 18px;text-align:center}
.project-credits a{color:inherit;text-underline-offset:5px;line-height:1.8}
.project-link-note{display:block;color:#999;font-size:10px;margin-top:10px;line-height:1.6}
@media(max-width:768px){
 .bookmarks{top:42svh;left:50%;width:92vw;gap:10px}
 .bookmark{height:80px;padding:14px 12px}
 .bookmark-label{font-size:clamp(10px,2.3vw,15px);margin-top:12px;white-space:normal}
 .gallery-open .bookmarks{top:155px}
 .gallery-open .bookmark{height:60px;padding:10px 10px}
 .gallery-open .bookmark-label{font-size:clamp(9px,2vw,13px);white-space:normal}
 .gallery{padding-top:340px}
 .archive-instruction{top:calc(42svh + 197px);bottom:auto}
 .project-overlay.is-video-playing .project-detail{bottom:72px}
 .project-description{font-size:30px}
 .detail-title{font-size:30px}
}
@media(max-height:580px){body:not(.gallery-open){overflow-y:auto}.archive{min-height:580px}.bookmarks{top:270px}.archive-instruction{top:490px}.gallery-open .bookmarks{top:260px}}
.work-image{position:relative}.video-badge{position:absolute;right:9px;bottom:9px;background:#111c;color:#efeee9;padding:5px 7px;letter-spacing:.1em;font-size:7px;pointer-events:none}.work-card.is-source-hidden .video-badge{visibility:hidden}
.project-detail{text-shadow:0 2px 14px rgba(0,0,0,.6)}
.project-detail::before{content:"";position:absolute;inset:-20px -30px -25px;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.4) 70%,transparent);filter:blur(22px);pointer-events:none}
.project-close{background:rgba(10,10,10,.48)}

/* Viewer: 70% stage, captions in the remaining margin. */
.project-detail,.project-overlay.is-video-playing .project-detail{left:15vw;right:15vw;top:81dvh;bottom:auto;text-shadow:none;display:flex;align-items:baseline;gap:18px}
.project-detail::before,.detail-number{display:none}.detail-title{font-size:clamp(15px,1.5vw,23px);max-width:65%;font-weight:500;letter-spacing:-.02em;line-height:1.35}.detail-type{margin:0 0 0 auto;font-size:9px;max-width:30%;text-align:right;line-height:1.6}
.project-prev,.project-next{position:fixed;z-index:1003;top:39dvh;width:48px;height:48px;border:1px solid #424242;border-radius:50%;font-size:23px;opacity:0;transition:opacity .25s,background .2s}
.project-prev{left:5vw}.project-next{right:5vw}.is-expanded .project-prev,.is-expanded .project-next{opacity:1}.project-prev:hover,.project-next:hover{background:#333}.project-prev:disabled,.project-next:disabled{opacity:.18;cursor:default}.project-overlay:not(.is-expanded) .project-prev,.project-overlay:not(.is-expanded) .project-next{opacity:0;pointer-events:none}
.viewer-position{position:fixed;left:15vw;top:91dvh;font-size:9px;letter-spacing:.15em;color:#888;z-index:1003;opacity:0}.is-expanded .viewer-position{opacity:1}.project-content{padding-top:70px}.version-switch{position:absolute;top:25px;left:5vw;right:5vw;display:flex;justify-content:flex-end;gap:18px;z-index:30;font-size:9px;letter-spacing:.1em}.version-switch a{color:#8a8a85;text-decoration:none;padding:8px 0}.version-switch a:hover{color:#eee}
@media(max-width:768px){.project-prev,.project-next{width:32px;height:40px;border-radius:0;font-size:18px}.project-prev{left:2vw}.project-next{right:2vw}.project-detail{gap:12px}.detail-title{font-size:13px}.detail-type{font-size:7px}.version-switch{top:12px;font-size:7px}}
/* The stage and its labels share the actual visible viewport on mobile. */
.project-full-image.is-resizing{transition:none!important}
.project-overlay.is-video-ready .project-video{opacity:1}
.project-overlay.is-video-ready .project-full-image img{opacity:0}
.project-detail,.project-overlay.is-video-playing .project-detail{top:calc(var(--viewer-height,100dvh)*.81)!important;bottom:auto!important}
.project-prev,.project-next{top:calc(var(--viewer-height,100dvh)*.43 - 24px)!important}
.viewer-position{top:calc(var(--viewer-height,100dvh)*.93)!important}
.video-play-fallback{top:calc(var(--viewer-height,100dvh)*.43);max-width:65vw;padding:15px 22px}
.media-status{top:calc(var(--viewer-height,100dvh)*.73);max-width:68vw;line-height:1.5;font-size:11px}
.project-spacer{height:var(--viewer-height,100dvh)}
.project-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));min-height:40px;min-width:58px}
@media(max-width:600px){.project-prev,.project-next{min-height:44px;width:36px}.project-prev{left:1vw}.project-next{right:1vw}.project-detail{left:15vw;right:15vw;align-items:flex-start;gap:10px}.detail-title{max-width:70%;font-size:12px}.detail-type{font-size:7px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.work-caption{font-size:11px}.work-caption small{font-size:8px}}
@media(orientation:landscape) and (max-height:550px){
 body:not(.gallery-open){overflow-y:auto}.archive{min-height:560px}
 .archive-header{top:88px}.bookmarks{top:270px}.archive-instruction{top:480px}
 .gallery-open .archive-header{top:80px}.gallery-open .bookmarks{top:220px}.gallery{padding-top:395px}
 .project-detail,.project-overlay.is-video-playing .project-detail{top:calc(var(--viewer-height,100dvh)*.81)!important}
 .detail-title{font-size:12px}.detail-type{font-size:7px}.viewer-position{font-size:8px}
 .project-prev,.project-next{width:36px;height:40px;top:calc(var(--viewer-height,100dvh)*.43 - 20px)!important}
 .video-play-fallback{padding:12px 18px;font-size:10px}.media-status{font-size:9px;padding:7px 10px}
 .project-content{padding-top:40px}
}

.gallery-heading{column-gap:28px}.gallery-count{margin-left:10px}
@media(max-width:768px){.gallery-heading{column-gap:18px}.gallery-count{margin-left:8px}}
