body:has(main.projects) .site-header{position:sticky;top:0;z-index:10;background:var(--ground);border-image:linear-gradient(var(--ground),var(--ground)) fill 0 / 0 / 0 100vmax;box-shadow:0 1px 0 var(--rule)}html:has(main.projects){scroll-padding-top:var(--head, 6rem)}main.projects{max-width:74rem;margin:0 auto;--screen: calc(100svh - var(--head, 6rem));--step: 35svh}.projects .ruler{position:absolute;top:0;width:0;height:var(--screen);visibility:hidden}.project{position:relative;margin:0;padding:0;border-top:0}.project .text{min-width:0}.project .crumbs{margin:0 0 1rem;font-size:.95rem}.project .crumbs span{padding:0 .35rem;color:var(--muted)}.project h2{font-size:2.25rem;line-height:1.1;letter-spacing:-.015em;font-weight:500;margin:.3rem 0 .45rem}.project h2[tabindex="-1"]:focus{outline:none}.project .sub{margin:0 0 .9rem;color:var(--muted)}.project .desc{margin:0}.project .more{align-self:flex-start;margin:.4rem 0 0;padding:0;font:inherit;color:var(--link);background:none;border:0;border-radius:0;text-decoration:underline;text-underline-offset:.2em}.project .producer{margin:.75rem 0 0;font-size:.875rem;color:var(--muted)}.project .where{margin-top:1rem}.project .count{margin:.15rem 0 0;font-size:.875rem}.project .credit{margin:0;font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project .dots{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:-.45rem}.project .dots button{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:none;border:0;border-radius:0}.project .dots button span{width:.55rem;height:.55rem;border-radius:50%;border:2px solid var(--ink)}.project .dots button[aria-current=true] span{background:var(--ink)}.project .next{margin:1.25rem 0 0;padding-top:.9rem;border-top:1px solid var(--rule)}.project .next-label{display:block;font-size:.85rem;color:var(--muted)}.project .next a{color:var(--ink)}.frames{display:grid;gap:1.5rem;min-width:0}.frames figure{margin:0}.frames a{position:relative;display:block;aspect-ratio:1 / 1;overflow:hidden;background:var(--surface);cursor:zoom-in}.frames a:focus-visible{outline:none}.frames a:focus-visible:after{content:"";position:absolute;inset:0;z-index:1;outline:3px solid var(--focus);outline-offset:-3px}.frames img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--focus, 50% 50%);transform:scale(var(--zoom, 1));transform-origin:var(--focus, 50% 50%)}.frames figcaption{padding:.5rem 0 0;font-size:.9rem}.frames figcaption .photo{display:block;color:var(--muted);font-size:.85rem}.projects-end{display:flex;flex-wrap:wrap;gap:.75rem;padding:2.5rem 0 1rem;border-top:1px solid var(--ink)}.projects-end .back{display:inline-block;padding:.75rem 1.6rem;color:var(--ink);border:1px solid var(--ink);border-radius:999px;text-decoration:none}html:has(main.projects .project.is-b){scroll-snap-type:y mandatory}html:has(main.projects .project.is-b) .project{scroll-snap-align:start;scroll-snap-stop:always}html:has(main.projects .project.is-b) .site-footer{scroll-snap-align:end}.image-stops{display:none}@media(pointer:coarse){.project.is-b .image-stops{display:block}.project.is-b .image-stops span{position:absolute;left:0;top:calc((var(--k) + .5) * var(--step));width:1px;height:1px;pointer-events:none;scroll-snap-align:start;scroll-snap-stop:always}}.project:not(.is-b) .pin{display:grid;grid-template-columns:2fr 3fr;gap:2.5rem;padding:2rem 0}.project+.project:not(.is-b) .pin,.project:not(.is-b)+.project .pin{border-top:1px solid var(--rule)}.project:not(.is-b) .text{position:sticky;top:calc(var(--head, 6rem) + 1.5rem);align-self:start;max-height:calc(100vh - var(--head, 6rem) - 3rem);max-height:calc(100svh - var(--head, 6rem) - 3rem);overflow-y:auto}.project:not(.is-b) .text.is-long{position:static;max-height:none;overflow:visible}.project:not(.is-b) .where{display:none}.project.is-b{height:calc(var(--screen) + var(--n) * var(--step))}.project.is-b .pin{position:sticky;top:var(--head, 6rem);height:var(--screen);container-type:inline-size;display:grid;grid-template-columns:2fr 3fr;grid-template-rows:100%;gap:2.5rem;padding:1.25rem 0}.project.is-b .text{display:flex;flex-direction:column;min-height:0}.project.is-b .text>*{flex:none}.project.is-b .text>.desc{flex:0 1 auto;min-height:1.55em;overflow:hidden}.project.is-b .desc.is-cut{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lines);line-clamp:var(--lines)}.project.is-b .text>.next{margin-top:auto}.project.is-b.is-short h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.project.is-b.is-short .sub{margin-bottom:.5rem;display:flex;white-space:nowrap}.project.is-b.is-short .sub .material{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.project.is-b.is-short .sub .year{flex:none}.project.is-b.is-short .producer{display:none}.project.is-b.is-short .crumbs{margin-bottom:.4rem}.project.is-b .frames{position:relative;display:block;min-height:0;overflow:hidden;container-type:size}.project.is-b .frames figure{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}.project.is-b .frames figure.is-active{opacity:1;visibility:visible;transition:opacity .35s ease}.project.is-b .frames a{width:min(100cqw,100cqh - 1.75rem)}.project.is-b .frames figcaption{display:none}.project.is-b .frames figure.has-credit figcaption{display:block;padding-top:.35rem}.project.is-b .frames figcaption .caption{display:none}.project.is-b .frames figcaption .photo{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(prefers-reduced-motion:reduce){.project.is-b .frames figure,.project.is-b .frames figure.is-active{transition:none}}@media(max-width:43.99rem){.project h2{font-size:1.75rem}.project:not(.is-b) .pin{display:block}.project:not(.is-b) .text{position:static;max-height:none;overflow:visible;margin-bottom:1.5rem}.project.is-b .pin{display:flex;flex-direction:column;gap:0;padding:.75rem 0}.project.is-b .text{display:contents}.project.is-b .text>.desc{max-height:4.65em}.project.is-b .crumbs{margin-bottom:.25rem}.project.is-b .frames{order:1;flex:0 1 calc(100cqw + 1.75rem);margin:.6rem 0;min-height:12rem}.project.is-b.is-short .frames{min-height:8rem}.project.is-b .where{order:2;margin:0;display:flex;flex-wrap:wrap;align-items:center;column-gap:.75rem}.project.is-b .where .credit{flex-basis:100%}.project.is-b .text>.next{display:none}}html:has(.text-dialog[open]){overflow:hidden}.text-dialog{width:min(40rem,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0 1.75rem 1.75rem;border:0;border-radius:1rem;background:var(--ground);color:var(--ink);overflow:auto;overscroll-behavior:contain}.text-dialog::backdrop{background:#22201dd6}.text-dialog .dialog-head{position:sticky;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-top:1.5rem;background:var(--ground)}.text-dialog h2{margin:0 0 .3rem}.text-dialog .sub{margin:0 0 1rem;color:var(--muted)}.text-dialog .producer{font-size:.9rem;color:var(--muted)}@media(max-width:40rem){.text-dialog{width:100%;height:100%;max-height:none;margin:0;border-radius:0;padding:0 16px 2rem}}html:has(.lightbox[open]){overflow:hidden}.lightbox{position:fixed;inset:0;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#f7f5f0;overflow:hidden}.lightbox[open]{display:grid;place-items:center}.lightbox::backdrop{background:#22201dd6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lightbox figure{margin:0;display:grid;justify-items:center;gap:.8rem;max-width:calc(100% - 9rem)}.lightbox img{display:block;max-width:100%;max-height:calc(100dvh - 9rem);width:auto;height:auto;object-fit:contain;box-shadow:0 1.5rem 4rem #00000059}.lightbox figcaption{max-width:40rem;text-align:center;font-size:.95rem}.lightbox figcaption:not(:empty){padding:.3rem .9rem;border-radius:.6rem;background:#22201d}.lightbox figcaption span{display:block;color:#d9d4cb;font-size:.85rem}.lightbox button{position:absolute;display:grid;place-items:center;width:3rem;height:3rem;padding:0;border:0;border-radius:50%;color:#22201d;background:#f7f5f0eb;font-size:1.9rem;line-height:1}.lightbox button:hover{background:#f7f5f0}.lightbox button:focus-visible{outline:3px solid #f7f5f0;outline-offset:3px}.lightbox-prev{left:1.5rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:1.5rem;top:50%;transform:translateY(-50%)}.lightbox-close{top:1.25rem;right:1.5rem}.lightbox-count{position:absolute;top:2rem;left:50%;transform:translate(-50%);margin:0;padding:.15rem .7rem;border-radius:999px;font-size:.9rem;background:#22201d}@media(max-width:40rem){.lightbox figure{max-width:calc(100% - 1rem)}.lightbox img{max-height:calc(100dvh - 12rem)}.lightbox-prev,.lightbox-next{top:auto;bottom:1.25rem;transform:none}}
