.portfolio_page__UPA7s{font-family:var(--font-family);color:var(--color-text-body);background:var(--color-bg-white)}.portfolio_hero__euiCL{background:var(--color-brand-gradient);color:var(--color-text-white);padding:80px 24px 72px;text-align:center}.portfolio_heroInner__baI00{max-width:960px;margin:0 auto}.portfolio_heroTitle__fXGDf{font-size:48px;font-weight:var(--font-weight-bold);line-height:1.15;margin:0 0 20px;color:var(--color-text-white)}.portfolio_heroSubtitle__qqHht{font-size:17px;line-height:1.7;color:hsla(0,0%,100%,.92);max-width:800px;margin:0 auto}.portfolio_gridSection__UVN2f{padding:64px 24px 96px;max-width:1280px;margin:0 auto}.portfolio_grid__XQw7q{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:28px;gap:28px}.portfolio_card__gu1cm{display:block;background:var(--color-bg-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:transform var(--transition-base),box-shadow var(--transition-base)}.portfolio_card__gu1cm:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);text-decoration:none;color:inherit}.portfolio_imageWrap__0EIHt{position:relative;width:100%;aspect-ratio:537/287;overflow:hidden;background:var(--color-bg-light)}.portfolio_image__S5bIM{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--transition-base)}.portfolio_card__gu1cm:hover .portfolio_image__S5bIM{transform:scale(1.04)}.portfolio_caption__FgCNV{font-size:15px;font-weight:var(--font-weight-semibold);text-align:center;padding:16px 14px 18px;margin:0;color:var(--color-text-dark);line-height:1.4}@media (max-width:1024px){.portfolio_grid__XQw7q{grid-template-columns:repeat(3,1fr)}}@media (max-width:720px){.portfolio_hero__euiCL{padding:56px 20px 48px}.portfolio_heroTitle__fXGDf{font-size:36px}.portfolio_heroSubtitle__qqHht{font-size:15px}.portfolio_gridSection__UVN2f{padding:40px 16px 64px}.portfolio_grid__XQw7q{grid-template-columns:repeat(2,1fr);gap:18px}}@media (max-width:420px){.portfolio_grid__XQw7q{grid-template-columns:1fr}}