:root{--font-system:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--color-primary:#2c2c2c;--color-muted:#757575;--color-border:#e0e0e0;--color-subtle-bg:#f7f7f7;--spacing-xsmall:2px;--spacing-small:4px;--spacing-smedium:6px;--spacing-medium:8px;--spacing-lmedium:12px;--spacing-large:16px;--spacing-xlarge:24px;--spacing-xxlarge:32px;--spacing-xxxlarge:48px;--spacing-huge:64px}*{box-sizing:border-box}body{margin:0;background-color:white}.page-shell{justify-content:center}.page-content,.page-shell{display:flex;width:100%;min-height:100vh}.page-content{max-width:968px;margin:0 1rem;flex-direction:column}.navbar{position:relative}.navbar:after{content:"";position:absolute;top:100%;left:50%;width:100vw;transform:translateX(-50%);height:1px;background-color:var(--color-border);pointer-events:none}h1{font-weight:400;font-size:80px}h1,h2{font-family:var(--font-sofia),sans-serif;line-height:1.1;color:var(--color-primary)}h2{font-weight:600;font-size:42px}h3{font-weight:600;font-size:32px;margin-bottom:0;color:var(--color-primary)}h3,h3.subheading{font-family:var(--font-sofia),sans-serif;line-height:1}h3.subheading{font-weight:400;font-size:20px;color:var(--color-muted)}h3.small{font-family:var(--font-sofia),sans-serif;font-weight:600;line-height:1}h3.small,h4{font-size:20px}h4{font-family:var(--font-roboto),sans-serif;font-weight:400;line-height:1.2;margin:0;color:var(--color-primary)}a,a.navItem{text-decoration:none;color:var(--color-primary)}a.navItem{font-family:var(--font-sofia),sans-serif}body p{font-family:var(--font-roboto),sans-serif;font-size:16px;color:var(--color-primary)}img.portrait{width:207.2px;height:207.2px}h1.home-header{background:-webkit-linear-gradient(#19243f,#293b6d);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.cta{display:inline-block;background-color:var(--color-primary);color:white;border:2px solid black;border-radius:10px;padding:.75rem;font-family:var(--font-roboto),sans-serif;cursor:pointer}.blog-card{transition:all .2s ease-in-out}.blog-card:hover{background-color:var(--color-subtle-bg)}.project-card-button{display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);margin:0;padding:10px;border-radius:8px;border:none}a.project{color:white;font-family:var(--font-roboto),sans-serif;font-size:16px}.blog-article{width:100%;max-width:68ch;margin:0 auto var(--spacing-xxxlarge)}.breadcrumb{display:none}.breadcrumb-list{display:flex;flex-wrap:nowrap;align-items:baseline;list-style:none;margin:0;padding:0;gap:var(--spacing-smedium);font-family:var(--font-sofia),sans-serif;font-size:.875rem;color:var(--color-muted)}.breadcrumb-item{flex-shrink:0}.breadcrumb-item:not(:first-child):before{content:"/";color:var(--color-muted);margin-right:var(--spacing-smedium)}.breadcrumb-item[aria-current=page]{display:block;min-width:0;flex-shrink:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.breadcrumb-item a{color:var(--color-muted);text-decoration:none}.breadcrumb-item a:hover{color:var(--color-primary);text-decoration:underline}.blog-content{line-height:1.6;color:var(--color-primary)}.blog-content,.blog-content p{font-family:var(--font-system);font-size:1.125rem}.blog-content p{margin:1.25em 0;text-wrap:pretty}.blog-content h1{font-size:2.25em;line-height:1.1111111;margin:0 0 .8888889em}.blog-content h1,.blog-content h2{font-family:var(--font-system);font-weight:600;color:var(--color-primary)}.blog-content h2{font-size:1.5em;line-height:1.3333333;margin:2em 0 1em}.blog-content h3{font-size:1.25em;line-height:1.6;margin:1.6em 0 .6em}.blog-content h3,.blog-content h4{font-family:var(--font-system);font-weight:600;color:var(--color-primary)}.blog-content h4{font-size:1em;line-height:1.5;margin:1.5em 0 .5em}.blog-content>:first-child{margin-top:0}.blog-content>:last-child{margin-bottom:0}.blog-content strong{font-weight:600}.blog-content a{color:var(--color-primary);font-weight:500;text-decoration:underline}.blog-content ol,.blog-content ul{margin:1.25em 0;padding-left:1.625em}.blog-content li{margin:.5em 0;text-wrap:pretty}.blog-content li>p{margin:.75em 0}.blog-content blockquote{margin:1.6em 0;padding-left:1em;border-left:.25rem solid var(--color-border);font-weight:500;font-style:italic}.blog-content hr{margin:3em 0;border:none;border-top:1px solid var(--color-border)}.blog-content img{display:block;max-width:100%;margin:2em 0}.blog-content code{font-family:var(--font-mono);font-size:.875em;font-weight:600}.blog-content code:after,.blog-content code:before{content:"`"}.blog-content pre{margin:1.7142857em 0;padding:.8571429em 1.1428571em;border-radius:.375rem;background-color:var(--color-primary);color:var(--color-subtle-bg);font-family:var(--font-mono);font-size:.875em;line-height:1.7142857;overflow-x:auto}.blog-content pre code{background-color:transparent;padding:0;font-weight:inherit;color:inherit}.blog-content pre code:after,.blog-content pre code:before{content:none}.hero-section{width:100%;display:flex;flex-direction:row;justify-content:space-between;margin-top:var(--spacing-huge)}.hero-left{width:30rem;margin-right:var(--spacing-large)}.hero-right{padding-top:4.6875rem;display:flex;flex-direction:row;justify-content:center;margin-top:3.125rem}@media (max-width:768px){.page-content{margin:0 1.25rem}.breadcrumb{display:block;margin-top:var(--spacing-xxlarge);margin-bottom:var(--spacing-medium)}.hero-section{flex-direction:column}.hero-right{display:none}.hero-left{width:100%;margin-right:0}h1.home-header{font-size:58px}.button-box{display:flex;flex-direction:column;gap:1.5rem;width:100%;margin-right:var(--spacing-xlarge)}.project-card-button{width:100%}.project-card-content{flex:1 1;padding:0 var(--spacing-large)}}@font-face{font-family:sofia;src:url(/_next/static/media/89fabbc7bad70e24-s.p.woff2) format("woff2");font-display:swap;font-weight:400}@font-face{font-family:sofia Fallback;src:local("Arial");ascent-override:92.97%;descent-override:30.99%;line-gap-override:0.00%;size-adjust:96.81%}.__className_2810ed{font-family:sofia,sofia Fallback;font-weight:400}.__variable_2810ed{--font-sofia:"sofia","sofia Fallback"}@font-face{font-family:roboto;src:url(/_next/static/media/893f391137c94f16-s.p.woff2) format("woff2");font-display:swap;font-weight:400}@font-face{font-family:roboto Fallback;src:local("Arial");ascent-override:92.49%;descent-override:24.34%;line-gap-override:0.00%;size-adjust:100.30%}.__className_359d48{font-family:roboto,roboto Fallback;font-weight:400}.__variable_359d48{--font-roboto:"roboto","roboto Fallback"}@font-face{font-family:sansation;src:url(/_next/static/media/834a50d614d65bd4-s.p.ttf) format("truetype");font-display:swap;font-weight:400}@font-face{font-family:sansation Fallback;src:local("Arial");ascent-override:87.94%;descent-override:20.78%;line-gap-override:0.00%;size-adjust:102.94%}.__className_dd3985{font-family:sansation,sansation Fallback;font-weight:400}.__variable_dd3985{--font-sansation:"sansation","sansation Fallback"}@font-face{font-family:sansationBold;src:url(/_next/static/media/4d8a89aaf1daf425-s.p.ttf) format("truetype");font-display:swap;font-weight:700}@font-face{font-family:sansationBold Fallback;src:local("Arial");ascent-override:88.71%;descent-override:20.96%;line-gap-override:0.00%;size-adjust:102.05%}.__className_ba98ed{font-family:sansationBold,sansationBold Fallback;font-weight:700}.__variable_ba98ed{--font-sansation-bold:"sansationBold","sansationBold Fallback"}