/* Portfolio effects only. Keeps all existing layout dimensions. */
.portfolio-card {isolation:isolate;cursor:zoom-in;}
.portfolio-card .portfolio-image {transition:filter .4s ease,transform .4s ease!important;}
.portfolio-card:nth-child(5n + 1) {overflow:visible;}
.portfolio-card:nth-child(5n + 1)::after {content:"";position:absolute;pointer-events:none;left:8%;right:8%;bottom:-16px;height:14px;background:linear-gradient(180deg,#75bdff4a,transparent);filter:blur(7px);transform:scaleY(-1);opacity:.45;}
.portfolio-card:nth-child(5n + 2){transform-style:preserve-3d;will-change:transform;}
.portfolio-card:nth-child(5n + 3) {overflow:hidden;}
.portfolio-card:nth-child(5n + 3)::after {content:"";position:absolute;inset:-80% auto -80% -55%;width:35%;background:linear-gradient(90deg,transparent,#ffffff00 20%,#ffe5a17c 50%,#ffffff00 80%,transparent);transform:rotate(21deg) translateX(-200%);pointer-events:none;z-index:2;transition:transform .8s ease;}
.portfolio-card:nth-child(5n + 3):hover::after,.portfolio-card:nth-child(5n + 3):focus-visible::after{transform:rotate(21deg) translateX(650%);}
.portfolio-card:nth-child(5n + 4){transition:transform .6s ease,opacity .6s ease,border-color .25s ease;}
.portfolio-card:nth-child(5n + 4):not(.portfolio-seen){opacity:.87;transform:translateY(13px);}
.portfolio-card:nth-child(5n + 4).portfolio-seen{opacity:1;transform:translateY(0)}
.portfolio-card:nth-child(5n + 5)::before {content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--spot-x,50%) var(--spot-y,40%),#82caff3b,transparent 47%);pointer-events:none;opacity:0;transition:opacity .2s ease;z-index:1;}
.portfolio-card:nth-child(5n + 5):hover::before{opacity:1}
.portfolio-lightbox{position:fixed;inset:0;z-index:5000;display:none;place-items:center;background:#020a1ced;padding:4rem 3vw 2rem;cursor:zoom-out;}
.portfolio-lightbox.open{display:grid}
.portfolio-lightbox img{display:block;max-width:min(1300px,95vw);max-height:80vh;width:auto;height:auto;object-fit:contain;box-shadow:0 28px 85px #000b;border-radius:8px}
.portfolio-lightbox button{position:absolute;top:15px;right:18px;border:1px solid #fff7;color:white;background:#061631;padding:9px 14px;border-radius:9px;font-size:22px;cursor:pointer;}
.portfolio-lightbox p{color:#e7ecfb;text-align:center;margin:12px 0 0}
@media(hover:none),(max-width:800px){.portfolio-card:nth-child(5n+2){transform:none!important}.portfolio-card:nth-child(5n+3)::after{display:none}.portfolio-card:nth-child(5n+5)::before{display:none}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.portfolio-card::after,.portfolio-card .portfolio-image{transition:none!important;transform:none!important;animation:none!important}.portfolio-card:nth-child(5n+4){opacity:1!important}}
