.header_header__2pZKc{margin-top:2.5rem;text-align:center}.header_secondaryHeader__5WWpp{font-size:1.5rem;text-align:center;margin:1rem 2.5rem}@media (max-width:768px){.header_header__2pZKc{font-size:3rem;line-height:3.75rem}.header_secondaryHeader__5WWpp{font-size:1.25rem;margin:1rem 0}}.portfolio_wrapper__AtExu{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 0 4rem}.portfolio_container__JBmuV{width:100%}.portfolio_portfolio__pvnAk{margin:4rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}.portfolio_portfolioItem__ZBa4A{--accent:#6366f1;position:relative;display:flex;flex-direction:column;border-radius:1.1rem;background:var(--secondary-color);border:1px solid var(--light-grey);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .34s cubic-bezier(.22,1,.36,1),box-shadow .34s ease,border-color .34s ease;z-index:0}.portfolio_portfolioItem__ZBa4A:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--accent) 45%,var(--light-grey));box-shadow:0 20px 44px rgba(0,0,0,.1),0 8px 24px color-mix(in srgb,var(--accent) 18%,transparent)}.portfolio_glow__RCbzr{position:absolute;top:-45%;left:50%;width:80%;height:70%;transform:translateX(-50%);background:radial-gradient(closest-side,var(--accent),transparent 70%);opacity:0;filter:blur(30px);pointer-events:none;z-index:-1;transition:opacity .34s ease}.portfolio_portfolioItem__ZBa4A:hover .portfolio_glow__RCbzr{opacity:.18}.portfolio_imageBox__aUMRt{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:1.1rem 1.1rem 0 0;background:var(--secondary-grey,#f4f4f5);border-bottom:1px solid var(--light-grey)}.portfolio_foreground__qt7N2{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .55s cubic-bezier(.22,1,.36,1)}.portfolio_portfolioItem__ZBa4A:hover .portfolio_foreground__qt7N2{transform:scale(1.06)}.portfolio_backdrop__UtpQ5{display:none}.portfolio_cta__LgTEr{position:absolute;top:.9rem;right:.9rem;width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;background:var(--accent);border-radius:50%;opacity:0;transform:translateY(-6px) scale(.85);transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 45%,transparent)}.portfolio_portfolioItem__ZBa4A:hover .portfolio_cta__LgTEr{opacity:1;transform:translateY(0) scale(1)}.portfolio_nameBar__5JyFM{padding:1.15rem 1.25rem 1.3rem;display:flex;flex-direction:column;gap:.55rem}.portfolio_titleRow__nRjR4{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.portfolio_titleRow__nRjR4 h3{color:var(--primary-color);font-size:1.1rem;font-weight:600;letter-spacing:-.01em;margin:0;line-height:1.25}.portfolio_year__6FAFi{flex-shrink:0;font-size:.72rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.portfolio_desc__QaQfu{color:var(--medium-grey);font-size:.85rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portfolio_tags__9bR3C{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.portfolio_tag__wAoDm{font-size:.68rem;font-weight:500;color:var(--dark-grey);background:var(--secondary-grey,#f4f4f5);border:1px solid var(--light-grey);padding:.28rem .6rem;border-radius:2rem;white-space:nowrap;transition:border-color .3s ease,background .3s ease,color .3s ease}.portfolio_portfolioItem__ZBa4A:hover .portfolio_tag__wAoDm{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--secondary-color));color:color-mix(in srgb,var(--accent) 70%,var(--primary-color))}.portfolio_footer__AE5ZY{font-size:1.4rem;font-weight:600;display:flex;justify-content:center;align-items:center;gap:.5rem;text-align:center}.portfolio_footer__AE5ZY a{text-decoration:none;color:var(--primary-color)}.portfolio_footer__AE5ZY a:hover{text-decoration:underline}@media (max-width:768px){.portfolio_portfolio__pvnAk{grid-template-columns:1fr;margin:2rem 0;gap:1.25rem}.portfolio_cta__LgTEr{opacity:1;transform:none}}