:root{--pad:20px;--mark-size:clamp(10px, 1.35vw, 14px);--track:.09em;--bg:#fff;--fg:#0f0f0f;--panel:#fffffff0;--line:#00000029;--edge:0 0 0 1px #00000012}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Helvetica Neue,Helvetica,Arial,system-ui,sans-serif;overflow:hidden}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;display:block}a{color:inherit}.feed{scroll-snap-type:y mandatory;scrollbar-width:none;height:100dvh;overflow-y:scroll}.feed::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start;height:100dvh;padding:var(--pad);justify-content:center;align-items:center;display:flex}.shot{aspect-ratio:16/9;width:min(82vw,149.333dvh);box-shadow:var(--edge);background:var(--bg);cursor:pointer;border:0;padding:0;display:block;position:relative;overflow:hidden}.slide[data-orient=portrait] .shot{aspect-ratio:9/16;width:min(82vw,47.25dvh)}@media (max-width:700px),(max-aspect-ratio:4/5){.shot,.slide[data-orient=portrait] .shot{aspect-ratio:9/16;width:min(88vw,46.125dvh)}}@media (min-aspect-ratio:4/5){.slide{height:76dvh}.feed{padding-bottom:24dvh}.shot{width:min(78vw,117.333dvh,100vw - 300px)}.slide[data-orient=portrait] .shot{width:min(48vw,37.125dvh)}.mark{padding-bottom:24dvh}}.shot img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .6s}.slide.seen .shot img{opacity:1}@media (prefers-reduced-motion:reduce){.shot img{transition:none}}.mark{z-index:20;pointer-events:none;color:#fff;mix-blend-mode:difference;align-items:center;display:flex;position:fixed;inset:0}.mark-inner{width:100%;padding:0 var(--pad);font-size:var(--mark-size);letter-spacing:var(--track);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:1.5em;display:grid}.mark button,.mark a{pointer-events:auto;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;padding:0;text-decoration:none}.mark button:focus-visible,.mark a:focus-visible{outline-offset:4px;outline:1px solid}.m-home{justify-self:start}.m-info{justify-self:end}.m-center{white-space:nowrap;justify-self:center}.m-center .m-date{margin-left:.15em}.m-center .m-project,.m-center .m-date{transition:opacity .35s}.mark.swap .m-center .m-project,.mark.swap .m-center .m-date{opacity:0}@media (max-width:700px),(max-aspect-ratio:3/5){.mark-inner{letter-spacing:.08em;text-align:center;flex-direction:column;justify-content:space-between;align-items:center;gap:0;height:calc(min(156.4vw,82dvh) + 2.4em);font-size:clamp(12px,3.4vw,14px);display:flex}.m-home,.m-info,.m-center{white-space:normal;justify-self:auto;line-height:1.2}}@media (min-aspect-ratio:3/5) and (max-aspect-ratio:4/5){.mark-inner{font-size:clamp(15px,2vw,18px)}}.panel{z-index:40;background:var(--panel);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:14dvh var(--pad);position:fixed;inset:0;overflow-y:auto}.panel h2{font-size:var(--mark-size);letter-spacing:var(--track);text-transform:uppercase;text-align:center;margin-bottom:8dvh;font-weight:400}.close-x{z-index:70;cursor:pointer;color:#fff;mix-blend-mode:difference;background:0 0;border:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:fixed;top:12px;right:14px}.close-x:focus-visible{outline-offset:2px;outline:1px solid}.close-x svg{width:22px;height:22px;display:block}@media (max-width:700px),(max-aspect-ratio:3/5){.close-x{width:60px;height:60px}.close-x svg{width:50px;height:50px}}@media (min-aspect-ratio:3/5) and (max-aspect-ratio:4/5){.close-x{width:64px;height:64px}.close-x svg{width:44px;height:44px}}.index ul{max-width:none;margin:0;list-style:none}.index li{border-top:1px solid var(--line)}.index li:last-child{border-bottom:1px solid var(--line)}.index li a{cursor:pointer;width:100%;letter-spacing:var(--track);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:baseline;column-gap:1.5em;padding:24px 0;font-size:clamp(13px,1.5vw,16px);text-decoration:none;display:grid}.index li a:hover{opacity:.55}.index li a:focus-visible{outline:1px solid var(--fg);outline-offset:-2px}.ix-title{justify-self:start}.ix-loc{text-align:center;justify-self:center}.ix-year{justify-self:end}@media (max-width:700px),(max-aspect-ratio:3/5){.index li a{letter-spacing:.05em;grid-template-columns:auto 1fr auto;column-gap:.7em;padding:20px 0;font-size:clamp(11px,3.4vw,14px)}.index li a>*{white-space:nowrap}}.info-body{text-align:center;max-width:52ch;margin:0 auto;font-size:clamp(15px,2.4vw,19px);line-height:1.55}.info-body p+p{margin-top:1.2em}.info-body a{color:inherit;text-underline-offset:3px}.info-meta{border-top:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;opacity:.7;flex-wrap:wrap;justify-content:center;gap:1.5em;max-width:52ch;margin:3em auto 0;padding-top:1.4em;font-size:12px;display:flex}.project{z-index:60;scroll-snap-type:y proximity;scrollbar-width:none;overscroll-behavior:contain;background:#000;position:fixed;inset:0;overflow-y:scroll}.project::-webkit-scrollbar{display:none}.project-stage .gallery{position:relative}.project-stage .frame{scroll-snap-align:start;height:100dvh;position:sticky;top:0;overflow:hidden}.project-stage .frame img{object-fit:cover;width:100%;height:100%}.project-stage .reader{z-index:1;background:var(--bg);color:var(--fg);padding:16vh var(--pad) 24vh;flex-direction:column;align-items:center;gap:13vh;display:flex;position:relative}.reader .r-heading{text-transform:uppercase;letter-spacing:var(--track);font-weight:400;font-size:var(--mark-size);text-align:center}.reader .r-heading .yr{opacity:.45;margin-left:.5em}.reader .r-text{letter-spacing:.01em;max-width:62ch;font-size:clamp(14px,1.35vw,16px);line-height:1.7}.reader .r-text p+p{margin-top:1.4em}.reader .r-media{width:min(88vw,900px)}.reader .r-media>.r-media-frame{background:#111;width:100%;position:relative}.reader .r-media img,.reader .r-media video{background:#111;width:100%;display:block}.reader .r-media figcaption{letter-spacing:.07em;text-transform:uppercase;opacity:.5;text-align:center;margin-top:12px;font-size:11px}.reader .r-end{letter-spacing:.14em;text-transform:uppercase;opacity:.4;font-size:11px}.reader .r-video{display:block;position:relative}.reader .r-video img{object-fit:cover;width:100%;height:100%}.reader .r-video:hover .r-play{opacity:.7}.r-play{mix-blend-mode:difference;pointer-events:none;border-top:22px solid #0000;border-bottom:22px solid #0000;border-left:34px solid #fff;width:0;height:0;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-38%,-50%)}.project .p-close{z-index:70;cursor:pointer;color:#fff;mix-blend-mode:difference;background:0 0;border:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:fixed;top:12px;right:14px}.project .p-close:focus-visible{outline-offset:2px;outline:1px solid #fff}.project .p-close svg{width:22px;height:22px;display:block}@media (max-width:700px),(max-aspect-ratio:3/5){.project-stage .reader{padding-left:40px;padding-right:40px}.project-stage .reader .r-media{width:100%}.project .p-close{width:60px;height:60px;top:14px;right:10px}.project .p-close svg{width:50px;height:50px}.project-stage .reader .r-heading{letter-spacing:.05em;font-size:clamp(18px,5vw,22px)}.project-stage .reader .r-text{width:100%;max-width:none;font-size:clamp(17px,4.6vw,18px);line-height:1.62}.project-stage .reader .r-text p+p{margin-top:1.3em}}@media (min-aspect-ratio:3/5) and (max-aspect-ratio:4/5){.project-stage .reader{padding-left:56px;padding-right:56px}.project-stage .reader .r-media{width:100%}.project .p-close{width:64px;height:64px;top:14px;right:24px}.project .p-close svg{width:44px;height:44px}.project-stage .reader .r-heading{font-size:clamp(15px,2vw,18px)}.project-stage .reader .r-text{width:72%;max-width:none;font-size:clamp(16px,1.9vw,18px);line-height:1.62}}.project .p-label{z-index:65;font-size:var(--mark-size);letter-spacing:var(--track);text-transform:uppercase;color:#fff;mix-blend-mode:difference;pointer-events:none;white-space:nowrap;opacity:0;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.project.over-media .p-label{opacity:1}@media (max-width:700px),(max-aspect-ratio:3/5){.project .p-label{letter-spacing:.05em;white-space:normal;text-align:center;padding:0 24px;font-size:clamp(15px,4.4vw,18px)}}@media (min-aspect-ratio:3/5) and (max-aspect-ratio:4/5){.project .p-label{font-size:clamp(15px,2vw,18px)}}
