@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-inter:"Inter","Inter Fallback"}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--font-inter),sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-16{bottom:4rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-5{right:1.25rem}.right-6{right:1.5rem}.top-0{top:0}.top-5{top:1.25rem}.-z-10{z-index:-10}.-z-20{z-index:-20}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[9998\]{z-index:9998}.mx-auto{margin-left:auto;margin-right:auto}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[3px\]{width:3px}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-0\.5{--tw-translate-y:0.125rem}.translate-y-0\.5,.translate-y-8{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-8{--tw-translate-y:2rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-t-\[3px\]{border-top-width:3px}.border-ink{border-color:var(--ink)}.border-slate-200\/50{border-color:rgba(226,232,240,.5)}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.bg-\[rgba\(17\2c 17\2c 17\2c 0\.4\)\]{background-color:hsla(0,0%,7%,.4)}.bg-bg-panel{background-color:var(--bg-panel)}.bg-blue{background-color:var(--blue)}.bg-ink{background-color:var(--ink)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow{background-color:var(--yellow)}.p-4{padding:1rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-display{font-family:var(--font-display),sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[2rem\]{font-size:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.leading-\[0\.95\]{line-height:.95}.leading-relaxed{line-height:1.625}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.text-ink{color:var(--ink)}.text-ink-muted{color:var(--ink-muted)}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.\!ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\2c transform\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-all{transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--desk:#5370c9;--desk-dot:hsla(0,0%,100%,.07);--window:#f8f8f6;--chrome:#e3e3e1;--chrome-hi:#efefed;--frame:#8d9099;--rule:#d4d5d8;--ink:#16181d;--muted:#4b5060;--cobalt:#2350d8;--cobalt-deep:#1b3fae;--cobalt-soft:#e4ebfd;--green:#1d7a45;--shadow:0 1px 0 rgba(16,24,56,.08),0 14px 28px -16px rgba(16,24,56,.55);--mono:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--bg:var(--desk);--bg-panel:var(--window);--ink-muted:var(--muted);--yellow:#f3d9a4;--red:#e0907a;--blue:#a9c4ff;--lilac:#d8cdea}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--desk)}body{color:var(--ink);background-color:var(--desk);background-image:radial-gradient(var(--desk-dot) 1px,transparent 1px);background-size:6px 6px;font-family:var(--font-inter),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:rgba(35,80,216,.18)}:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}.desktop :focus-visible,.shortcuts :focus-visible{outline-color:#fff;box-shadow:0 0 0 5px var(--ink)}.window :focus-visible{outline-color:var(--cobalt);box-shadow:none}::selection{background:var(--cobalt-soft);color:var(--ink)}[id]{scroll-margin-top:64px}h1,h2,h3{text-wrap:balance}.mono{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--muted)}.skip-link{position:absolute;left:12px;top:-80px;z-index:100;padding:10px 14px;background:var(--ink);color:#fff;font-weight:600}.skip-link:focus{top:8px}.menubar{position:sticky;top:0;z-index:50;background:var(--chrome-hi);border-bottom:1px solid var(--frame);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6)}.menubar>nav:not(.mobile-nav){display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1440px;margin:0 auto;padding:0 16px;min-height:48px}.wordmark{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;font-size:15px}.wordmark-mt{font-weight:800;letter-spacing:-.02em;color:var(--cobalt-deep)}.desktop-nav{display:none;align-items:center;gap:4px}.desktop-nav a,.mobile-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:14px;font-weight:500}.desktop-nav a:hover,.mobile-nav a:hover{background:var(--cobalt);color:#fff}.desktop-nav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--cobalt)}.menu-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;border:1px solid var(--frame);background:var(--window);font-size:14px;font-weight:600}.menu-toggle[aria-expanded=true]{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.mobile-nav{display:grid;border-top:1px solid var(--frame);background:var(--window);padding:6px 0}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:0 20px;font-size:16px}.mobile-nav a[aria-current=page]{box-shadow:inset 4px 0 0 var(--cobalt);font-weight:700}@media (min-width:768px){.desktop-nav{display:flex}.menu-toggle,.mobile-nav{display:none!important}}.editorial-icon{width:1em;height:1em;flex:none}.pixel-icon{flex:none;image-rendering:pixelated}.desktop{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:20px 12px 40px}.desktop-windows{display:grid;gap:20px;min-width:0}@media (min-width:768px){.desktop{padding:32px 24px 56px}.desktop-windows{gap:28px}}.window{min-width:0;background:var(--window);border:1px solid var(--frame);border-radius:6px 6px 3px 3px;box-shadow:var(--shadow);overflow:hidden}.window-bar{display:flex;align-items:center;gap:10px;min-height:34px;padding:6px 10px;background:linear-gradient(var(--chrome-hi),var(--chrome));border-bottom:1px solid var(--frame)}.window-lights{display:inline-flex;gap:6px;flex:none}.window-lights i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.28);background:#ec5f57}.window-lights i:nth-child(2){background:#f4bd4f}.window-lights i:nth-child(3){background:#5fc454}.window .window-title{flex:1;margin:0;min-width:0;font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.window-meta{font-family:var(--mono);font-size:12px;color:var(--muted);text-align:right}.window-zoom{flex:none;width:14px;height:14px;border:1px solid var(--frame);background:linear-gradient(var(--frame),var(--frame)) 3px 3px /6px 1px no-repeat,linear-gradient(var(--frame),var(--frame)) 3px 3px /1px 6px no-repeat,var(--chrome-hi)}@media (max-width:479px){.experience-entry .window-meta{display:none}}.window-body{padding:20px}.window-body>:first-child{margin-top:0}.window-body>:last-child{margin-bottom:0}@media (min-width:768px){.window-body{padding:28px}}.window h1{margin:0 0 8px;font-size:clamp(2.25rem,7vw,3.25rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}.window h3{margin:0;font-size:17px;font-weight:700}.window p{margin:0 0 12px;max-width:64ch}.window-body a:not(.button):not(.work-row):not(.mark-link){color:var(--cobalt);text-decoration:underline;text-underline-offset:3px}.window-body a:not(.button):not(.work-row):not(.mark-link):hover{color:var(--cobalt-deep);text-decoration-thickness:2px}.button-row,.link-row{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:20px}.link-row{gap:0 20px;margin-top:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid var(--frame);border-radius:3px;background:var(--window);box-shadow:0 1px 0 rgba(0,0,0,.06);font-weight:600;font-size:15px;transition:background-color .12s}.button:hover{background:var(--chrome-hi)}.button:active{background:var(--chrome);transform:translateY(1px)}.button-primary{background:var(--cobalt);border-color:var(--cobalt-deep);color:#fff}.button-primary:active,.button-primary:hover{background:var(--cobalt-deep)}.text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600}.tag-line{color:var(--muted)}.status,.tag-line{font-family:var(--mono);font-size:13px}.status{display:inline-flex;align-items:center;gap:8px;color:var(--green)}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.icon-list{margin:0 0 4px;padding:0;list-style:none;display:grid;gap:4px}.icon-list li{display:flex;align-items:center;gap:16px;min-height:48px;font-size:17px;font-weight:500}.hello-icon{margin-bottom:16px}.hello-lede{font-size:clamp(1.15rem,3.5vw,1.4rem);font-weight:500}.caret{display:inline-block;width:.5em;height:1.1em;margin-left:4px;vertical-align:-.18em;background:var(--cobalt)}.work-list{margin:0;padding:0;list-style:none}.work-list li+li{border-top:1px solid var(--rule)}.work-row{display:grid;grid-template-columns:56px minmax(0,1fr) 20px;align-items:center;gap:16px;min-height:72px;padding:14px 8px;margin:0 -8px}.work-row img{width:56px;height:56px;object-fit:contain;border:1px solid var(--rule);background:#fff}.work-row:hover{background:var(--cobalt-soft)}.work-row .editorial-icon{color:var(--muted);font-size:20px}.work-text{display:grid;gap:2px;font-size:14px;color:var(--muted)}.work-text strong{font-size:17px;color:var(--ink)}.work-text small{font-size:13px;font-weight:500;color:var(--muted)}.work-blurb{color:var(--ink)}.bootprint-layout,.glide-layout{display:grid;gap:24px}.bootprint-shot,.glide-shot{margin:0}.bootprint-shot a,.glide-shot a{display:block;overflow:hidden;border:1px solid var(--frame);background:#fff}.product-image{display:block;width:100%;height:auto}.archive-image figcaption,.bootprint-shot figcaption,.glide-shot figcaption,.study-art figcaption{margin-top:8px;font-family:var(--mono);font-size:12px;color:var(--muted)}.bootprint-lede{font-size:clamp(1.2rem,3vw,1.45rem);font-weight:600;line-height:1.3}.workflow{display:grid;gap:20px;margin-top:28px;padding-top:24px;border-top:1px solid var(--rule)}.workflow-controls ol{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.workflow-controls button{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 12px;border:1px solid var(--frame);border-radius:3px;background:var(--window);text-align:left}.workflow-controls button:hover{background:var(--chrome-hi)}.workflow-controls button[aria-pressed=true]{background:var(--cobalt);border-color:var(--cobalt-deep);color:#fff}.workflow-controls button span:last-child{display:grid}.workflow-controls small{font-size:13px;opacity:.85}.step-number{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid;font-family:var(--mono);font-size:13px}.system-diagram{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:28px;touch-action:pan-y;cursor:grab;user-select:none}.system-diagram.is-dragging,.system-diagram:active{cursor:grabbing}.system-diagram.is-dragging .system-dot,.system-diagram.is-dragging .system-rail-fill{transition:none}.system-rail{position:absolute;top:8px;left:calc(100% / 6);right:calc(100% / 6);height:4px;background:var(--rule)}.system-rail-fill{inset:0 auto 0 0;width:calc(var(--step) * 50%);transition:width .6s ease}.system-dot,.system-rail-fill{position:absolute;background:var(--cobalt)}.system-dot{top:-6px;left:calc(var(--step) * 50%);width:16px;height:16px;margin-left:-8px;border:2px solid #fff;box-shadow:0 0 0 1px var(--cobalt-deep);transition:left .6s ease}.system-node{display:grid;gap:4px;align-content:start;min-height:84px;padding:10px;border:1px solid var(--rule);background:#fff;font-size:14px;overflow-wrap:anywhere}.system-node.active{border-color:var(--cobalt);box-shadow:inset 0 0 0 1px var(--cobalt)}.workflow-detail{padding:14px;border:1px dashed var(--frame);background:#fff}.workflow-detail p{margin:6px 0 0}.workflow-detail .note{font-size:13px;color:var(--muted)}.evidence-grid{display:grid;gap:16px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--rule)}.evidence-grid dt,.study-copy dt{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.evidence-grid dd,.study-copy dd{margin:4px 0 0}@media (min-width:768px){.bootprint-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.glide-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.workflow{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr)}.workflow-detail{grid-column:1/-1}.evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.study-layout{display:grid;gap:24px}.study-art{margin:0}.experience-marks,.study-marks{display:flex;align-items:center;gap:12px}.experience-marks img,.study-marks img{display:block;width:96px;height:96px;object-fit:contain;border:1px solid var(--rule);background:#fff}.experience-marks .former-mark,.study-marks .former-mark{width:56px;height:56px}.experience-marks img{width:64px;height:64px}.experience-marks .former-mark{width:44px;height:44px}.mark-lineage{color:var(--muted)}.mark-link{display:block}.study-metric{display:grid;margin-top:20px!important}.study-metric strong{font-size:2.5rem;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--cobalt-deep)}.study-metric span{font-size:14px;color:var(--muted)}.study-title{font-size:clamp(1.25rem,3vw,1.6rem);font-weight:700;line-height:1.25}.role{font-weight:500;color:var(--muted)}.study-copy dl{display:grid;gap:14px;margin:18px 0 0}@media (min-width:768px){.study-layout{grid-template-columns:200px minmax(0,1fr);gap:36px}}.archive-row{display:grid;gap:10px;padding:20px 0;border-top:1px solid var(--rule)}.archive-row:first-child{padding-top:0;border-top:0}.archive-row:last-child{padding-bottom:0}.archive-head .status{margin:4px 0 0}.archive-image{margin:16px 0;max-width:640px}.archive-image a{display:block;border:1px solid var(--frame)}.archive-image img{display:block;width:100%;height:auto}@media (min-width:768px){.archive-row{grid-template-columns:220px minmax(0,1fr);gap:28px}}.jump-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.window-body .jump-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--frame);background:#fff;color:var(--ink);text-decoration:none;font-weight:500}.window-body .jump-links a:hover{background:var(--cobalt-soft);color:var(--ink)}.info-list{display:grid;margin:12px 0 0}.info-list div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}.info-list dt{font-family:var(--mono);font-size:13px;color:var(--muted)}.info-list dd{margin:0;font-weight:500}.stat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.stat-list li{display:grid;gap:4px;padding:14px;border:1px solid var(--rule);background:#fff}.stat-list strong{font-size:2rem;font-weight:800;line-height:1;color:var(--cobalt-deep)}.stat-list span{font-size:14px;color:var(--muted)}.tool-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.tool-list li{padding:6px 10px;border:1px solid var(--rule);background:#fff;font-family:var(--mono);font-size:13px}.note-window .window-body{background:repeating-linear-gradient(transparent 0 31px,#e6e1c8 31px 32px),#fffbe8}.note-window blockquote{margin:0;font-family:var(--mono);font-size:16px;line-height:32px}.experience-layout{display:grid;gap:20px}.experience-body{min-width:0}.experience-location,.experience-subtext{color:var(--muted);font-size:14px}.experience-role{font-size:18px;font-weight:700;margin-bottom:4px!important}.experience-brief{margin-top:12px!important}.experience-body details{margin-top:8px;border:1px solid var(--rule);background:#fff}.experience-body summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;cursor:pointer;font-weight:600;list-style:none}.experience-body summary::-webkit-details-marker{display:none}.experience-body summary:hover{background:var(--cobalt-soft)}.disclosure{display:inline-flex;color:var(--cobalt)}details[open] .disclosure{transform:rotate(90deg)}.experience-body .contribution-list{margin:0;padding:0;list-style:none}.experience-body .contribution-list li{position:relative;margin:0;padding:14px 16px 14px 2.15rem;border-top:1px solid var(--rule);overflow-wrap:break-word}.experience-body .contribution-list li:before{content:"";position:absolute;top:calc(14px + .75em);left:.9rem;width:.45em;height:.45em;border-radius:50%;background:var(--cobalt);transform:translateY(-50%)}@media (min-width:768px){.experience-layout{grid-template-columns:140px minmax(0,1fr);gap:28px}}.shortcuts{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:28px}.shortcuts a{display:grid;justify-items:center;gap:6px;width:96px;min-height:88px;padding:8px 4px;border-radius:4px;color:#fff;font-size:13px;font-weight:500;text-align:center;text-shadow:0 1px 2px rgba(10,20,60,.6)}.shortcuts a:hover span{background:var(--cobalt-deep)}.shortcuts span{padding:1px 6px;border-radius:2px}@media (min-width:768px){.home-windows{grid-template-columns:repeat(2,minmax(0,1fr))}.home-windows .bootprint-window,.home-windows .hello-window{grid-column:1/-1}.about-windows{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.about-windows .intro-window,.about-windows .tools-window{grid-column:1/-1}.page-windows .intro-window{max-width:760px}}@media (min-width:1100px){.desktop:has(.shortcuts){display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:24px}.shortcuts{flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;align-items:center;margin-top:0;gap:12px}.home-windows{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:28px}.home-windows .hello-window{grid-column:1/6;grid-row:1}.home-windows .bootprint-window{grid-column:6/13;grid-row:1;margin-top:28px}.home-windows .work-window{grid-column:1/7;grid-row:2;margin-left:32px}.home-windows .clock-window{grid-column:7/11;grid-row:2;margin-top:56px}.home-windows .bootprint-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.about-windows{grid-template-columns:repeat(12,minmax(0,1fr))}.about-windows .intro-window{grid-column:1/8}.about-windows #profile{grid-column:8/13;grid-row:1/3;margin-top:32px}.about-windows #numbers{grid-column:1/5;margin-left:32px}.about-windows #interests{grid-column:5/8}.about-windows .tools-window{grid-column:1/9}.about-windows .note-window{grid-column:9/13;margin-top:24px}.page-windows:not(.about-windows)>.window:nth-child(2n){margin-left:48px}.page-windows:not(.about-windows)>.window{max-width:1120px}}.taskbar{margin-top:auto;background:var(--chrome-hi);border-top:1px solid var(--frame);font-size:14px}.taskbar-inner{display:grid;gap:16px;max-width:1440px;margin:0 auto;padding:20px 16px 28px}.taskbar-id{display:flex;align-items:flex-start;gap:14px}.taskbar-id p{margin:10px 0 0;color:var(--muted)}.taskbar-id p a{display:inline-flex;align-items:center;min-height:44px;color:var(--cobalt);font-weight:600;text-decoration:underline;text-underline-offset:3px}.taskbar .wordmark{padding:0 10px;border:1px solid var(--frame);background:var(--window)}.taskbar nav,.taskbar-socials{display:flex;flex-wrap:wrap;gap:0 4px}.taskbar nav a,.taskbar-socials a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 10px;font-weight:500}.taskbar nav a:hover,.taskbar-socials a:hover{background:var(--cobalt);color:#fff}.taskbar-copy{margin:0;font-family:var(--mono);font-size:12px;color:var(--muted)}@media (min-width:1100px){.taskbar-inner{grid-template-columns:minmax(0,1.2fr) auto auto;align-items:center;padding:16px 24px}.taskbar-copy{grid-column:1/-1}}.party-windows{position:relative;z-index:1;max-width:720px;margin:0 auto}.party-gate-window{max-width:480px}.party-window h1{margin:4px 0 8px;font-size:clamp(2rem,8vw,3.25rem);line-height:1.05;letter-spacing:-.03em}.party-form{display:grid;gap:14px;margin-top:8px}.party-field{display:grid;gap:6px}.party-field label{font-weight:600}.party-field input{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--frame);border-radius:3px;background:#fff;color:var(--ink);font:inherit}.party-field input[aria-invalid=true]{border-color:#9b1c1c;box-shadow:inset 3px 0 0 #9b1c1c}.party-alert{margin:0;color:#9b1c1c;font-weight:600}.party-stage{position:relative;min-width:0}.party-sky{position:absolute;inset:0;overflow:hidden;pointer-events:none}.party-balloon{position:absolute;width:46px;height:auto}.party-balloon-a{left:2%;top:4%}.party-balloon-b{left:16%;top:16%}.party-balloon-c{right:3%;top:2%}.party-balloon-d{right:18%;top:18%}.party-confetti{position:absolute;left:var(--x);top:var(--y);width:8px;height:12px;background:var(--color);border-radius:2px;transform:rotate(var(--rot))}.party-cast{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;gap:8px;min-width:0;margin-top:8px}.party-hamster-wrap{width:28%;max-width:180px;min-width:0}.party-hamster-lead{width:36%;max-width:260px}.party-hamster-wrap.flip{transform:scaleX(-1)}.party-hamster{display:block;width:100%;height:auto;overflow:visible}.party-pause{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.party-pause-label{margin-top:12px}.party-pause:checked~.party-stage .when-playing,.when-paused{display:none}.party-pause:checked~.party-stage .when-paused{display:inline}.party-pause:focus-visible~.party-stage .party-pause-label{outline:3px solid var(--cobalt);outline-offset:2px}.party-pause:checked~.party-stage .party-balloon,.party-pause:checked~.party-stage .party-confetti,.party-pause:checked~.party-stage .party-hamster,.party-pause:checked~.party-stage .party-hat,.party-pause:checked~.party-stage .party-held,.party-pause:checked~.party-stage .party-paw{animation-play-state:paused}@media (prefers-reduced-motion:no-preference){.party-confetti{animation:party-fall 4.8s linear infinite;animation-delay:var(--delay)}.party-balloon{animation:party-float 3.2s ease-in-out infinite}.party-balloon-b{animation-delay:-.6s}.party-balloon-c{animation-delay:-1.2s}.party-balloon-d{animation-delay:-1.8s}.party-hamster{animation:party-hop 1.15s ease-in-out infinite}.party-hamster-wrap:nth-child(3) .party-hamster{animation-delay:-.35s}.party-hamster-wrap:nth-child(4) .party-hamster{animation-delay:-.7s}.party-held{animation:party-sway 2.6s ease-in-out infinite}.party-hat,.party-held{transform-box:fill-box;transform-origin:center bottom}.party-hat{animation:party-sway 1.15s ease-in-out infinite}.party-paw{animation:party-wave .7s ease-in-out infinite alternate}}@keyframes party-fall{0%{transform:translateY(-110vh) rotate(var(--rot))}to{transform:translateY(110vh) rotate(var(--rot))}}@keyframes party-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes party-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@keyframes party-sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes party-wave{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sky{display:none}@media (prefers-reduced-motion:no-preference){:root{interpolate-size:allow-keywords}.desktop,.taskbar{position:relative;z-index:1}.desktop-windows>.window{animation:window-open .46s cubic-bezier(.2,.9,.3,1.15) both}.desktop-windows>.window:nth-child(2){animation-delay:80ms}.desktop-windows>.window:nth-child(3){animation-delay:.16s}.desktop-windows>.window:nth-child(n+4){animation-delay:.24s}@supports (animation-timeline:view()){.page-windows>.window:nth-child(n+3){animation:window-rise linear both;animation-timeline:view();animation-range:entry 0 entry 70%}}@media (hover:hover){.window{transition:box-shadow .2s ease,translate .2s ease}.window:hover{translate:0 -2px;box-shadow:0 1px 0 rgba(16,24,56,.08),0 24px 40px -18px rgba(16,24,56,.6)}.window-lights i{transition:background-color .2s ease}.desktop-windows:has(>.window:hover)>.window:not(:hover) .window-lights i{background:#c5c7cc}}.caret{animation:caret-blink 1s steps(1) .7s 4}.shortcuts a{animation:icon-drop .42s steps(4) both}.shortcuts a:nth-child(2){animation-delay:60ms}.shortcuts a:nth-child(3){animation-delay:.12s}.shortcuts a:nth-child(4){animation-delay:.18s}.shortcuts a:nth-child(5){animation-delay:.24s}.shortcuts a:nth-child(6){animation-delay:.3s}.shortcuts a:is(:hover,:focus-visible) .pixel-icon{animation:icon-hop .38s steps(4)}.shortcuts a:active .pixel-icon{filter:brightness(.55)}:is(.button,.work-row,.text-link) .editorial-icon{transition:translate .16s ease}:is(.button,.work-row,.text-link):hover .editorial-icon{translate:3px 0}:is(.button,.work-row,.text-link):hover .editorial-icon[data-icon=arrow-up-right]{translate:2px -2px}.work-row img{transition:rotate .16s ease,scale .16s ease}.work-row:hover img{rotate:-4deg;scale:1.06}:is(.bootprint-shot,.glide-shot) img{transition:scale .6s cubic-bezier(.2,.8,.2,1)}:is(.bootprint-shot,.glide-shot) a:hover img{scale:1.035}.experience-body details::details-content{block-size:0;overflow:clip;transition:block-size .28s ease,content-visibility allow-discrete .28s}.experience-body details[open]::details-content{block-size:auto}.disclosure{transition:transform .2s ease}.sky{display:block;position:fixed;inset:0;z-index:2;overflow:hidden;pointer-events:none}.sky-plane{position:absolute;top:42%;left:0;translate:-80px 0;animation:plane-cross 6.5s cubic-bezier(.45,.05,.55,.95) 1s both}.sky-plane .pixel-icon{display:block;filter:drop-shadow(0 8px 0 rgba(16,24,56,.22));animation:plane-bob 1.1s ease-in-out 1s 6 alternate both}}@keyframes window-open{0%{scale:.94;outline:2px dashed hsla(0,0%,100%,.9);outline-offset:40px}to{scale:1;outline:2px dashed hsla(0,0%,100%,0);outline-offset:0}}@keyframes window-rise{0%{scale:.94;translate:0 24px}}@keyframes caret-blink{50%{visibility:hidden}}@keyframes icon-drop{0%{translate:0 -14px}}@keyframes icon-hop{50%{translate:0 -8px}}@keyframes plane-cross{0%{translate:-80px 14vh}45%{translate:45vw -4vh}to{translate:calc(100vw + 80px) -26vh}}@keyframes plane-bob{0%{rotate:-6deg}to{rotate:6deg;translate:0 -10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition-duration:.01ms!important;animation:none!important}.button:active{transform:none}}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:p-10{padding:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:text-7xl{font-size:4.5rem;line-height:1}}