.portfolio-hero{padding:clamp(6.5rem,12vw,9rem) var(--page-inline) clamp(2rem,4vw,3rem);text-align:center}.portfolio-hero .eyebrow{color:var(--aq-active)}.portfolio-hero h1{max-width:20ch;margin:0 auto;font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(2.25rem, 5vw, 3.75rem);letter-spacing:-.02em;color:var(--aq-text)}.portfolio-hero__description{max-width:34rem;margin:1rem auto 0;color:var(--aq-text-secondary);font-size:.95rem;line-height:1.6}.portfolio-section{padding:0 var(--page-inline) clamp(4.5rem,9vw,7.5rem)}.portfolio-grid{column-count:4;column-gap:clamp(.75rem,1.4vw,1.25rem);width:min(100%,90rem);margin:0 auto}.portfolio-grid[aria-busy=true]{min-height:40vh}.portfolio-card{position:relative;margin:0 0 clamp(.75rem,1.4vw,1.25rem);overflow:hidden;border:1px solid var(--aq-border);border-radius:1rem;background:var(--aq-surface-raised);break-inside:avoid;display:inline-block;width:100%}.portfolio-card__trigger{display:block;position:relative;width:100%;padding:0;border:0;background:0 0;cursor:pointer;text-align:left}.portfolio-card__trigger:focus-visible{outline:2px solid var(--aq-active);outline-offset:3px}.portfolio-card__trigger img{display:block;width:100%;height:auto;transition:transform .5s ease,filter .3s ease}.portfolio-card__caption{position:absolute;inset:auto 0 0;padding:1.75rem .9rem .8rem;background:linear-gradient(180deg,transparent,rgba(7,8,8,.88));color:var(--aq-text);font-family:"Playfair Display",Georgia,serif;font-size:1rem;font-weight:400;letter-spacing:-.01em;opacity:0;transform:translateY(.4rem);transition:opacity .25s ease,transform .25s ease}@media (hover:hover) and (pointer:fine){.portfolio-card__trigger:focus-visible img,.portfolio-card__trigger:hover img{transform:scale(1.04)}.portfolio-card__trigger:focus-visible .portfolio-card__caption,.portfolio-card__trigger:hover .portfolio-card__caption{opacity:1;transform:translateY(0)}}.portfolio-empty{width:min(100%,78rem);margin:0 auto;padding:3rem 0;color:var(--aq-text-secondary);text-align:center}@media (max-width:1200px){.portfolio-grid{column-count:3}}@media (max-width:900px){.portfolio-grid{column-count:2}}@media (max-width:560px){.portfolio-grid{column-count:1}.portfolio-card__caption{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.portfolio-card__trigger img{transition:none}}