.pc-tile{aspect-ratio:4/3;background:var(--card);isolation:isolate;position:relative;overflow:hidden}.pc-img{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-out-flow);position:absolute;inset:0;transform:scale(1.001)}.portfolio-card:hover .pc-img{transform:scale(1.05)}.pc-tile:after{content:"";z-index:2;pointer-events:none;opacity:0;background:linear-gradient(100deg,#0000,#ffffff57,#0000);width:55%;transition:opacity .2s linear;position:absolute;top:-20%;bottom:-20%;left:-70%;transform:translate(0)rotate(8deg)}.portfolio-card:hover .pc-tile:after{opacity:1;animation:1.1s cubic-bezier(.4,0,.2,1) pcSweep}@keyframes pcSweep{0%{transform:translate(0)rotate(8deg)}to{transform:translate(380%)rotate(8deg)}}.pc-cap{z-index:3;font-family:var(--font-display);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:#fff;opacity:0;transition:opacity .5s var(--ease-out-flow), transform .5s var(--ease-out-flow);background:linear-gradient(#0000,#0000008c);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;font-size:11px;font-weight:500;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(8px)}.portfolio-card:hover .pc-cap{opacity:1;transform:none}.pc-tile.is-mark{background:radial-gradient(58% 54% at 22% 16%,#2fd3c833,#0000 70%),radial-gradient(52% 48% at 84% 82%,#2fd3c821,#0000 72%),#050708}.pc-mark-glow{pointer-events:none;background:radial-gradient(42% 44%,#2fd3c83d,#0000 70%);animation:5.5s ease-in-out infinite pcBreathe;position:absolute;inset:0}.pc-mark{aspect-ratio:1400/518;width:66%;-webkit-mask-image:var(--mark);-webkit-mask-image:var(--mark);mask-image:var(--mark);background:#f0fafa;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.pc-mark:after{content:"";background:linear-gradient(100deg,#0000,#2fd3c8f2,#0000);width:60%;animation:6s cubic-bezier(.4,0,.2,1) .8s infinite pcMarkSweep;position:absolute;top:0;bottom:0;left:-60%}@keyframes pcMarkSweep{0%{transform:translate(0)}55%,to{transform:translate(320%)}}@keyframes pcBreathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.pc-img,.pc-cap{transition:none}.portfolio-card:hover .pc-img{transform:none}.portfolio-card:hover .pc-tile:after{opacity:0;animation:none}.pc-mark-glow,.pc-mark:after{animation:none}.pc-mark:after{opacity:0}}
