.project-page{background:#000}.project-intro{padding:0 0 2rem}.project-intro>.project-description{margin:2rem var(--gutter) 0}.project-intro-cover{isolation:isolate;min-height:calc(100svh - 76px);padding:1.5rem var(--gutter) 2.5rem;flex-direction:column;justify-content:space-between;gap:10rem;display:flex;position:relative}.project-intro-cover:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0006,#0000 25% 40%,#000000a6 78%,#000000e6);position:absolute;inset:0}.project-intro-heading{text-align:left;pointer-events:none;text-shadow:0 1px 8px #0009;width:100%;max-width:80rem;margin-inline:0 auto}.project-intro .project-artist{margin-bottom:.75rem;font-size:clamp(1.25rem,2.5vw,2.5rem)}.project-back{color:#bbb;margin-bottom:2rem;font-size:.875rem;display:inline-block}.project-back:hover{color:var(--cyan)}.project-intro h1{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(2rem,5vw,5rem);font-weight:600;line-height:1.02}.project-summary{color:var(--paper);flex-wrap:wrap;gap:.6rem 2rem;padding-top:1.25rem;font-size:1rem;display:flex}.project-lead{width:100%;height:auto;display:block}.project-intro-visual{z-index:-2;position:absolute;inset:0}.project-intro-visual .project-photo-trigger{height:100%;overflow:hidden}.project-intro-visual .project-lead{object-fit:cover;height:100%}.project-intro-cover>.project-back{color:var(--paper);text-shadow:0 1px 6px #000;align-self:flex-start;margin:0}@media (prefers-reduced-motion:no-preference){.project-intro-visual{animation:.9s cubic-bezier(.2,.7,.2,1) both project-cover-enter}.project-intro-cover:after{animation:.7s ease-out both project-fade-enter}.project-intro-cover>.project-back{animation:.5s ease-out .1s both project-copy-enter}.project-intro-heading{animation:.65s cubic-bezier(.2,.7,.2,1) .18s both project-copy-enter}.project-intro>.project-description{animation:.55s ease-out .32s both project-copy-enter}@keyframes project-cover-enter{0%{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}@keyframes project-fade-enter{0%{opacity:0}to{opacity:1}}@keyframes project-copy-enter{0%{opacity:0;transform:translateY(1.25rem)}to{opacity:1;transform:translateY(0)}}}.project-mosaic{gap:4px;padding:4px;display:grid}.project-mosaic-row{align-items:start;gap:4px;display:grid}.project-mosaic figure{min-width:0;margin:0}.project-photo-trigger{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.project-mosaic img{width:100%;height:auto;transition:transform .3s;display:block}.project-mosaic .project-photo-trigger{border-radius:var(--image-radius);overflow:hidden}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.project-mosaic .project-photo-trigger:hover img{transform:scale(1.025)}}.project-photo-trigger:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}.photo-viewer{z-index:100;min-width:100vw;min-height:100dvh;box-shadow:none;color:#fff;background:#000;border:0;border-radius:0;outline:0;gap:0;padding:0;animation:none;display:block;position:fixed;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;inset:0 auto auto 0!important;transform:translate(0,0)!important}.photo-viewer-close{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:1;width:52px;height:52px;color:var(--cyan);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;transition:color .2s;display:flex;position:absolute}.photo-viewer-close span{text-shadow:0 1px 6px #000;font-size:2.6rem;line-height:1}.photo-viewer-close:hover{color:#fff}.photo-viewer-close:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.photo-viewer-image{object-fit:contain;object-position:center;width:100%;height:100%;min-height:0;display:block}.project-credits{margin:0 var(--gutter);padding:3rem 0}.project-credits dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 3rem;margin:0;display:grid}.project-credits dl>div{min-width:0}.project-credits dt{color:var(--cyan);margin-bottom:.5rem;font-size:.875rem;line-height:1.5}.project-credits dd{overflow-wrap:anywhere;margin:0;font-size:1.125rem;line-height:1.5}@media (max-width:1000px){.project-credits dl{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.project-credits{padding:2.5rem 0 3rem}.project-credits dl{grid-template-columns:1fr;gap:1.75rem}.project-mosaic-row{grid-template-columns:1fr!important}.project-credits{grid-template-columns:1fr}.project-intro-cover{min-height:calc(100svh - 70px);padding:1.25rem var(--gutter) 1.5rem}.project-summary{gap:.5rem 1rem}}
