.portfolio-wrapper:where(.astro-HCJUQWDU){display:flex;flex-direction:column;gap:3rem}.portfolio-hero:where(.astro-HCJUQWDU){display:flex;flex-direction:column;gap:1rem;padding-top:2rem;max-width:50ch}.page-label:where(.astro-HCJUQWDU){font-family:var(--font-brand);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--accent-regular);margin:0}.portfolio-title:where(.astro-HCJUQWDU){font-size:clamp(2rem,6vw,3.5rem);line-height:1.1;margin:0;color:var(--gray-0)}.portfolio-title:where(.astro-HCJUQWDU) .accent:where(.astro-HCJUQWDU){background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portfolio-intro:where(.astro-HCJUQWDU){font-size:var(--text-lg);color:var(--gray-300);line-height:1.6;margin:0}.portfolio-grid:where(.astro-HCJUQWDU){display:grid;grid-template-columns:1fr;gap:2rem;padding:0}.portfolio-item:where(.astro-HCJUQWDU){display:flex;flex-direction:column;align-items:stretch;animation:fadeInUp .6s ease-out forwards;opacity:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in:where(.astro-HCJUQWDU){animation:fadeInUp .8s ease-out forwards}@media (min-width: 40em){.portfolio-grid:where(.astro-HCJUQWDU){grid-template-columns:repeat(2,1fr)}}@media (min-width: 50em){.portfolio-wrapper:where(.astro-HCJUQWDU){gap:4rem}.portfolio-grid:where(.astro-HCJUQWDU){grid-template-columns:repeat(2,1fr);gap:2.5rem}}@media (min-width: 70em){.portfolio-grid:where(.astro-HCJUQWDU){grid-template-columns:repeat(3,1fr)}}
