.page-hero{isolation:isolate;background:url('../img/portfolio.png') center/cover no-repeat}
.page-hero::before{content:"";position:absolute;inset:0;z-index:0;background:rgba(5,5,5,.68);pointer-events:none}
.gallery-button{isolation:isolate}
.gallery-caption{z-index:2}
.gallery-reveal{position:absolute;inset:0;z-index:1;background:rgba(255,255,255,.16);opacity:0;pointer-events:none}
.portfolio-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2.5rem}
.portfolio-pagination[hidden]{display:none}
.portfolio-pagination button{display:grid;place-items:center;min-width:44px;height:44px;padding:0 .8rem;border:1px solid var(--line);background:transparent;color:var(--paper);font-size:.72rem;font-weight:900;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}
.portfolio-pagination button:hover,.portfolio-pagination button[aria-current=page]{background:var(--paper);color:var(--ink)}
.portfolio-pagination button:disabled{opacity:.3;cursor:not-allowed;background:transparent;color:var(--paper)}
.portfolio-toolbar{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}.portfolio-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:1rem}.gallery-item{grid-column:span 4;min-height:430px}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 7}.gallery-item:nth-child(2),.gallery-item:nth-child(7){grid-column:span 5}.gallery-item:nth-child(4){grid-column:span 5}.gallery-item:nth-child(5){grid-column:span 7}.gallery-item[hidden]{display:none}.gallery-button{width:100%;height:100%;min-height:inherit;background:#0b0b0b;color:var(--paper);padding:0;position:relative;overflow:hidden;cursor:zoom-in;text-align:left;border:1px solid var(--line)}.gallery-button img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.09);transition:filter .5s ease,transform .8s ease}.gallery-button:hover img,.gallery-button:focus-visible img,.gallery-item.is-color-active img{filter:grayscale(0);transform:scale(1.025)}.gallery-caption{position:absolute;inset:auto 0 0;padding:3rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.92));display:flex;justify-content:space-between;align-items:end;gap:1rem}.gallery-caption strong{font:900 1.1rem/1 var(--display);text-transform:uppercase}.gallery-caption span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.lightbox{position:fixed;inset:0;z-index:1800;background:rgba(0,0,0,.96);display:grid;place-items:center;padding:1rem}.lightbox[hidden]{display:none}.lightbox__dialog{width:min(1100px,100%);max-height:94svh;display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid var(--line);background:var(--ink)}.lightbox__media{min-height:70svh;background:#090909}.lightbox__media img{width:100%;height:100%;max-height:90svh;object-fit:contain}.lightbox__info{padding:2rem;display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--line)}.lightbox__close{align-self:flex-end;width:46px;height:46px;border:1px solid var(--line);background:transparent;color:var(--paper);cursor:pointer;font-size:1.6rem}.gallery-empty{margin-top:1rem}@media(max-width:850px){.portfolio-toolbar{align-items:flex-start;flex-direction:column}.gallery-item,.gallery-item:nth-child(n){grid-column:span 6;min-height:420px}.lightbox__dialog{grid-template-columns:1fr;overflow:auto}.lightbox__media{min-height:55svh}.lightbox__info{border-left:0;border-top:1px solid var(--line)}}@media(max-width:560px){.portfolio-grid{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(n){grid-column:auto;min-height:480px}}
