.slide-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.device-frame-wrapper{perspective:1000px;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:.5rem;container-type:size}.device-frame-wrapper .pf-device{display:inline-block;vertical-align:middle}.pf-device{position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.23,1,.32,1)}.tilt-device .pf-device{transform:rotateX(20deg) rotateY(-25deg) rotate(5deg)}.portfolio-card:hover .tilt-device .pf-device{transform:rotateX(0) rotateY(0) rotate(0);will-change:transform}.pf-device-screen{position:relative;display:block;max-width:90cqw;max-height:90cqh;width:auto;height:auto;border:1.25cqmin solid white;border-radius:4.5cqmin;transform:translateZ(1cqmin);background:#070b14;z-index:2;object-fit:cover}.dark .pf-device-screen{border-color:#3a3a44}.pf-device-body{position:absolute;inset:0;background:#e4e4e7;pointer-events:none;border-radius:4.5cqmin}@media(max-width:768px){.pf-device-body:nth-of-type(n+4){display:none}}.dark .pf-device-body{background:#3f3f46}.standalone-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem}@container pf-card (min-width: 280px){.standalone-image-wrapper{padding:1.5rem}}.standalone-img{max-width:100%;max-height:100%;border-radius:0;object-fit:contain}[data-perf=minimal] .pf-device{transform:none!important;transition:none}.portfolio-card[data-astro-cid-o4souej2]{--pf-ink: color-mix(in oklch, var(--pf-color-1) 75%, black);display:flex;flex-direction:column;cursor:pointer;overflow:hidden;position:relative;container-type:inline-size;container-name:pf-card;--pf-c2: var( --pf-color-2, color-mix(in oklch, var(--pf-color-1), white 35%) );border-color:color-mix(in srgb,var(--pf-color-1) 15%,transparent)}.dark .portfolio-card[data-astro-cid-o4souej2]{border-color:color-mix(in srgb,var(--pf-color-1) 20%,transparent);--pf-ink: color-mix(in oklch, var(--pf-color-1) 45%, white)}.portfolio-card[data-astro-cid-o4souej2]:hover{border-color:color-mix(in srgb,var(--pf-color-1) 40%,transparent);box-shadow:0 8px 40px color-mix(in srgb,var(--pf-color-1) 8%,transparent),inset 0 1px #ffffff80}.dark .portfolio-card[data-astro-cid-o4souej2]:hover{border-color:color-mix(in srgb,var(--pf-color-1) 45%,transparent);box-shadow:0 8px 40px color-mix(in srgb,var(--pf-color-1) 15%,transparent),0 0 0 1px color-mix(in srgb,var(--pf-color-1) 10%,transparent),inset 0 1px #ffffff1a}.color-infusion[data-astro-cid-o4souej2]{position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:inherit;background:linear-gradient(to bottom,color-mix(in srgb,var(--pf-color-1) 10%,transparent),color-mix(in srgb,var(--pf-color-1) 4%,transparent) 55%,transparent)}.dark .color-infusion[data-astro-cid-o4souej2]{background:linear-gradient(to bottom,color-mix(in srgb,var(--pf-color-1) 15%,transparent),color-mix(in srgb,var(--pf-color-1) 6%,transparent) 55%,transparent)}.dual-accent .color-infusion[data-astro-cid-o4souej2]{background:linear-gradient(to bottom right,color-mix(in srgb,var(--pf-color-1) 10%,transparent),transparent 60%),linear-gradient(to top left,color-mix(in srgb,var(--pf-c2) 8%,transparent),transparent 60%)}.dark .dual-accent .color-infusion[data-astro-cid-o4souej2]{background:linear-gradient(to bottom right,color-mix(in srgb,var(--pf-color-1) 15%,transparent),transparent 60%),linear-gradient(to top left,color-mix(in srgb,var(--pf-c2) 12%,transparent),transparent 60%)}.portfolio-card[data-astro-cid-o4souej2]:before{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--pf-color-1) 30%,transparent),color-mix(in srgb,var(--pf-c2) 15%,transparent),transparent)!important}.featured-badge[data-astro-cid-o4souej2]{position:absolute;top:.5rem;right:.5rem;z-index:5;width:20px;height:20px;border-radius:50%;background:#fbbf2433;color:#fbbf2499;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.dark .featured-badge[data-astro-cid-o4souej2]{background:#fbbf2426;color:#fbbf2480}.portfolio-card[data-astro-cid-o4souej2]:hover .featured-badge[data-astro-cid-o4souej2],.featured-badge[data-astro-cid-o4souej2]:focus-visible{background:linear-gradient(135deg,var(--color-star-gold),#f59e0b);color:#fff;box-shadow:0 2px 8px #fbbf244d}.portfolio-card-preview[data-astro-cid-o4souej2]{display:block;position:relative;z-index:1}.slideshow-viewport[data-astro-cid-o4souej2]{position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:1.25rem 1.25rem 0 0;-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}@container pf-card (min-width: 300px){.slideshow-viewport[data-astro-cid-o4souej2]{aspect-ratio:3 / 2}}.slideshow-track[data-astro-cid-o4souej2]{position:relative;width:100%;height:100%}.slideshow-nav[data-astro-cid-o4souej2]{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#00000026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.2);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease;z-index:10}.slideshow-prev[data-astro-cid-o4souej2]{left:6px}.slideshow-next[data-astro-cid-o4souej2]{right:6px}.slideshow-viewport[data-astro-cid-o4souej2]:hover .slideshow-nav[data-astro-cid-o4souej2]{opacity:1}.slideshow-nav[data-astro-cid-o4souej2]:hover{background:#0000004d}.dark .slideshow-nav[data-astro-cid-o4souej2]{background:#ffffff26;border:1px solid rgba(255,255,255,.2)}.dark .slideshow-nav[data-astro-cid-o4souej2]:hover{background:#ffffff4d}@container pf-card (min-width: 280px){.slideshow-nav[data-astro-cid-o4souej2]{width:32px;height:32px}}.page-indicators[data-astro-cid-o4souej2]{display:flex;justify-content:center;gap:6px;padding:6px 0 4px;position:relative;z-index:1}.page-dot[data-astro-cid-o4souej2]{width:6px;height:6px;border-radius:50%;border:none;background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 25%,transparent);cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease}.page-dot[data-astro-cid-o4souej2].active{background:var(--pf-color-1, var(--color-accent));transform:scale(1.3)}.page-dot[data-astro-cid-o4souej2]:hover:not(.active){background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 50%,transparent)}.portfolio-card-content[data-astro-cid-o4souej2]{padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.client-info[data-astro-cid-o4souej2]{display:flex;align-items:center;gap:.5rem}.client-logo[data-astro-cid-o4souej2]{height:18px;width:auto;opacity:.7;transition:opacity .2s ease}.dark .client-logo[data-astro-cid-o4souej2]{filter:grayscale(100%) invert(1);opacity:.5}.portfolio-card[data-astro-cid-o4souej2]:hover .client-logo[data-astro-cid-o4souej2]{opacity:1}.dark .portfolio-card[data-astro-cid-o4souej2]:hover .client-logo[data-astro-cid-o4souej2]{opacity:.9}.client-name[data-astro-cid-o4souej2]{font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.dark .client-name[data-astro-cid-o4souej2]{color:var(--color-text-dark-muted)}.project-year[data-astro-cid-o4souej2]{font-size:.75rem;color:var(--color-text-muted);opacity:.6;margin-left:auto}.dark .project-year[data-astro-cid-o4souej2]{color:var(--color-text-dark-muted)}.project-title[data-astro-cid-o4souej2]{font-size:1.125rem;font-weight:700;line-height:1.3;color:var(--color-text);transition:color .2s ease}.dark .project-title[data-astro-cid-o4souej2]{color:var(--color-text-dark)}.portfolio-card[data-astro-cid-o4souej2]:hover .project-title[data-astro-cid-o4souej2],.dark .portfolio-card[data-astro-cid-o4souej2]:hover .project-title[data-astro-cid-o4souej2]{color:var(--pf-ink)}.project-short-desc[data-astro-cid-o4souej2]{font-size:.8125rem;line-height:1.5;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dark .project-short-desc[data-astro-cid-o4souej2]{color:var(--color-text-dark-muted)}.project-disciplines[data-astro-cid-o4souej2]{font-size:.6875rem;font-weight:500;letter-spacing:.01em;color:var(--pf-ink);margin-top:.25rem}.project-tags[data-astro-cid-o4souej2]{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.pf-tag[data-astro-cid-o4souej2]{display:inline-block;font-size:.6875rem;padding:.1875rem .625rem;border-radius:9999px;background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 8%,transparent);border:1px solid color-mix(in srgb,var(--pf-color-1, #7c3aed) 15%,transparent);color:var(--color-text-muted)}.dark .pf-tag[data-astro-cid-o4souej2]{background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 12%,transparent);border-color:color-mix(in srgb,var(--pf-color-1, #7c3aed) 20%,transparent);color:var(--color-text-dark-muted)}.project-links[data-astro-cid-o4souej2]{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid color-mix(in srgb,var(--pf-color-1, #7c3aed) 10%,transparent)}.dark .project-links[data-astro-cid-o4souej2]{border-top-color:color-mix(in srgb,var(--pf-color-1, #7c3aed) 18%,transparent)}.project-link-btn[data-astro-cid-o4souej2]{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .75rem;border-radius:9999px;font-size:.6875rem;font-weight:600;color:var(--color-text);background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 8%,transparent);border:1px solid color-mix(in srgb,var(--pf-color-1, #7c3aed) 18%,transparent);text-decoration:none;transition:all .2s ease}.dark .project-link-btn[data-astro-cid-o4souej2]{color:var(--color-text-dark);background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 12%,transparent);border-color:color-mix(in srgb,var(--pf-color-1, #7c3aed) 25%,transparent)}.project-link-btn[data-astro-cid-o4souej2]:hover{color:var(--pf-ink);background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 15%,transparent);border-color:color-mix(in srgb,var(--pf-color-1, #7c3aed) 40%,transparent)}.dark .project-link-btn[data-astro-cid-o4souej2]:hover{color:var(--pf-ink);background:color-mix(in srgb,var(--pf-color-1, #7c3aed) 20%,transparent);border-color:color-mix(in srgb,var(--pf-color-1, #7c3aed) 45%,transparent)}.project-link-btn[data-astro-cid-o4souej2] svg[data-astro-cid-o4souej2]{flex-shrink:0}.project-link-label[data-astro-cid-o4souej2]{white-space:nowrap}@container pf-card (max-width: 250px){.portfolio-card-content[data-astro-cid-o4souej2]{padding:.5rem .625rem .75rem;gap:.25rem}.client-info[data-astro-cid-o4souej2]{gap:.375rem}.client-logo[data-astro-cid-o4souej2]{height:14px}.client-name[data-astro-cid-o4souej2]{font-size:.6875rem}.project-year[data-astro-cid-o4souej2]{font-size:.625rem}.project-title[data-astro-cid-o4souej2]{font-size:.8125rem}.project-short-desc[data-astro-cid-o4souej2]{font-size:.6875rem}.project-disciplines[data-astro-cid-o4souej2]{font-size:.5625rem}.project-tags[data-astro-cid-o4souej2]{gap:.25rem}.pf-tag[data-astro-cid-o4souej2]{font-size:.5625rem;padding:.0625rem .375rem}.project-links[data-astro-cid-o4souej2]{gap:.25rem;margin-top:.25rem;padding-top:.375rem}.project-link-btn[data-astro-cid-o4souej2]{gap:.25rem;padding:.2rem .4rem;font-size:.5625rem}}@media(prefers-reduced-motion:reduce){.pf-device{transform:none!important;transition:none}}
