.ExpandableSection_expandableSection__8cSIi{width:100%;margin-bottom:var(--spacing-4)}.ExpandableSection_header__Y_lYy{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) 0;background:none;border:none;cursor:pointer;text-align:left;transition:opacity .2s ease}.ExpandableSection_header__Y_lYy:hover{opacity:.8}.ExpandableSection_header__Y_lYy:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.ExpandableSection_title__TKhkC{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary);flex:1 1}.ExpandableSection_icon__wp0BT{display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:transform .3s cubic-bezier(.4,0,.2,1);margin-left:var(--spacing-2)}.ExpandableSection_iconExpanded__jVHkc{transform:rotate(180deg)}.ExpandableSection_content__HR2lD{overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1)}.ExpandableSection_contentInner__Y0aji{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}@media (prefers-reduced-motion:reduce){.ExpandableSection_content__HR2lD,.ExpandableSection_icon__wp0BT{transition:none}}.ProjectCard_card__97kGG{display:flex;flex-direction:column;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.ProjectCard_card__97kGG:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ProjectCard_card__97kGG:focus-within{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:var(--shadow-lg)}.ProjectCard_featured__V3uBn{border:2px solid var(--color-accent)}.ProjectCard_imageContainer__nQfFY{position:relative;width:100%;aspect-ratio:16/9;background-color:var(--color-muted);overflow:hidden}.ProjectCard_image__k8EDh{object-fit:cover;transition:opacity .3s ease,transform var(--transition-normal)}.ProjectCard_card__97kGG:hover .ProjectCard_image__k8EDh{transform:scale(1.02)}.ProjectCard_imageLoading__81Llk{opacity:0}.ProjectCard_imageLoaded__1qszG{opacity:1}.ProjectCard_skeleton__XEpll{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--color-muted) 0,var(--color-muted-foreground) 50%,var(--color-muted) 100%);background-size:200% 100%;animation:ProjectCard_shimmer__LrlhK 1.5s ease-in-out infinite;opacity:.1}@keyframes ProjectCard_shimmer__LrlhK{0%{background-position:-200% 0}to{background-position:200% 0}}.ProjectCard_skeletonShimmer__NeDXD{width:100%;height:100%}.ProjectCard_imagePlaceholder__GGMmF{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-muted)}.ProjectCard_placeholderIcon__os_Kx{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-muted-foreground);opacity:.5}.ProjectCard_featuredBadge__lOGjW{position:absolute;top:var(--spacing-4);right:var(--spacing-4);background:var(--color-accent);color:white;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-1);box-shadow:var(--shadow-md);z-index:1;transition:all var(--transition-fast)}.ProjectCard_card__97kGG:hover .ProjectCard_featuredBadge__lOGjW{transform:scale(1.05);box-shadow:var(--shadow-lg)}.ProjectCard_content__l88WJ{display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-6);flex:1 1}.ProjectCard_cardHeader__CYYsD{display:flex;flex-direction:column;gap:var(--spacing-2)}.ProjectCard_projectTitle__OstQu{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-foreground);margin:0;line-height:var(--line-height-tight)}.ProjectCard_tagline__Zocpm{font-size:var(--font-size-base);color:var(--color-muted-foreground);margin:0;line-height:var(--line-height-normal)}.ProjectCard_techStack___e3sF{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.ProjectCard_techBadge__rBn_u{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background:var(--color-muted);color:var(--color-foreground);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--color-border);transition:all var(--transition-fast)}.ProjectCard_card__97kGG:hover .ProjectCard_techBadge__rBn_u{background:var(--color-accent);color:white;border-color:var(--color-accent);transform:translateY(-1px)}.ProjectCard_description__E3Nk4{display:flex;flex-direction:column;gap:var(--spacing-3)}.ProjectCard_section__2fky9{display:flex;flex-direction:column;gap:var(--spacing-2)}.ProjectCard_sectionTitle__TOTI_{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent-700);margin:0;text-transform:uppercase;letter-spacing:.05em}.ProjectCard_sectionText__1dQQF{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-muted-foreground);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ProjectCard_featureList__M_aYH{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.ProjectCard_featureItem__6EMp3{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-muted-foreground);padding-left:var(--spacing-5);position:relative}.ProjectCard_featureItem__6EMp3:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-weight:var(--font-weight-bold)}.ProjectCard_techHighlights__Q_59C{display:flex;flex-direction:column;gap:var(--spacing-4)}.ProjectCard_highlightSection__yBqey{display:flex;flex-direction:column;gap:var(--spacing-2)}.ProjectCard_highlightTitle__d1Jn_{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);margin:0;text-transform:uppercase;letter-spacing:.05em}.ProjectCard_highlightList__PjJxp{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-2)}.ProjectCard_highlightItem__yYTcH{font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-muted-foreground);padding-left:var(--spacing-5);position:relative}.ProjectCard_highlightItem__yYTcH:before{content:"▸";position:absolute;left:0;color:var(--color-accent);font-weight:var(--font-weight-bold)}.ProjectCard_stats__9f8Lr{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:var(--spacing-3);gap:var(--spacing-3);padding:var(--spacing-4) 0;border-top:1px solid var(--color-border)}.ProjectCard_stat__GZc9W{display:flex;flex-direction:column;gap:var(--spacing-1)}.ProjectCard_statValue__8lYqq{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-foreground);line-height:var(--line-height-tight)}.ProjectCard_statLabel__EXBpd{font-size:var(--font-size-xs);color:var(--color-muted-foreground);line-height:var(--line-height-tight)}.ProjectCard_actions__rlBOv{display:flex;flex-wrap:wrap;gap:var(--spacing-3);margin-top:auto;padding-top:var(--spacing-2)}.ProjectCard_button__3xA4H{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-3) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;transition:all var(--transition-fast);cursor:pointer;white-space:nowrap}.ProjectCard_buttonPrimary__UQO3O{background:var(--color-accent);color:white;border:2px solid var(--color-accent)}.ProjectCard_buttonPrimary__UQO3O:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.ProjectCard_buttonSecondary__5RgHH{background:transparent;color:var(--color-foreground);border:2px solid var(--color-border)}.ProjectCard_buttonSecondary__5RgHH:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-muted)}.ProjectCard_button__3xA4H:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px;box-shadow:0 0 0 4px rgba(59,130,246,.1)}.ProjectCard_card__97kGG:focus-within .ProjectCard_button__3xA4H:focus-visible{outline-width:3px}.ProjectCard_card__97kGG:focus-within{box-shadow:var(--shadow-lg),0 0 0 3px var(--color-accent)}.ProjectCard_card__97kGG a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (max-width:639px){.ProjectCard_content__l88WJ{padding:var(--spacing-5);gap:var(--spacing-3)}.ProjectCard_projectTitle__OstQu{font-size:var(--font-size-xl)}.ProjectCard_sectionText__1dQQF{-webkit-line-clamp:2}.ProjectCard_featureList__M_aYH{gap:var(--spacing-1)}.ProjectCard_actions__rlBOv{flex-direction:column}.ProjectCard_button__3xA4H{width:100%}}@media (min-width:1024px){.ProjectCard_projectTitle__OstQu{font-size:var(--font-size-3xl)}}@media (prefers-reduced-motion:reduce){.ProjectCard_button__3xA4H,.ProjectCard_card__97kGG,.ProjectCard_image__k8EDh{transition:none}.ProjectCard_button__3xA4H:hover,.ProjectCard_card__97kGG:hover,.ProjectCard_card__97kGG:hover .ProjectCard_image__k8EDh{transform:none}.ProjectCard_skeleton__XEpll{animation:none}}@media print{.ProjectCard_card__97kGG{box-shadow:none;border:1px solid var(--color-neutral-300);page-break-inside:avoid}.ProjectCard_card__97kGG:hover{transform:none;box-shadow:none}.ProjectCard_featuredBadge__lOGjW{background:transparent;color:var(--color-foreground)}.ProjectCard_button__3xA4H,.ProjectCard_featuredBadge__lOGjW{border:1px solid var(--color-border)}.ProjectCard_buttonPrimary__UQO3O,.ProjectCard_buttonSecondary__5RgHH{background:transparent;color:var(--color-foreground)}}.projects_container__IN86_{width:100%;max-width:1400px;margin:0 auto;padding:4rem 1.5rem}.projects_header__xBwNG{text-align:center;margin-bottom:4rem}.projects_title__qiES_{font-size:3rem;font-weight:700;margin-bottom:1rem;color:var(--color-text-primary)}.projects_subtitle__CGP6Y{font-size:1.25rem;color:var(--color-text-secondary);max-width:700px;margin:0 auto}.projects_grid__19mxF{display:grid;grid-template-columns:1fr;grid-gap:3rem;gap:3rem}@media (min-width:768px){.projects_grid__19mxF{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects_grid__19mxF{grid-template-columns:repeat(3,1fr)}}