@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.11.cyxs5p-0z~.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.16t1db8_9y2o~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0}}}:root,:host{--spacing:.25rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.mx-auto{margin-inline:auto}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.flex{display:flex}.grid{display:grid}.h-full{height:100%}.min-h-full{min-height:100%}.w-full{width:100%}.max-w-\[23\.5rem\]{max-width:23.5rem}.flex-1{flex:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 7) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 7) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-7{padding-block:calc(var(--spacing) * 7)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[1\.03rem\]{font-size:1.03rem}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (min-width:40rem){.sm\:max-w-6xl{max-width:var(--container-6xl)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.sm\:space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:pb-10{padding-bottom:calc(var(--spacing) * 10)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-1:#003cf0;--brand-2:#5e00f0;--brand-3:#1100f0;--brand-4:#0088f0;--brand-5:#ad00f0;--background:#f5f8ff;--foreground:#101a5c;--card:#fff;--line:var(--brand-1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@supports (color:color-mix(in lab, red, red)){:root{--line:color-mix(in oklab, var(--brand-1) 22%, white 78%)}}:root{--accent:var(--brand-1);--accent-2:var(--brand-5);--muted:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--muted:color-mix(in oklab, var(--foreground) 74%, white 26%)}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#090e24;--foreground:#e8edff;--card:#10183a;--line:var(--brand-4)}@supports (color:color-mix(in lab, red, red)){:root{--line:color-mix(in oklab, var(--brand-4) 36%, #000 64%)}}:root{--accent:var(--brand-4);--accent-2:var(--brand-5);--muted:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--muted:color-mix(in oklab, var(--foreground) 84%, #9fb5ff 16%)}}body{background:radial-gradient(circle at 5% 0%, var(--brand-4), transparent 36%), radial-gradient(circle at 95% 10%, var(--brand-5), transparent 34%), var(--background)}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at 5% 0%, color-mix(in oklab, var(--brand-4) 24%, transparent), transparent 36%), radial-gradient(circle at 95% 10%, color-mix(in oklab, var(--brand-5) 22%, transparent), transparent 34%), var(--background)}}body{color:var(--foreground);background-repeat:no-repeat}.top-nav-wrap{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.top-nav-wrap{background:color-mix(in oklab, var(--background) 88%, black 12%)}}.site-footer{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.site-footer{color:color-mix(in oklab, var(--foreground) 74%, var(--background) 26%)}}}*,:before,:after{box-sizing:border-box}html,body{width:100%;margin:0;padding:0}body{background:radial-gradient(circle at 5% 0%, var(--brand-4), transparent 35%), radial-gradient(circle at 95% 10%, var(--brand-5), transparent 32%), var(--background);min-height:100dvh}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at 5% 0%, color-mix(in oklab, var(--brand-4) 20%, transparent), transparent 35%), radial-gradient(circle at 95% 10%, color-mix(in oklab, var(--brand-5) 18%, transparent), transparent 32%), var(--background)}}body{color:var(--foreground);font-family:var(--font-geist-sans), "Trebuchet MS", sans-serif;background-repeat:no-repeat;line-height:1.55;overflow-x:hidden}.site-shell a:not(.cta-primary):not(.cta-secondary):not(.nav-link):not(.brand-mark){color:var(--accent);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px;transition:opacity .16s}.site-shell a:not(.cta-primary):not(.cta-secondary):not(.nav-link):not(.brand-mark):hover{opacity:.78}.site-shell :is(a,button,select):focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.site-shell :is(a,button,select):focus-visible{outline:3px solid color-mix(in oklab, var(--accent) 70%, white 30%)}}.site-shell :is(a,button,select):focus-visible{outline-offset:3px;border-radius:.5rem}.top-nav-wrap{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf7f1eb;background:var(--background);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.top-nav-wrap{background:color-mix(in oklab, var(--background) 86%, white 14%)}}.top-nav-wrap{border-bottom:1px solid var(--line)}.top-nav{justify-content:space-between;align-items:center;gap:.75rem;max-width:72rem;margin:0 auto;padding:.85rem 1.25rem;display:flex}.brand-mark{border:1px solid var(--line);background:var(--card);border-radius:999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-weight:700;text-decoration:none;display:inline-flex}.nav-shell{align-items:center;display:flex;position:relative}.nav-mobile-disclosure{display:none;position:relative}.nav-toggle{border:1px solid var(--line);background:var(--card);color:var(--foreground);border-radius:999px;padding:.62rem .95rem;font-size:.92rem;font-weight:700;line-height:1;display:none}.nav-toggle::-webkit-details-marker{display:none}.nav-links{align-items:center;gap:.25rem;display:flex}.nav-links-mobile{display:none}.nav-link{color:var(--foreground);border-radius:999px;padding:.45rem .8rem;font-size:.95rem;line-height:1.2;text-decoration:none}.nav-link:hover{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.nav-link:hover{background:color-mix(in oklab, var(--accent) 10%, transparent)}}.nav-link[aria-current=page]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.nav-link[aria-current=page]{background:color-mix(in oklab, var(--accent) 16%, transparent)}}.nav-link[aria-current=page]{font-weight:700}.hero-panel,.info-panel,.project-card{border:1px solid var(--line);background:var(--card);box-shadow:0 1px 0 var(--brand-3), 0 8px 20px var(--brand-1);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){.hero-panel,.info-panel,.project-card{box-shadow:0 1px 0 color-mix(in oklab, var(--brand-3) 14%, transparent), 0 8px 20px color-mix(in oklab, var(--brand-1) 9%, transparent)}}.hero-panel{background:radial-gradient(circle at 10% 0%, var(--brand-4), transparent 38%), linear-gradient(145deg, var(--card), var(--card) 60%), var(--card);padding:1.5rem}@supports (color:color-mix(in lab, red, red)){.hero-panel{background:radial-gradient(circle at 10% 0%, color-mix(in oklab, var(--brand-4) 14%, transparent), transparent 38%), linear-gradient(145deg, color-mix(in oklab, var(--card) 96%, var(--brand-1) 4%), var(--card) 60%), var(--card)}}.section-block{gap:.75rem;display:grid}.section-box{border:1px solid var(--line);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.section-box{border:1px solid color-mix(in oklab, var(--line) 84%, var(--accent) 16%)}}.section-box{background:linear-gradient(180deg, var(--brand-4), var(--brand-2) 35%, transparent), var(--card)}@supports (color:color-mix(in lab, red, red)){.section-box{background:linear-gradient(180deg, color-mix(in oklab, var(--brand-4) 10%, transparent), color-mix(in oklab, var(--brand-2) 4%, transparent) 35%, transparent), var(--card)}}.section-box{box-shadow:inset 0 1px 0 #ffffff80, 0 6px 16px var(--brand-1);padding:1rem}@supports (color:color-mix(in lab, red, red)){.section-box{box-shadow:inset 0 1px 0 #ffffff80, 0 6px 16px color-mix(in oklab, var(--brand-1) 8%, transparent)}}.section-box{transition:transform .22s,box-shadow .22s,border-color .22s}.section-box:hover{border-color:var(--line);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.section-box:hover{border-color:color-mix(in oklab, var(--line) 70%, var(--accent) 30%)}}.section-box:hover{box-shadow:inset 0 1px 0 #ffffff80, 0 10px 26px var(--brand-1)}@supports (color:color-mix(in lab, red, red)){.section-box:hover{box-shadow:inset 0 1px 0 #ffffff80, 0 10px 26px color-mix(in oklab, var(--brand-1) 12%, transparent)}}.section-content-grid{gap:.85rem;margin-top:.95rem;display:grid}.section-intro{margin-bottom:.2rem}.sub-panel{border:1px solid var(--line);border-radius:.8rem}@supports (color:color-mix(in lab, red, red)){.sub-panel{border:1px solid color-mix(in oklab, var(--line) 88%, white 12%)}}.sub-panel{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.sub-panel{background:color-mix(in oklab, var(--card) 94%, white 6%)}}.sub-panel{padding:.85rem}.eyebrow{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.6rem;font-size:.84rem;font-weight:700}.hero-title{max-width:24ch;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:800;line-height:1.1}.hero-copy{max-width:62ch;color:var(--muted);margin-top:.9rem;margin-bottom:1.15rem}.cta-primary,.cta-secondary{text-align:center;border-radius:999px;justify-content:center;align-items:center;min-height:2.65rem;padding:.62rem 1rem;font-weight:600;display:inline-flex}.cta-primary{background:var(--accent);color:#fff8f4;box-shadow:0 8px 18px var(--accent);text-decoration:none}@supports (color:color-mix(in lab, red, red)){.cta-primary{box-shadow:0 8px 18px color-mix(in oklab, var(--accent) 34%, transparent)}}.cta-secondary{border:1px solid var(--line);color:var(--foreground);text-decoration:none}.cta-primary:hover,.cta-secondary:hover{transform:translateY(-1px)}.section-title{letter-spacing:.01em;margin-bottom:.4rem;font-size:clamp(1.1rem,1rem + .35vw,1.28rem);font-weight:700}.section-heading{animation:.42s both rise-in}.info-panel{padding:1.1rem}.stack-list{color:var(--muted);gap:.5rem;display:grid}.project-card{background:var(--card);padding:1rem}@supports (color:color-mix(in lab, red, red)){.project-card{background:color-mix(in oklab, var(--card) 92%, #fff 8%)}}.project-card{transition:transform .22s,box-shadow .22s,border-color .22s}.project-card:hover{border-color:var(--line);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{border-color:color-mix(in oklab, var(--line) 66%, var(--accent) 34%)}}.project-card:hover{box-shadow:0 2px 0 var(--brand-3), 0 14px 30px var(--brand-1)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{box-shadow:0 2px 0 color-mix(in oklab, var(--brand-3) 18%, transparent), 0 14px 30px color-mix(in oklab, var(--brand-1) 16%, transparent)}}.project-card-top{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.project-title{font-weight:700}.status-pill{border:1px solid var(--accent-2);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.status-pill{border:1px solid color-mix(in oklab, var(--accent-2) 55%, var(--line) 45%)}}.status-pill{background:var(--accent-2)}@supports (color:color-mix(in lab, red, red)){.status-pill{background:color-mix(in oklab, var(--accent-2) 18%, transparent)}}.status-pill{color:var(--accent-2)}@supports (color:color-mix(in lab, red, red)){.status-pill{color:color-mix(in oklab, var(--accent-2) 86%, white 14%)}}.status-pill{padding:.2rem .65rem;font-size:.76rem;font-weight:700;box-shadow:inset 0 0 0 1px #fff3;box-shadow:inset 0 0 0 1px lab(100% -.0000298023 .0000119209/.2)}.project-summary{color:var(--muted);margin-top:.45rem}.project-stack{color:var(--foreground);margin-top:.7rem;font-size:.86rem}@supports (color:color-mix(in lab, red, red)){.project-stack{color:color-mix(in oklab, var(--foreground) 80%, var(--brand-2) 20%)}}.project-links{flex-wrap:wrap;gap:.55rem;margin-top:.8rem;display:flex}.project-links a{border:1px solid var(--line);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.project-links a{border:1px solid color-mix(in oklab, var(--line) 68%, var(--accent) 32%)}}.project-links a{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.project-links a{background:color-mix(in oklab, var(--card) 80%, white 20%)}}.project-links a{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.project-links a{color:color-mix(in oklab, var(--foreground) 88%, var(--accent-2) 12%)}}.project-links a{padding:.32rem .7rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:border-color .18s,color .18s,transform .18s}.project-links a:hover{border-color:var(--accent);transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.project-links a:hover{border-color:color-mix(in oklab, var(--accent) 55%, var(--line) 45%)}}.project-links a:hover{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-links a:hover{color:color-mix(in oklab, var(--accent) 78%, var(--foreground) 22%)}}.section-box,.hero-panel,.info-panel,.project-card,.sub-panel{animation:.42s both rise-in}@keyframes rise-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.top-nav-wrap{position:sticky}.top-nav{align-items:flex-start;padding:.7rem 1rem}.nav-shell{align-items:flex-start;margin-left:auto}.nav-toggle{cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex}.nav-links-desktop{display:none}.nav-mobile-disclosure{display:block}.nav-links-mobile{z-index:20;border:1px solid var(--line);background:var(--card);border-radius:.85rem;flex-direction:column;align-items:stretch;gap:.3rem;width:min(16rem,100vw - 2rem);display:none;position:absolute;top:calc(100% + .45rem);right:0}@supports (color:color-mix(in lab, red, red)){.nav-links-mobile{background:color-mix(in oklab, var(--card) 94%, var(--background) 6%)}}.nav-links-mobile{box-shadow:0 14px 32px var(--brand-1)}@supports (color:color-mix(in lab, red, red)){.nav-links-mobile{box-shadow:0 14px 32px color-mix(in oklab, var(--brand-1) 20%, transparent)}}.nav-links-mobile{padding:.45rem}.nav-mobile-disclosure[open] .nav-links-mobile{display:flex}.nav-link{width:100%;padding:.65rem .85rem}.hero-title{max-width:none;font-size:clamp(1.45rem,7.2vw,1.85rem);line-height:1.08}.hero-copy{margin-top:.75rem;margin-bottom:1rem;font-size:.96rem}.hero-panel{padding:1rem}.section-box,.info-panel,.project-card,.sub-panel{border-radius:.8rem;padding:.82rem}.section-title{margin-bottom:.28rem;font-size:1.02rem}.stack-list,.project-summary,.project-stack{font-size:.94rem}.section-content-grid{gap:.62rem;margin-top:.72rem}.project-summary{margin-top:.38rem}.project-stack{margin-top:.52rem}.project-links{margin-top:.65rem}.project-card-top{flex-direction:column;align-items:flex-start;gap:.42rem}.status-pill{align-self:flex-start}}@media (min-width:641px){.nav-shell{gap:.2rem}.nav-links{width:auto;box-shadow:none;background:0 0;border:0;flex-direction:row;padding:0;position:static;display:flex!important}.nav-links-mobile{display:none!important}.nav-mobile-disclosure{display:none}}@media (prefers-reduced-motion:reduce){.site-shell a:not(.cta-primary):not(.cta-secondary):not(.nav-link):not(.brand-mark){transition:none}.section-box,.hero-panel,.info-panel,.project-card,.sub-panel,.section-heading,.cta-primary,.cta-secondary{transition:none;animation:none;transform:none}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}
