.projects-page{padding-block:clamp(3.5rem,7vw,5.5rem) clamp(4rem,9vw,7rem)}.projects-toolbar{border-bottom:1px solid var(--color-line);flex-wrap:nowrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;display:flex}@media (width>=48rem){.projects-toolbar{flex-wrap:wrap;gap:1rem 1.5rem}}.projects-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:0;flex-wrap:nowrap;flex:auto;align-items:stretch;gap:0;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow:auto hidden}.projects-filters::-webkit-scrollbar{display:none}@media (width>=48rem){.projects-filters{flex-wrap:wrap;overflow:visible}}.projects-tools{flex-shrink:0;align-items:center;gap:.35rem;min-width:0;padding-bottom:.55rem;display:inline-flex}.projects-search{z-index:5;align-items:center;display:inline-flex;position:relative}.projects-search__toggle.btn{border-color:#0000}.projects-search__toggle.btn .icon-close{display:none}.projects-search__toggle.btn[aria-expanded=true]{background-color:color-mix(in srgb, var(--color-ink) 10%, transparent)}.projects-search__toggle.btn[aria-expanded=true] .icon-open{display:none}.projects-search__toggle.btn[aria-expanded=true] .icon-close{display:inline-block}.projects-search__panel{z-index:20;border:1px solid var(--color-line);background-color:var(--color-canvas-elevated);width:min(20rem,100vw - 2.5rem);min-width:14rem;box-shadow:0 14px 36px color-mix(in srgb, var(--color-ink) 14%, transparent);border-radius:.75rem;padding:.75rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0}.projects-search__panel[hidden]{display:none}.projects-search__input.input{background-color:var(--color-canvas);border-radius:9999px;height:2.5rem;padding-block:0;padding-inline:.95rem;font-size:.875rem}.projects-view{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.projects-view__toggle.btn{border-color:#0000}@media (width>=48rem){.projects-view__toggle.btn{display:none}}.projects-view__btn.btn{border-color:#0000;display:none}.projects-view__btn.btn[aria-pressed=true]{background-color:color-mix(in srgb, var(--color-ink) 10%, transparent);color:var(--color-ink);border-color:#0000}@media (width>=48rem){.projects-view__btn.btn{display:inline-flex}}.projects-filters__btn{appearance:none;margin:0;margin-inline-end:clamp(1.75rem,4vw,2.75rem);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink);background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:.5rem;margin-bottom:-1px;padding:.85rem 0;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-size:.75rem;font-weight:600;line-height:1.2;transition:color .15s,border-color .15s;display:inline-flex}.projects-filters__btn:last-child{margin-inline-end:0}.projects-filters__btn:hover{color:var(--color-primary)}.projects-filters__btn:hover .projects-filters__count{background-color:color-mix(in srgb, var(--color-primary) 16%, transparent);color:var(--color-primary)}.projects-filters__btn:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.projects-filters__btn[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.projects-filters__btn[aria-selected=true] .projects-filters__count{background-color:var(--color-primary);color:var(--color-on-primary)}.projects-filters__count{background-color:color-mix(in srgb, var(--color-ink) 10%, transparent);min-width:1.35rem;height:1.35rem;color:var(--color-ink-muted);font-variant-numeric:tabular-nums;letter-spacing:0;border-radius:9999px;place-items:center;padding-inline:.3rem;font-size:.625rem;font-weight:600;line-height:1;transition:color .15s,background-color .15s;display:inline-grid}.projects-grid{gap:clamp(2.75rem,5.5vw,4rem) clamp(1.5rem,3vw,2rem);margin-top:clamp(2rem,4vw,3rem);display:grid}@media (width>=640px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.projects-grid[data-view=list]{grid-template-columns:minmax(0,1fr);row-gap:clamp(1.25rem,3vw,1.75rem)}.projects-grid[data-view=list] a.projects-card__link{grid-template-columns:minmax(6.5rem,11rem) minmax(0,1fr);align-items:center;gap:clamp(1rem,2.5vw,1.5rem);display:grid}.projects-grid[data-view=list] .projects-card__media{margin:0}.projects-grid[data-view=list] .projects-card__body{align-items:center;margin-top:0}@media (width>=720px){.projects-grid[data-view=list] a.projects-card__link{grid-template-columns:minmax(10rem,16rem) minmax(0,1fr)}}.projects-grid__empty{color:var(--color-ink-muted);grid-column:1/-1;margin:0}.projects-card[hidden]{display:none!important}a.projects-card__link{color:inherit;text-decoration:none;transition:none;display:block}a.projects-card__link:hover,a.projects-card__link:focus-visible{opacity:1}a.projects-card__link:hover .projects-card__title,a.projects-card__link:focus-visible .projects-card__title{color:var(--color-primary)}a.projects-card__link:hover .projects-card__media img,a.projects-card__link:focus-visible .projects-card__media img{transition-duration:.85s;transition-timing-function:cubic-bezier(.16,1,.3,1);transform:scale(1.06)}a.projects-card__link:hover .btn--icon,a.projects-card__link:focus-visible .btn--icon{background-color:var(--color-ink);border-color:var(--color-ink);color:var(--color-canvas)}a.projects-card__link:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.projects-card__media{border-radius:.75rem;margin:0;position:relative}.projects-card__media:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(180deg, transparent 0%, transparent 45%, color-mix(in srgb, var(--color-neutral-950) 12%, transparent) 72%, color-mix(in srgb, var(--color-neutral-950) 28%, transparent) 100%);position:absolute;inset:0}.projects-card__media img{object-fit:cover;transform-origin:50%;backface-visibility:hidden;width:100%;height:100%;transition:transform .48s cubic-bezier(.22,1,.36,1);display:block;transform:scale(1.001)}.projects-card__body{justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:1rem;display:flex}.projects-card__copy{min-width:0}.projects-card__title{margin:0;transition:color .25s}.projects-card__location{margin:.35rem 0 0}@media (prefers-reduced-motion:reduce){.projects-card__media img{transition:none}a.projects-card__link:hover .projects-card__media img,a.projects-card__link:focus-visible .projects-card__media img{transform:none}}.project-page{padding-block:clamp(3.5rem,7vw,5.5rem) clamp(4rem,9vw,7rem)}.project-meta{border-bottom:1px solid var(--color-line);padding:0;gap:clamp(1.25rem,3vw,2rem);margin:0 0 clamp(2rem,4vw,3rem);padding-bottom:clamp(1.5rem,3vw,2.25rem);display:grid}@media (width>=640px){.project-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-meta__item{margin:0}.project-meta__item dt{margin:0 0 .35rem}.project-meta__item dd{margin:0}.project-body{max-width:42rem}.project-body :where(p){margin:0 0 1.15em}.project-body :where(p:last-child){margin-bottom:0}.project-body :where(h2,h3){margin:1.75em 0 .65em}.project-body :where(ul,ol){margin:0 0 1.15em;padding-inline-start:1.25em}.project-gallery{margin-top:clamp(3rem,6vw,4.5rem)}.project-gallery__grid{gap:clamp(1rem,2.5vw,1.5rem);margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-gallery__item{margin:0}.project-gallery__trigger{cursor:zoom-in;text-align:left;width:100%;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}.project-gallery__trigger:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.project-gallery__trigger:hover .project-gallery__zoom,.project-gallery__trigger:focus-visible .project-gallery__zoom{opacity:1;transform:scale(1)}.project-gallery__trigger .media{background-color:var(--color-neutral-950);border-radius:.75rem;position:relative;overflow:hidden}.project-gallery__trigger .media:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(180deg, transparent 0%, transparent 50%, color-mix(in srgb, var(--color-neutral-950) 10%, transparent) 78%, color-mix(in srgb, var(--color-neutral-950) 22%, transparent) 100%);position:absolute;inset:0}.project-gallery__trigger .media img{transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-gallery__trigger:hover .media img,.project-gallery__trigger:focus-visible .media img{transform:scale(1.04)}.project-gallery__zoom{z-index:2;opacity:0;pointer-events:none;background-color:color-mix(in srgb, var(--color-neutral-950) 55%, transparent);border-color:color-mix(in srgb, var(--color-neutral-50) 35%, transparent);color:var(--color-neutral-50);transition:opacity .25s,transform .25s;position:absolute;bottom:.85rem;right:.85rem;transform:scale(.92)}.project-gallery__zoom:hover{background-color:color-mix(in srgb, var(--color-neutral-950) 55%, transparent);border-color:color-mix(in srgb, var(--color-neutral-50) 35%, transparent);color:var(--color-neutral-50)}.project-lightbox{background:color-mix(in srgb, var(--color-neutral-950) 92%, transparent);width:min(100vw - 1.5rem,72rem);max-width:calc(100vw - 1.5rem);height:min(100vh - 1.5rem,52rem);max-height:calc(100vh - 1.5rem);color:var(--color-neutral-50);opacity:0;transform-origin:50%;border:0;border-radius:.75rem;margin:auto;padding:0;overflow:hidden;transform:scale(.96)}.project-lightbox::backdrop{background:color-mix(in srgb, var(--color-neutral-950) 72%, transparent);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s cubic-bezier(.22,1,.36,1)}.project-lightbox.is-open::backdrop{opacity:1}.project-lightbox.is-closing::backdrop{opacity:0;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,1,1)}.project-lightbox__chrome{inset-inline:0;z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex;position:absolute;top:0}.project-lightbox__chrome>*{pointer-events:auto}.project-lightbox__counter{color:color-mix(in srgb, var(--color-neutral-50) 78%, transparent);margin:0}.project-lightbox__stage{place-items:center;width:100%;height:100%;padding:clamp(3.5rem,8vw,4.5rem) clamp(3.5rem,8vw,5rem);display:grid}.project-lightbox__image{object-fit:contain;will-change:transform, opacity;border-radius:.25rem;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.project-lightbox__nav{z-index:2;position:absolute;top:50%;transform:translateY(-50%)}.project-lightbox__nav--prev{left:.75rem}.project-lightbox__nav--next{right:.75rem}.project-lightbox[data-single=true] .project-lightbox__nav{display:none}html.lightbox-open{overflow:hidden}@media (prefers-reduced-motion:reduce){.project-gallery__trigger .media img,.project-gallery__zoom{transition:none}.project-gallery__trigger:hover .media img,.project-gallery__trigger:focus-visible .media img{transform:none}.project-lightbox{opacity:1;transform:none}.project-lightbox::backdrop{opacity:1;transition:none}.project-lightbox__image{will-change:auto}}
