.VxpVBG_portfolio-page{background:var(--bg);color:var(--text-body);min-height:100vh;font-family:DM Sans,Inter,sans-serif}.VxpVBG_accent{color:var(--accent)}.VxpVBG_section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:12px;font-weight:700}.VxpVBG_portfolio-header{max-width:1200px;margin:0 auto;padding:100px 40px 56px}.VxpVBG_portfolio-title{letter-spacing:-.03em;color:var(--text-primary);margin:0 0 16px;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:800}.VxpVBG_portfolio-sub{color:var(--text-tertiary);max-width:520px;margin:0 0 36px;font-size:1rem;line-height:1.6}.VxpVBG_filters{flex-wrap:wrap;gap:10px;display:flex}.VxpVBG_filter-btn{background:rgba(var(--on-bg-rgb), .04);border:1px solid rgba(var(--on-bg-rgb), .08);color:var(--text-secondary);cursor:pointer;border-radius:100px;padding:8px 16px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.VxpVBG_filter-btn:hover{border-color:rgba(var(--accent-rgb), .3);color:var(--text-body)}.VxpVBG_filter-btn.VxpVBG_active{background:rgba(var(--accent-rgb), .12);border-color:rgba(var(--accent-rgb), .35);color:var(--accent)}.VxpVBG_projects-grid-section{max-width:1200px;margin:0 auto;padding:0 40px 80px}.VxpVBG_projects-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;display:grid}.VxpVBG_project-card{color:inherit;background:rgba(var(--on-bg-rgb), .02);border:1px solid rgba(var(--on-bg-rgb), .07);border-radius:18px;text-decoration:none;transition:all .25s;display:block;overflow:hidden}.VxpVBG_project-card:hover{border-color:rgba(var(--accent-rgb), .2);transform:translateY(-5px);box-shadow:0 20px 60px #0003}.VxpVBG_project-image-wrap{aspect-ratio:16/9;background:var(--bg-elevated);transition:transform .4s;position:relative;overflow:hidden}.VxpVBG_project-card:hover .VxpVBG_project-image-wrap{transform:scale(1.04)}.VxpVBG_project-placeholder{background:var(--placeholder-bg);flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:100%;display:flex}.VxpVBG_placeholder-icon{font-size:2.8rem}.VxpVBG_placeholder-label{color:var(--placeholder-label);font-size:1rem;font-weight:700}.VxpVBG_placeholder-sub{color:var(--placeholder-sub);letter-spacing:.04em;font-size:.78rem}.VxpVBG_project-overlay{z-index:2;background:rgba(var(--bg-rgb), .75);opacity:0;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.VxpVBG_project-card:hover .VxpVBG_project-overlay,.VxpVBG_project-image-wrap:focus-within .VxpVBG_project-overlay{opacity:1}.VxpVBG_view-btn{background:var(--accent);color:var(--bg);border-radius:10px;padding:12px 24px;font-size:.9rem;font-weight:700;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}.VxpVBG_project-category-badge{z-index:3;background:rgba(var(--bg-rgb), .85);border:1px solid rgba(var(--on-bg-rgb), .1);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;border-radius:100px;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;top:12px;left:12px}.VxpVBG_project-employer-badge{z-index:3;background:rgba(var(--accent-rgb), .12);border:1px solid rgba(var(--accent-rgb), .3);color:var(--accent);letter-spacing:.04em;border-radius:100px;padding:3px 9px;font-size:10px;font-weight:700;position:absolute;top:42px;left:12px}.VxpVBG_project-private-badge{z-index:3;color:#ffffffb3;letter-spacing:.05em;text-transform:uppercase;background:#0000008c;border:1px solid #ffffff1f;border-radius:100px;align-items:center;gap:5px;padding:3px 9px;font-size:10px;font-weight:700;display:flex;position:absolute;top:12px;right:12px}.VxpVBG_project-private-badge:before{content:"🔒";font-size:9px}.VxpVBG_project-body{padding:22px}.VxpVBG_project-title{color:var(--text-primary);margin:0 0 10px;font-size:1.1rem;font-weight:800}.VxpVBG_project-title-link{color:inherit;text-decoration:none}.VxpVBG_project-title-link:hover,.VxpVBG_project-title-link:focus-visible{color:var(--accent)}.VxpVBG_project-desc{color:var(--text-tertiary);margin:0 0 14px;font-size:.87rem;line-height:1.65}.VxpVBG_project-highlight{color:var(--accent);align-items:center;gap:6px;margin-bottom:14px;font-size:.82rem;font-weight:600;display:flex}.VxpVBG_highlight-icon{font-size:.75rem}.VxpVBG_project-tags{flex-wrap:wrap;gap:6px;display:flex}.VxpVBG_tag{background:rgba(var(--on-bg-rgb), .05);border:1px solid rgba(var(--on-bg-rgb), .08);color:var(--text-secondary);border-radius:6px;padding:4px 10px;font-size:.76rem;font-weight:600}.VxpVBG_portfolio-cta{text-align:center;max-width:600px;margin:0 auto 100px;padding:0 40px}.VxpVBG_portfolio-cta-badge{color:#00d28c;letter-spacing:.06em;text-transform:uppercase;background:#00d28c1a;border:1px solid #00d28c40;border-radius:100px;align-items:center;gap:8px;margin-bottom:16px;padding:5px 14px;font-size:12px;font-weight:700;display:inline-flex}.VxpVBG_portfolio-cta-dot{background:#00d28c;border-radius:50%;width:7px;height:7px;animation:2s infinite VxpVBG_pulse;display:inline-block}@keyframes VxpVBG_pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}.VxpVBG_portfolio-cta h2{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}.VxpVBG_portfolio-cta p{color:var(--text-tertiary);margin:0 0 28px;font-size:.95rem;line-height:1.6}.VxpVBG_portfolio-cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.VxpVBG_btn-primary{background:var(--accent);color:var(--bg);border-radius:10px;padding:14px 30px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;display:inline-block}.VxpVBG_btn-primary:hover{background:var(--accent-hover);box-shadow:0 6px 18px rgba(var(--accent-rgb), .16);transform:translateY(-2px)}.VxpVBG_btn-ghost{color:var(--text-body);border:1px solid rgba(var(--on-bg-rgb), .15);background:0 0;border-radius:10px;padding:14px 28px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s;display:inline-block}.VxpVBG_btn-ghost:hover{border-color:rgba(var(--on-bg-rgb), .35);transform:translateY(-2px)}@media (max-width:768px){.VxpVBG_portfolio-header,.VxpVBG_projects-grid-section{padding-left:24px;padding-right:24px}.VxpVBG_projects-grid{grid-template-columns:1fr}}.VxpVBG_project-status{color:var(--accent);margin-bottom:12px;font-size:.8rem;font-weight:600}.VxpVBG_portfolio-page{background:radial-gradient(ellipse at 80% 42%, rgba(var(--accent-rgb), .045), transparent 40%), var(--section-alt)}.VxpVBG_portfolio-header{max-width:none;padding:128px var(--page-gutter) 56px;isolation:isolate;border-bottom:var(--surface-border);margin:0;position:relative}.VxpVBG_portfolio-sub,.VxpVBG_portfolio-cta p{color:var(--text-secondary)}.VxpVBG_projects-grid-section{max-width:none;padding:56px var(--page-gutter) 80px;background-image:radial-gradient(circle at 94% 12%, rgba(var(--accent-rgb), .1) 0 1px, transparent 1.5px);background-size:28px 28px;margin:0}.VxpVBG_projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.VxpVBG_project-card{background:var(--section-card);border:var(--surface-border);border-radius:var(--surface-radius);box-shadow:var(--surface-shadow)}.VxpVBG_project-card:hover{box-shadow:0 12px 32px #0000001f}.VxpVBG_filter-btn{background:var(--section-alt);border:var(--surface-border);padding:10px 16px}.VxpVBG_project-placeholder{background:var(--page-intro), var(--section-card)}.VxpVBG_placeholder-label,.VxpVBG_placeholder-sub{color:var(--text-secondary)}.VxpVBG_portfolio-cta{max-width:none;padding:72px var(--page-gutter);border:0;border-top:1px solid rgba(var(--accent-rgb), .15);background:var(--section-contact);border-radius:0;margin:0}@media (max-width:900px){.VxpVBG_portfolio-header{padding-top:108px}}.VxpVBG_portfolio-cta-badge{color:var(--accent)}.VxpVBG_portfolio-cta{text-align:center;background-image:radial-gradient(circle at 90% 12%, rgba(var(--accent-rgb), .1) 0 1px, transparent 1.5px), radial-gradient(ellipse at 92% 0%, rgba(var(--accent-rgb), .18), transparent 42%), linear-gradient(135deg, rgba(var(--accent-rgb), .07), transparent 62%), linear-gradient(var(--section-contact), var(--section-contact));border:1px solid rgba(var(--accent-rgb), .23);max-width:1120px;box-shadow:var(--surface-shadow);background-size:24px 24px,auto,auto,auto;border-radius:28px;margin:72px auto 104px;padding:56px 64px}.VxpVBG_portfolio-cta>div{max-width:720px;margin:0 auto}.VxpVBG_portfolio-cta h2{margin-bottom:12px;font-size:clamp(2rem,4vw,2.8rem)}.VxpVBG_portfolio-cta p{max-width:600px;margin-bottom:26px}.VxpVBG_portfolio-cta-actions{justify-content:center}@media (max-width:900px){.VxpVBG_portfolio-cta{margin:56px 24px 80px;padding:44px 28px}}
