.page_main__s1JyD{margin:0 auto;padding-top:var(--spacing-sm);padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.page_article__S3y9H{max-width:900px;margin:var(--spacing-lg) auto}.page_breadcrumb__dWoWT{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm)}.page_breadcrumbLink__CSEbm{text-decoration:none;color:var(--color-text-tertiary);transition:color var(--transition-fast)}.page_breadcrumbLink__CSEbm:hover{color:var(--color-text-primary)}.page_breadcrumbText__V7tqI{display:flex;align-items:center}.page_breadcrumbCurrent__wP950,.page_breadcrumbSeparator__63crI{color:var(--color-text-quaternary)}.page_header__S_7pk{text-align:center;margin-bottom:var(--spacing-lg)}.page_title__ONXkL{color:var(--color-text-primary);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.page_metadata__sKRTt{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xs);color:var(--color-text-tertiary)}.page_separator__yfwwd{color:var(--color-text-quaternary)}.page_shareButtonWrapper__aW_qy{display:inline-flex;align-items:center}.page_tags__cTj8K{display:flex;justify-content:center;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-xl)}.page_tag__xSo5A{background-color:var(--color-text-quaternary);color:var(--color-background);padding:var(--spacing-xxs) var(--spacing-xs);text-transform:uppercase}.page_content__NlZ1c{color:var(--color-text-primary);margin-bottom:var(--spacing-xl)}.page_content__NlZ1c p{letter-spacing:-.01em;margin-bottom:var(--spacing-lg)}.page_content__NlZ1c h2{letter-spacing:-.01em;margin-bottom:var(--spacing-sm)}.page_content__NlZ1c a{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.page_content__NlZ1c a:hover{color:var(--color-text-quaternary)}.page_content__NlZ1c .blog-content p{margin-bottom:var(--spacing-md);line-height:1.7}.page_content__NlZ1c .blog-content h2{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md)}.page_content__NlZ1c .blog-content h3{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.page_content__NlZ1c .blog-content img{width:100%;height:auto;margin:var(--spacing-lg) 0}.page_content__NlZ1c .blog-content blockquote{border-left:3px solid var(--color-text-quaternary);padding-left:var(--spacing-md);margin:var(--spacing-md) 0;color:var(--color-text-tertiary)}.page_content__NlZ1c .blog-content code{background-color:var(--color-card-alt);padding:2px 6px;font-size:.9em}.page_content__NlZ1c .blog-content pre{background-color:var(--color-card);padding:var(--spacing-md);overflow-x:auto;margin:var(--spacing-md) 0}.page_content__NlZ1c .blog-content pre code{background:none;padding:0;color:var(--color-text-secondary)}@media (max-width:768px){.page_article__S3y9H{margin:var(--spacing-md) auto}.page_title__ONXkL{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.page_content__NlZ1c p,.page_header__S_7pk{margin-bottom:var(--spacing-md)}.page_content__NlZ1c h2{margin-bottom:var(--spacing-xs)}}.CopyButton_copyButton__4Qyqe{background:none;border:none;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.CopyButton_copyIcon__i8fv5{font-size:.8rem;color:var(--color-text-quaternary);transition:color var(--transition-fast)}.CopyButton_copyButton__4Qyqe:hover .CopyButton_copyIcon__i8fv5{color:var(--color-text-primary)}.CopyButton_copyPopup__pXf6o{position:absolute;background-color:var(--color-card-special);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-xs-strong);pointer-events:none;z-index:9999;opacity:0;transform:translateY(4px);transition:all var(--transition-fast);white-space:nowrap}.CopyButton_copyPopup__pXf6o.CopyButton_show__yJSck{opacity:1;transform:translateY(0)}@media (max-width:768px){.CopyButton_copyIcon__i8fv5{font-size:.7rem}.CopyButton_copyPopup__pXf6o{font-size:var(--text-xs);padding:6px var(--spacing-xs)}}.LoadingIndicator_loadingIndicator__1BsdN{display:flex;align-items:center;justify-content:center;gap:4px}.LoadingIndicator_loadingDot__UUBTT{display:inline-block;border-radius:50%;background-color:var(--color-text-quaternary);animation:LoadingIndicator_pulse__hVdT3 1.4s ease-in-out infinite both}.LoadingIndicator_loadingDot__UUBTT:first-child{animation-delay:-.32s}.LoadingIndicator_loadingDot__UUBTT:nth-child(2){animation-delay:-.16s}.LoadingIndicator_loadingDot__UUBTT:nth-child(3){animation-delay:0s}.LoadingIndicator_small__hTfzd .LoadingIndicator_loadingDot__UUBTT{width:3px;height:3px}.LoadingIndicator_small__hTfzd{gap:4px}.LoadingIndicator_medium__PgDou .LoadingIndicator_loadingDot__UUBTT{width:6px;height:6px}.LoadingIndicator_large__BJWDt .LoadingIndicator_loadingDot__UUBTT{width:10px;height:10px}@keyframes LoadingIndicator_pulse__hVdT3{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (max-width:768px){.LoadingIndicator_medium__PgDou .LoadingIndicator_loadingDot__UUBTT{width:4px;height:4px}.LoadingIndicator_large__BJWDt .LoadingIndicator_loadingDot__UUBTT{width:6px;height:6px}}.Video_videoWrapper__pYRO8{padding:0;width:100%}.Video_videoContainer__82IgF{position:relative;width:100%;overflow:hidden}.Video_videoEmbed__eK7Jr{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.Video_videoFade__Gs_H4{transition:opacity .5s ease-out;will-change:opacity;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.Video_loading__Y1EpF{opacity:0}.Video_loaded__ksGzX{opacity:1}@keyframes HelloBar_heroFadeIn__sf69U{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes HelloBar_heroFadeInToHalf__3Is6Z{0%{opacity:0;transform:translateY(20px)}to{opacity:.5;transform:translateY(0)}}.HelloBar_helloBar__01afB{padding:var(--spacing-md);display:flex;justify-content:center;align-items:center;min-height:calc(100svh - var(--spacing-xl));transition:background-color var(--transition-fast) ease-out;will-change:background;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.HelloBar_helloBarContainer__co3M6{display:flex;flex-direction:column;width:100%;gap:var(--spacing-xl)}.HelloBar_helloTopSection__RoHIt{display:flex;align-items:center;gap:var(--spacing-xl)}.HelloBar_helloContent__uNK6h{display:flex;flex-direction:column;align-items:left;gap:var(--spacing-lg);flex:1 1;mix-blend-mode:difference;color:var(--color-text-secondary);animation:HelloBar_heroFadeIn__sf69U 1s ease-out .1s both}.HelloBar_helloImageContainer__Q1n4W{display:flex;justify-content:center;align-items:center;position:relative;width:100%;aspect-ratio:16/9;margin-left:auto;flex:1 1}.HelloBar_helloImage__ICoUV{object-fit:cover;object-position:center;position:relative;width:100%;height:100%;will-change:mask,-webkit-mask;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.HelloBar_helloSubtitle__QDWYO,.HelloBar_helloTitle__PKehv{text-align:left;margin:0;width:100%}.HelloBar_helloSubtitle__QDWYO{background:none;border:none;padding:0;font-family:inherit;cursor:pointer;color:inherit;transition:opacity var(--transition-fast);opacity:1;text-decoration:underline}.HelloBar_helloSubtitle__QDWYO:hover{opacity:.5}.HelloBar_helloGrid__v2sGE{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--spacing-md);gap:var(--spacing-md);width:100%;justify-items:left;animation:HelloBar_heroFadeIn__sf69U 1s ease-out .2s both;color:var(--color-text-secondary);mix-blend-mode:difference}.HelloBar_helloItem__AeAGF{text-decoration:underline;transition:all var(--transition-fast);text-align:left;word-break:break-all;color:inherit;opacity:.5}.HelloBar_helloItem__AeAGF:hover{opacity:1}@media (max-width:1200px){.HelloBar_helloTitle__PKehv.HelloBar_type-title___Gf_4{font-size:var(--text-xl)}.HelloBar_helloSubtitle__QDWYO.HelloBar_type-body-lg__jjZt7{font-size:var(--text-base)}.HelloBar_helloGrid__v2sGE{display:none}}@media (max-width:768px){.HelloBar_helloBar__01afB{padding:var(--spacing-sm);align-items:flex-start}.HelloBar_helloBarContainer__co3M6{flex-direction:column;justify-content:flex-start;height:100%;gap:0}.HelloBar_helloTopSection__RoHIt{flex-direction:column;justify-content:flex-start;flex:1 1;gap:var(--spacing-md)}.HelloBar_helloContent__uNK6h{display:flex;flex-direction:column;gap:var(--spacing-md)}.HelloBar_helloImageContainer__Q1n4W{max-width:calc(100dvw - (var(--spacing-xs) * 2));align-self:center;order:2}.HelloBar_helloGrid__v2sGE{display:none}.HelloBar_helloTitle__PKehv.HelloBar_type-title___Gf_4{font-size:clamp(1.2rem,3.5svh,2.8rem);order:1}.HelloBar_helloSubtitle__QDWYO.HelloBar_type-body-lg__jjZt7{font-size:clamp(.8rem,2.5svh,1.8rem);order:3}.HelloBar_helloItem__AeAGF.HelloBar_type-body__f9I6u{font-size:var(--text-sm)}}.LazyProjectGrid_grid__0xxwG{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--spacing-sm);gap:var(--spacing-sm);padding-left:var(--spacing-sm);padding-right:var(--spacing-sm);padding-top:var(--spacing-sm)}.LazyProjectGrid_gridItem__nJAK_{position:relative;background-color:var(--color-background);overflow:hidden;cursor:pointer;display:grid;grid-template-areas:"image" "title" "description";transition:background-color .6s ease;-webkit-clip-path:inset(0);clip-path:inset(0);text-decoration:none;color:inherit}.LazyProjectGrid_textTop__2d7oH{padding-top:var(--spacing-xs);color:var(--color-text-primary)}.LazyProjectGrid_textBottom__FqI1P,.LazyProjectGrid_textTop__2d7oH{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs);transition:color .3s ease}.LazyProjectGrid_textBottom__FqI1P{padding-bottom:var(--spacing-xs);color:var(--color-text-tertiary)}.LazyProjectGrid_imageContainer__UZLN4{overflow:hidden;width:100%;aspect-ratio:19/11;position:relative;transform:translateZ(0)}.LazyProjectGrid_image__WdpC7{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}.LazyProjectGrid_gridItem__nJAK_:hover{background-color:var(--color-card)}.LazyProjectGrid_gridItem__nJAK_:hover .LazyProjectGrid_textBottom__FqI1P,.LazyProjectGrid_gridItem__nJAK_:hover .LazyProjectGrid_textTop__2d7oH{color:var(--color-text-secondary)}.LazyProjectGrid_gridItem__nJAK_:hover .LazyProjectGrid_image__WdpC7{transform:scale(1.05)}@media (max-width:768px){.LazyProjectGrid_grid__0xxwG{grid-template-columns:1fr;gap:var(--spacing-xs);padding-top:var(--spacing-xs);padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}}.LazyProjectGrid_loadMoreContainer__F8DBM{text-align:center;padding:var(--spacing-lg) 0;min-height:80px;display:flex;align-items:center;justify-content:center}.LazyProjectGrid_gridItemFadeIn__tWvoa{opacity:0;animation:LazyProjectGrid_fadeInUp__yCYCo .8s cubic-bezier(.4,0,.2,1) forwards;animation-delay:var(--animation-delay,0s);will-change:opacity}@keyframes LazyProjectGrid_fadeInUp__yCYCo{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.LazyImage_container__D2d3W{position:relative;display:block;width:100%;height:100%}.LazyImage_image__B3nhr{transition:opacity .6s cubic-bezier(.4,0,.2,1);will-change:opacity}.LazyImage_loading__6rSDB{opacity:0}.LazyImage_loaded__UxXKn{opacity:1}.ScrollableResourceGrid_gridContainer__lOpCi{position:relative;display:flex;flex-grow:1;flex-shrink:1;flex-basis:0;min-height:0}.ScrollableResourceGrid_scrollContainer__DHo1y{display:flex;flex:1 1;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}.ScrollableResourceGrid_scrollContainer__DHo1y::-webkit-scrollbar{display:none}.ScrollableResourceGrid_resourceItem__CfbKx{flex:0 0 100dvw;scroll-snap-align:center;height:100%}.ScrollableResourceGrid_resourceLink__v9VaL{display:block;width:100%;height:100%;text-decoration:none;color:inherit}.ScrollableResourceGrid_imageContainer__FmRyW{position:relative;overflow:hidden;width:100%;height:100%;background-color:var(--color-card)}.ScrollableResourceGrid_imageOverlay__DS_fO{position:absolute;top:0;left:0;right:0;bottom:20%;background:linear-gradient(180deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.6) 50%,rgba(0,0,0,0) 80%,transparent);padding:var(--spacing-md);display:flex;align-items:flex-start}.ScrollableResourceGrid_overlayContent__QHw5Q{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%;position:relative}.ScrollableResourceGrid_resourceMeta__E2Ext{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-xs)}.ScrollableResourceGrid_resourceDate__5LPF1{color:var(--color-text-secondary)}.ScrollableResourceGrid_technology__7_ldt{color:var(--color-text-primary);background-color:var(--color-card-alt);padding:4px 8px;transition:all var(--transition-base)}.ScrollableResourceGrid_resourceTitle__0kUD4{color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;transition:color var(--transition-base)}.ScrollableResourceGrid_resourceDescription__ixLkw{color:var(--color-text-secondary);margin:0;opacity:.9;max-width:80%;transition:color var(--transition-base)}.ScrollableResourceGrid_scrollButton__Ilimw{position:absolute;padding:var(--spacing-sm);color:var(--color-text-secondary);width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-base);opacity:.5;font-size:1.2rem;border:none;background:none;cursor:pointer;z-index:100;top:50%}.ScrollableResourceGrid_scrollButton__Ilimw:hover{opacity:1}.ScrollableResourceGrid_scrollButtonLeft__YcVXd{left:calc(var(--spacing-md) * 2)}.ScrollableResourceGrid_scrollButtonRight__z_vpD{right:calc(var(--spacing-md) * 2)}@media (max-width:768px){.ScrollableResourceGrid_imageOverlay__DS_fO{padding:var(--spacing-sm);bottom:30%}.ScrollableResourceGrid_resourceItem__CfbKx{flex:0 0 100dvw}.ScrollableResourceGrid_resourceDescription__ixLkw{max-width:100%}.ScrollableResourceGrid_overlayContent__QHw5Q{gap:var(--spacing-xs)}.ScrollableResourceGrid_scrollButton__Ilimw{width:2.5rem;height:2.5rem;padding:var(--spacing-xs);font-size:1rem}.ScrollableResourceGrid_scrollButtonLeft__YcVXd{left:var(--spacing-sm)}.ScrollableResourceGrid_scrollButtonRight__z_vpD{right:var(--spacing-sm)}}.MDXMedia_imageWrapper__cSKXU{width:100%;margin-bottom:var(--spacing-lg)}.MDXMedia_imageWrapper__cSKXU[data-fit=cover]{aspect-ratio:16/9;overflow:hidden}.MDXMedia_videoWrapper__dVkQz{width:100%;margin-bottom:var(--spacing-lg)}.MDXMedia_videoContainer__FmAiv{position:relative;width:100%;overflow:hidden}.MDXMedia_imageGridWrapper___V61Q{margin-bottom:var(--spacing-lg)}.MDXMedia_imageGrid__0B7dR{display:grid;grid-gap:var(--spacing-sm);gap:var(--spacing-sm);width:100%;align-items:center}.MDXMedia_gridItem__BHbKr{width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.MDXMedia_caption__UYzxG{margin-top:var(--spacing-sm);color:var(--color-text-tertiary);text-align:center;font-style:italic}@media (max-width:768px){.MDXMedia_imageGrid__0B7dR{grid-template-columns:repeat(var(--mobile-columns,1),1fr)!important;gap:var(--spacing-xs)}.MDXMedia_imageGridWrapper___V61Q,.MDXMedia_imageWrapper__cSKXU,.MDXMedia_videoWrapper__dVkQz{margin-bottom:var(--spacing-md)}.MDXMedia_caption__UYzxG{margin-top:var(--spacing-xs)}}.SeeMoreBar_seeMoreBar__exuPT{background-color:var(--color-background);color:var(--color-text-tertiary);padding:var(--spacing-xl) var(--spacing-md);text-align:center}.SeeMoreBar_seeMoreBar__exuPT a{transition:all var(--transition-fast);text-decoration:underline}.SeeMoreBar_seeMoreBar__exuPT a:hover{color:var(--color-text-quaternary)}@media (max-width:768px){.SeeMoreBar_seeMoreBar__exuPT{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}}.ContactBar_contactBar__svkHF{background-color:var(--color-card-alt);padding:var(--spacing-xl) var(--spacing-md);display:flex;justify-content:center;align-items:center}.ContactBar_contactBarContainer__RYlfr{display:flex;flex-direction:column;width:100%;gap:var(--spacing-lg)}.ContactBar_contactSubtitle__t6svz,.ContactBar_contactTitle__v7TZt{color:var(--color-text-primary);text-align:left;margin:0;width:50%}.ContactBar_contactGrid__CsZhk{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--spacing-md);gap:var(--spacing-md);width:100%;justify-items:left}.ContactBar_contactItem__zQJdx{color:var(--color-text-tertiary);text-decoration:underline;transition:color .2s;text-align:left;word-break:break-all}.ContactBar_contactItem__zQJdx:hover{color:var(--color-text-primary)}@media (max-width:768px){.ContactBar_contactBar__svkHF{padding:var(--spacing-md) var(--spacing-sm)}.ContactBar_contactGrid__CsZhk{grid-template-columns:1fr;gap:var(--spacing-md)}.ContactBar_contactSubtitle__t6svz,.ContactBar_contactTitle__v7TZt{width:75%}}.ShareButton_shareButton__7UzKp{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:0;transition:color var(--transition-fast)}.ShareButton_shareButton__7UzKp:hover{color:var(--color-text-primary)}.CopyPrompt_copyPrompt__H8TKm{background-color:var(--color-card-alt);padding:var(--spacing-xl) calc(var(--spacing-md) * 2);display:flex;justify-content:center;align-items:center}.CopyPrompt_copyPromptContainer__p5aaX{display:flex;flex-direction:column;width:100%;gap:var(--spacing-lg)}.CopyPrompt_header__4bbxx{display:flex;flex-direction:column;gap:var(--spacing-xs)}.CopyPrompt_title__okm_Z{color:var(--color-card-special);text-align:left;margin:0}.CopyPrompt_subtitle__DS2CC{color:var(--color-text-tertiary);text-align:left;margin:0}.CopyPrompt_promptContainer__kwI9a{position:relative;background-color:var(--color-background);padding:var(--spacing-md);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.CopyPrompt_promptContent__5UcR5{flex:1 1;overflow-x:auto;overflow-y:hidden;max-width:100%}.CopyPrompt_promptText__WVyxk{color:var(--color-text-primary);font-family:var(--font-mono);margin:0;white-space:pre;word-break:normal;line-height:1.5;display:block}.CopyPrompt_buttonContainer__IONXk{flex-shrink:0;display:flex;align-items:center;gap:var(--spacing-xs);padding-top:var(--spacing-xxs)}@media (max-width:768px){.CopyPrompt_copyPrompt__H8TKm{padding:var(--spacing-md) var(--spacing-sm)}.CopyPrompt_copyPromptContainer__p5aaX{gap:var(--spacing-md)}.CopyPrompt_promptContainer__kwI9a{padding:var(--spacing-sm);flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.CopyPrompt_buttonContainer__IONXk{align-self:flex-end;padding-top:0;order:-1}.CopyPrompt_promptText__WVyxk{font-size:.9rem}}