
.project-showcase{background:var(--surface)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}.project{min-width:0}.project[hidden]{display:none}.project-image{display:block;overflow:hidden;background:var(--surface)}.project-image img{aspect-ratio:4/5;transition:transform 600ms var(--ease);object-position:center}.project-caption{padding-top:20px}.project-caption h3{font-size:24px;line-height:1.15;letter-spacing:-.025em}.project-caption p{font-size:var(--small);margin-top:10px;color:var(--muted)}.portfolio-intro{background:var(--ink);color:var(--light);padding-block:64px 80px}.portfolio-intro h1{font-size:var(--display);margin-top:0}.portfolio-intro>p{margin-top:28px;font-size:18px}.project-catalog{padding-block:64px 100px}.project-tools{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-end;margin-bottom:44px}.project-tools label{display:block;font-size:var(--small);min-width:260px}.project-tools input{display:block;width:100%;font:inherit;font-size:17px;border:0;border-radius:0;background:var(--surface);padding:16px;margin-top:12px;min-height:56px;caret-color:var(--accent)}.project-tools input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.project-filters{display:flex;flex-wrap:wrap;gap:8px;flex:1}.project-filters button{border:0;border-radius:0;padding:14px 18px;min-height:50px;background:var(--surface);color:var(--ink);font:inherit;font-size:15px}.project-filters button[aria-pressed=true]{background:var(--accent);color:var(--light)}#project-count{font-size:var(--small);width:100%}.portfolio-cta{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:72px;background:var(--surface)}.portfolio-cta h2{font-size:var(--heading);max-width:12ch}#project-viewer{background:var(--bg);color:var(--ink);border:0;max-width:min(1100px,94vw);max-height:94svh;width:fit-content;padding:24px}#project-viewer::backdrop{background:rgba(10,15,18,.8)}.viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:26px;margin-bottom:20px}.viewer-bar h2{font-size:24px;max-width:28ch;line-height:1.2}.viewer-bar button{border:0;background:var(--ink);color:var(--light);font:inherit;font-size:16px;min-height:48px;padding:12px 20px}#viewer-image{height:auto;width:auto;max-height:70svh;max-width:100%;object-fit:contain}#viewer-category{margin-top:18px;font-size:var(--small)}@media(hover:hover)and(pointer:fine){.project-image:hover img{transform:scale(1.035)}.project-filters button:hover{background:var(--ink);color:var(--light)}}@media(max-width:900px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}.portfolio-cta{align-items:flex-start;flex-direction:column}.project-filters{flex-basis:100%}}@media(max-width:600px){.projects-grid{grid-template-columns:1fr;gap:36px}.project-caption h3{font-size:24px}.project-image img{aspect-ratio:4/4.5}.portfolio-intro{padding-block:40px 56px}.portfolio-intro h1{font-size:56px}.project-catalog{padding-block:40px 64px}.project-tools label{min-width:0;width:100%}.project-filters{gap:8px}.project-filters button{padding-inline:14px}.portfolio-cta{padding-block:56px}.viewer-bar h2{font-size:21px}#project-viewer{padding:18px}#viewer-image{height:auto;max-height:68svh}}@media(prefers-reduced-motion:reduce){.project-image img{transition:none}}

.project-showcase .section-heading{flex-wrap:wrap}.project-showcase .section-heading>p{max-width:30ch}.project-filters button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
