.portfolio_page__SrGoG{width:100%;max-width:1200px;margin:0 auto;padding:32px 24px 80px;@media (max-width:480px){padding-left:12px;padding-bottom:60px;padding-right:12px;padding-top:16px}}.portfolio_hero__ERrjL{text-align:center;margin-bottom:48px}.portfolio_heroPill__0nXsQ{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-on-background-medium);background:var(--brand-background-weak);border:1px solid var(--brand-border-medium);padding:4px 14px;border-radius:20px;margin-bottom:16px}.portfolio_heroTitle__mK_FS{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.04em;color:var(--neutral-on-background-strong);margin:0 0 16px;line-height:1.1}.portfolio_heroSub__oGAs9{font-size:1rem;color:var(--neutral-on-background-weak);line-height:1.75;margin:0 auto 32px;max-width:620px}.portfolio_heroStats__O3bsM{display:inline-flex;align-items:center;gap:0;background:var(--neutral-background-weak);border:1px solid var(--neutral-border-medium);border-radius:14px;padding:16px 28px;flex-wrap:wrap;justify-content:center;row-gap:12px}.portfolio_heroStat__GFsu_{display:flex;flex-direction:column;align-items:center;gap:3px;padding:0 20px}.portfolio_heroStatValue__77ubq{font-size:1.4rem;font-weight:800;color:var(--brand-on-background-strong);line-height:1}.portfolio_heroStatLabel__DOOmt{font-size:.68rem;color:var(--neutral-on-background-weak);text-transform:uppercase;letter-spacing:.06em;font-weight:600;white-space:nowrap}.portfolio_heroStatDivider__cjIio{width:1px;height:32px;background:var(--neutral-border-weak);flex-shrink:0}.portfolio_filters__ql2fi{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;justify-content:center}.portfolio_filterTag__MFPly{all:unset;cursor:pointer;font-size:.75rem;font-weight:600;padding:6px 16px;border-radius:20px;border:1px solid var(--neutral-border-medium);color:var(--neutral-on-background-weak);background:transparent;transition:all .15s ease;&:hover{border-color:var(--brand-border-medium);color:var(--brand-on-background-medium)}&[data-active=true]{background:var(--brand-background-medium);border-color:var(--brand-border-strong);color:var(--brand-on-background-strong)}}.portfolio_grid__ovADG{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:28px;gap:28px;align-items:start;@media (max-width:800px){grid-template-columns:1fr}}.portfolio_card__PG_Mr{border-radius:18px;overflow:hidden;background:var(--page-background);border:1px solid var(--neutral-border-medium);display:flex;flex-direction:column;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;&:hover{box-shadow:0 16px 56px rgba(0,0,0,.22);transform:translateY(-3px);border-color:var(--neutral-border-strong)}}.portfolio_cover__5BiCB{position:relative;height:180px;overflow:hidden;display:flex;align-items:center;justify-content:center}.portfolio_coverCircle1__3UB4Y{position:absolute;width:260px;height:260px;border-radius:50%;border:2px solid;top:-90px;right:-70px}.portfolio_coverCircle2__ujlAx{position:absolute;width:180px;height:180px;border-radius:50%;border:2px solid;bottom:-70px;left:-50px}.portfolio_coverIcon__rQ2kf{position:relative;z-index:1;filter:drop-shadow(0 4px 20px rgba(0,0,0,.35))}.portfolio_coverMeta__oA1LJ{position:absolute;bottom:12px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;flex-wrap:wrap}.portfolio_statusBadge__VnX1t{font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:20px;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:rgba(255,255,255,.9);&[data-status=live]{background:rgba(22,163,74,.35);color:#86efac}&[data-status=wip]{background:rgba(234,179,8,.3);color:#fde047}&[data-status=soon]{background:rgba(0,0,0,.3);color:rgba(255,255,255,.5)}}.portfolio_categoryBadge__5T7q4{font-size:.63rem;font-weight:600;padding:3px 10px;border-radius:20px;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:rgba(255,255,255,.75);text-align:right}.portfolio_cardBody__ojVVB{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1 1}.portfolio_cardTitle__Op_qG{font-size:1.15rem;font-weight:700;color:var(--neutral-on-background-strong);margin:0;line-height:1.3}.portfolio_cardSubtitle__4DZ7w{font-size:.82rem;font-weight:600;color:var(--neutral-on-background-medium);margin:0;line-height:1.4}.portfolio_cardDesc__ZSVys{font-size:.8rem;color:var(--neutral-on-background-weak);margin:0;line-height:1.65}.portfolio_metricsRow__uqgn0{display:flex;gap:0;border:1px solid var(--neutral-border-weak);border-radius:10px;overflow:hidden;margin-top:2px}.portfolio_metric__yrdxI{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px;border-right:1px solid var(--neutral-border-weak);text-align:center;&:last-child{border-right:none}}.portfolio_metricValue__gFZxz{font-size:.9rem;font-weight:800;line-height:1}.portfolio_metricLabel__1vN6t{font-size:.58rem;font-weight:600;color:var(--neutral-on-background-weak);text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.portfolio_highlights__m3toh{display:flex;flex-wrap:wrap;gap:6px}.portfolio_highlight__J_pcy{font-size:.68rem;font-weight:600;padding:3px 10px;border-radius:6px;background:var(--neutral-background-weak);color:var(--neutral-on-background-medium);border:1px solid var(--neutral-border-weak)}.portfolio_stack__0c68r{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.portfolio_stackBadge__PUEct{font-size:.65rem;font-weight:700;padding:3px 9px;border-radius:6px}.portfolio_actions__iQii4{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}.portfolio_btnPrimary__BDuA2{font-size:.78rem;font-weight:700;padding:8px 18px;border-radius:8px;text-decoration:none;transition:opacity .15s;flex-shrink:0;&:hover{opacity:.85}}.portfolio_btnDisabled__dQgwV{font-size:.78rem;font-weight:600;padding:8px 18px;border-radius:8px;color:var(--neutral-on-background-weak);border:1px dashed var(--neutral-border-weak);flex-shrink:0;cursor:default}.portfolio_btnSecondary__WdMlu{font-size:.78rem;font-weight:600;padding:8px 18px;border-radius:8px;text-decoration:none;border:1px solid var(--neutral-border-medium);color:var(--neutral-on-background-medium);transition:all .15s;flex-shrink:0;&:hover{border-color:var(--neutral-border-strong);color:var(--neutral-on-background-strong)}}