@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.111odzyf_79w_.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Gu9_cG__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Gu9_cG__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.11tlzvxxbe5bj.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__PwOy0G__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__PwOy0G__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:var(--font-geist-sans), system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--color-red-400:#ff6568;--color-gray-400:#99a1af;--color-gray-800:#1e2939;--color-black:#0a0a0a;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--leading-relaxed:1.625;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-cyan:#06b6d4;--color-cyan-subtle:#164e63}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-800:lab(16.1051% -1.18239 -11.7533)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{color:#f5f5f5;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background:#0a0a0a}::selection{color:#f5f5f5;background:#164e63}:focus-visible{outline-offset:4px;outline:2px solid #06b6d4}h1,h2,h3{letter-spacing:-.025em}a{transition:color .16s,background-color .16s}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.m-2{margin:calc(var(--spacing) * 2)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.inline{display:inline}.inline-block{display:inline-block}.min-h-dvh{min-height:100dvh}.flex-1{flex:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-cyan{color:var(--color-cyan)}.text-gray-400{color:var(--color-gray-400)}.text-red-400{color:var(--color-red-400)}.uppercase{text-transform:uppercase}}.wordmark{letter-spacing:-.04em;font-size:.9375rem;font-weight:650}.wordmark span{color:#06b6d4}.portfolio-nav{z-index:40;position:sticky;top:0}.section-nav a{align-items:center;gap:.5rem;display:inline-flex}.section-nav svg{display:none}.section-nav a[aria-current]{color:#22d3ee}.language-menu>summary{align-items:center;gap:.4rem;min-height:44px;display:flex}.language-menu a span{float:right;color:#22d3ee}.detail-page{padding-block:1.5rem}.back-link{color:#06b6d4;padding-block:.5rem;font-size:.8125rem;display:inline-flex}.detail-heading{border-bottom:1px solid #292929;padding-block:1.25rem}.detail-heading h1{margin-top:.5rem;font-size:clamp(1.5rem,4vw,2.25rem);font-weight:600;line-height:1.25}.detail-meta{color:#a3a3a3;margin-top:1rem;font-size:.8125rem;line-height:1.8}.detail-content{color:#b5b5b5;padding-top:1.5rem;font-size:.9375rem;line-height:1.85}.detail-content>p+p{margin-top:1rem}.detail-content section{margin-top:2rem}.detail-content h2{color:#f5f5f5;margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.detail-quote{color:#d4d4d4;border-left:2px solid #06b6d4;margin-bottom:1.5rem;padding-left:1.25rem;font-size:1.125rem}@supports (interpolate-size:allow-keywords){.entry,.more-projects{interpolate-size:allow-keywords}.entry::details-content{opacity:0;block-size:0;transition:block-size .26s cubic-bezier(.2, .7, .2, 1), opacity .18s ease, content-visibility .26s allow-discrete;overflow:clip}.more-projects::details-content{opacity:0;block-size:0;transition:block-size .26s cubic-bezier(.2, .7, .2, 1), opacity .18s ease, content-visibility .26s allow-discrete;overflow:clip}.entry[open]::details-content{opacity:1;block-size:auto}.more-projects[open]::details-content{opacity:1;block-size:auto}}::view-transition-group(.page-transition){animation-duration:.22s}::view-transition-old(.page-transition){animation:.14s both page-leave}::view-transition-new(.page-transition){animation:.22s both page-enter}@keyframes page-leave{to{opacity:0}}@keyframes page-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.compact-form{max-width:36rem;margin-block:2rem}.compact-form fieldset{flex-direction:column;gap:1.25rem;display:flex}.compact-form label{color:#c1c1c1;margin-bottom:.5rem;font-size:.875rem;display:block}.compact-form input,.compact-form textarea{color:#f5f5f5;background:#171717;border:1px solid #404040;border-radius:.35rem;width:100%;padding:.75rem;font-size:1rem}.compact-form textarea{resize:vertical}.compact-form button{color:#0a0a0a;cursor:pointer;background:#06b6d4;border-radius:.35rem;align-self:flex-start;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.compact-form fieldset:disabled{opacity:.6}.portfolio-shell{width:min(100%,52rem);margin-inline:auto;padding-inline:1.5rem}.portfolio-nav{border-bottom:1px solid var(--color-gray-800);background:var(--color-black)}.portfolio-nav>div{justify-content:space-between;align-items:center;gap:2rem;min-height:72px;display:flex}.nav-top{align-items:center;gap:1.5rem;display:flex}.section-nav{color:#b5b5b5;gap:1.5rem;font-size:.8125rem;display:flex}.section-nav a{padding-block:.75rem}.section-nav a:hover,.portfolio-footer a:hover{color:var(--color-cyan)}.language-menu{font-size:.75rem;position:relative}.language-menu>summary{cursor:pointer;color:#b5b5b5;padding:.65rem .4rem;list-style:none}.language-menu nav{z-index:60;background:#171717;border:1px solid #333;border-radius:.5rem;min-width:10rem;padding:.4rem;position:absolute;top:100%;left:0;box-shadow:0 10px 30px #0008}.language-menu a{border-radius:.25rem;padding:.6rem .75rem;display:block}.language-menu a:hover,.language-menu a[aria-current]{color:var(--color-cyan);background:#262626}.portfolio-content{padding-top:3rem;padding-bottom:2rem}.profile-heading{align-items:center;gap:1rem;display:flex}.profile-avatar{object-fit:cover;border:1px solid #333;border-radius:50%;width:64px;height:64px}.profile-role{color:var(--color-cyan);margin-bottom:.25rem;font-size:.75rem}.profile-heading h1{font-size:clamp(1.35rem,3vw,1.8rem);font-weight:600;line-height:1.25}.profile-location{color:#a3a3a3;margin-top:.35rem;font-size:.8125rem}.profile-summary{color:#c1c1c1;max-width:65ch;margin-top:1.5rem;font-size:.9375rem;line-height:1.8}.profile-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;margin-top:1.25rem;font-size:.8125rem;display:flex}.profile-actions a{color:#c1c1c1;align-items:center;gap:.6rem;min-height:44px;display:inline-flex}.profile-actions a:hover{color:var(--color-cyan)}.profile-actions .primary-link{color:var(--color-black);background:var(--color-cyan);border-radius:.35rem;padding-inline:1rem;font-weight:600}.profile-actions .primary-link:hover{color:var(--color-black);background:#22d3ee}.portfolio-section{margin-top:2.75rem;scroll-margin-top:1.5rem}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.portfolio-section h2{font-size:1.05rem;font-weight:600}.section-heading>span{font-family:var(--font-mono);color:#8c8c8c;font-size:.75rem}.section-note{color:#a3a3a3;margin-bottom:1rem;font-size:.8125rem;line-height:1.6}.entries{border-top:1px solid #292929}.entry{border-bottom:1px solid #292929;scroll-margin-top:1.5rem}.entry>summary{cursor:pointer;border-radius:.15rem;grid-template-columns:minmax(0,1fr) auto 16px;align-items:start;gap:.75rem;padding:1.15rem 0;list-style:none;display:grid}.entry>summary:hover .entry-title{color:var(--color-cyan)}.entry>summary::-webkit-details-marker{display:none}.language-menu>summary::-webkit-details-marker{display:none}.more-projects>summary::-webkit-details-marker{display:none}.entry-main{flex-direction:column;gap:.25rem;min-width:0;display:flex}.entry-title{color:#f5f5f5;font-size:.9375rem;font-weight:550;line-height:1.5}.entry-role{color:#c1c1c1;font-size:.8125rem;line-height:1.5}.entry-preview{color:#a3a3a3;font-size:.8125rem;line-height:1.6}.entry-date{color:#a3a3a3;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:.3rem;font-size:.6875rem}.current-label{color:var(--color-cyan);border:1px solid var(--color-cyan-subtle);vertical-align:middle;border-radius:1rem;margin-left:.6rem;padding:.05rem .4rem;font-size:.625rem;font-weight:500;display:inline-block}.disclosure-icon{color:#a3a3a3;font-size:1.15rem;line-height:1.4;transition:transform .15s}.entry[open]>summary .disclosure-icon,.more-projects[open]>summary .disclosure-icon{color:var(--color-cyan);transform:rotate(45deg)}.entry-body{border-left:2px solid var(--color-cyan-subtle);color:#b5b5b5;overflow-wrap:anywhere;margin:0 0 1.5rem;padding:0 0 .5rem 1.25rem;font-size:.875rem;line-height:1.8}.entry-body p+p{margin-top:.8rem}.entry-body h3{margin-top:1.25rem;margin-bottom:.4rem;font-size:.8125rem;font-weight:600}.entry-body .entry-location{color:#a3a3a3;margin-bottom:.75rem;font-size:.75rem}.contributions{margin-block:.75rem;padding-left:1.1rem;list-style:outside}.contributions li{margin-block:.4rem;padding-left:.2rem}.contributions li::marker{color:var(--color-cyan)}.tech-list{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.tech-list li{color:#c1c1c1;background:#171717;border:1px solid #292929;border-radius:.25rem;padding:.1rem .5rem;font-size:.6875rem}.entry-links{color:var(--color-cyan);flex-wrap:wrap;gap:.4rem 1.5rem;margin-top:1rem;font-size:.75rem;display:flex}.entry-links a{padding-block:.3rem}.more-projects>summary{cursor:pointer;color:var(--color-cyan);justify-content:space-between;padding-block:1rem;font-size:.8125rem;list-style:none;display:flex}.secondary-sections{border-top:1px solid #292929}.secondary-sections>.entry>summary{grid-template-columns:minmax(0,1fr) 16px}.reference-quote{margin-block:1.25rem}.reference-quote+.reference-quote{border-top:1px solid #292929;padding-top:1.25rem}.reference-quote figcaption{flex-direction:column;margin-top:.65rem;font-size:.75rem;display:flex}.reference-quote figcaption strong{color:#e5e5e5}.reference-quote figcaption a{color:var(--color-cyan)}.contact-section{border-top:1px solid #292929;padding-top:1.5rem}.contact-section p{color:#a3a3a3;margin-top:.6rem;font-size:.875rem;line-height:1.7}.contact-email{width:fit-content;color:var(--color-cyan);margin-top:1rem;padding-block:.4rem;font-size:1.25rem;display:block}.form-link{color:#b5b5b5;padding-block:.6rem;font-size:.8125rem;display:inline-block}.portfolio-footer{color:#a3a3a3;border-top:1px solid #292929;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-block:1rem;font-size:.6875rem;display:flex}.skip-link{z-index:100;color:#0a0a0a;background:#06b6d4;padding:.75rem;position:fixed;top:.5rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media (max-width:600px){.portfolio-shell{padding-inline:1.25rem}.portfolio-nav>div{padding-top:.6rem;display:block}.nav-top{justify-content:space-between}.section-nav{justify-content:space-between;gap:.75rem;padding-block:.25rem}.language-menu nav{left:auto;right:0}.portfolio-content{padding-top:2rem}.profile-avatar{width:48px;height:48px}.profile-heading{gap:.75rem}.entry>summary{grid-template-columns:minmax(0,1fr) 16px;gap:.4rem .6rem}.entry>summary>.entry-main{grid-column:1}.entry-date{grid-area:2/1;padding-top:0}.entry>summary>.disclosure-icon{grid-area:1/2}.entry-body{padding-left:.85rem}}@media print{.portfolio-nav,.profile-actions,.portfolio-footer,.entry-links,.form-link{display:none}.portfolio-content{width:100%;max-width:none}}@media (max-width:600px){.portfolio-nav>.portfolio-shell{min-height:56px;padding-top:0}.nav-top{min-height:56px}.portfolio-nav .section-nav{z-index:50;padding:.4rem 1rem calc(.4rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0af5;border-top:1px solid #292929;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid;position:fixed;inset:auto 0 0}.section-nav a{border-radius:.5rem;flex-direction:column;justify-content:center;gap:.25rem;min-height:48px;padding:.4rem;font-size:.6875rem}.section-nav svg{display:block}.section-nav a[aria-current]{color:#22d3ee;background:#06b6d411}.portfolio-footer{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem;display:grid}.profile-actions a{border:1px solid #292929;border-radius:.35rem;justify-content:center}.profile-actions .primary-link{border-color:#0000}.profile-summary{margin-top:1.25rem;font-size:.875rem}.portfolio-section{margin-top:2rem}.entry>summary{padding-block:1rem}.entry-body{font-size:.875rem}.detail-page{padding-top:1.25rem}}.portfolio-section,.entry,#top{scroll-margin-top:90px}.entry[open]>summary .entry-title{color:#22d3ee}.entry[data-anchor-open]::details-content{transition:none}.more-projects[data-anchor-open]::details-content{transition:none}.reference-entry>summary{grid-template-columns:minmax(0,1fr) 16px}.reference-quote>a{color:#06b6d4;margin-top:.75rem;font-size:.75rem;display:inline-block}.entry>summary{transition:color .16s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(*){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-new(*){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.entry::details-content{transition:none}.more-projects::details-content{transition:none}}main:has(>.landing-page){flex-direction:column;display:flex}.landing-page{flex-direction:column;flex:1;padding-block:1.75rem .75rem;display:flex}.landing-page .profile-summary{max-width:62ch}@media (min-width:601px){.landing-page{flex:none}.landing-page .section-directory{flex:none;grid-template-rows:repeat(3,auto)}}.section-directory{border-top:1px solid #292929;flex:1;grid-template-rows:repeat(3,minmax(max-content,1fr));margin-top:1.5rem;display:grid}.navigation-row{border-bottom:1px solid #292929;border-radius:.2rem;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:1rem;padding:1.25rem .25rem;transition:background-color .18s;display:grid}.navigation-row:hover{background:#06b6d409}.navigation-row:hover .entry-title{color:#22d3ee}.row-arrow{color:#06b6d4;text-align:center;width:20px;font-size:1.15rem;transition:transform .18s}.row-arrow.is-pending{animation:.8s ease-in-out infinite alternate pending-link}@keyframes pending-link{to{opacity:.3}}.section-directory .navigation-row{grid-template-columns:22px minmax(0,1fr) 20px;padding-block:1.15rem}.directory-number{color:#737373;font-size:.6875rem;font-family:var(--font-mono);align-self:center}.directory-action{color:#22d3ee;text-underline-offset:3px;font-size:.75rem;font-weight:500;line-height:1.5;-webkit-text-decoration:underline #22d3ee66;text-decoration:underline #22d3ee66}.navigation-row:hover .directory-action{text-decoration-color:currentColor}.landing-social{color:#a3a3a3;flex-shrink:0;gap:1.5rem;margin-top:1rem;font-size:.75rem;display:flex}.landing-social a{padding-block:.75rem}.landing-social a:hover{color:#22d3ee}.section-page{padding-block:1.25rem 1.5rem}.section-intro{padding-block:1rem 1.25rem}.section-intro h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:600}.section-intro p{color:#a3a3a3;margin-top:.6rem;font-size:.875rem;line-height:1.7}.section-list{border-top:1px solid #292929;list-style:none}.section-list>li{scroll-margin-top:90px}.list-date{color:#a3a3a3;font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:.6875rem}.subsection-title{margin-block:2rem .5rem;font-size:.9375rem;font-weight:600}.related-section{border-top:1px solid #292929;margin-top:2rem}@media (max-width:600px){.navigation-row{flex-direction:row;align-items:center;display:flex}.navigation-row .entry-main{min-width:0}.navigation-row .row-arrow{flex:0 0 20px}.portfolio-nav .section-nav{grid-template-columns:repeat(4,minmax(0,1fr));padding-inline:.5rem}.landing-page{padding-top:1.25rem;padding-bottom:.5rem}.landing-actions{grid-template-columns:1fr 1fr}.section-directory{margin-top:1.5rem}.section-directory .navigation-row{gap:.65rem;padding-block:.75rem}.section-directory .entry-preview{font-size:.75rem}.section-page{padding-top:1rem}.navigation-row{padding-block:1rem}.entry-main{flex:auto}}@media (prefers-reduced-motion:reduce){.navigation-row,.row-arrow{transition:none}.row-arrow.is-pending{animation:none}}.ui-icon{width:var(--icon-size,18px);height:var(--icon-size,18px);flex:0 0 var(--icon-size,18px);vertical-align:middle;display:inline-block}.language-menu>summary{color:#d4d4d4;background:#141414;border:1px solid #292929;border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:0 .75rem;line-height:1;transition:border-color .16s,background-color .16s;display:inline-flex}.language-menu>summary:hover,.language-menu[open]>summary{background:#172024;border-color:#40636a}.language-menu .language-code{letter-spacing:.04em;align-items:center;min-width:2ch;height:18px;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.language-chevron{transition:transform .16s}.language-menu[open] .language-chevron{transform:rotate(180deg)}.language-menu>summary[aria-busy=true]{opacity:.6}.language-menu nav{margin-top:.5rem;padding:.35rem}.language-menu nav a{justify-content:space-between;align-items:center;gap:1rem;min-height:44px;line-height:1.4;display:flex}.language-menu nav .ui-icon{color:#22d3ee}.back-link,.landing-social a,.detail-content a{align-items:center;gap:.45rem;display:inline-flex}.row-arrow{justify-content:center;align-items:center;display:inline-flex}.navigation-row:hover .row-arrow{transform:translate(3px)}.profile-heading h1{letter-spacing:-.035em;text-wrap:balance;font-weight:650}.profile-role{letter-spacing:.015em;font-weight:500}.entry-title{letter-spacing:-.015em;font-weight:600}.section-intro h1,.detail-heading h1{letter-spacing:-.03em;text-wrap:balance}.profile-summary{text-wrap:pretty;line-height:1.7}.section-nav a{font-weight:500;line-height:1.25}.section-nav .ui-icon{display:block}@media (prefers-reduced-motion:reduce){.language-menu>summary,.language-chevron{transition:none}}.sidebar-profile,.section-nav .desktop-about{display:none}@media (min-width:1024px){body{--desktop-width:1120px;--sidebar-width:272px;--desktop-gutter:max(32px, calc((100vw - var(--desktop-width)) / 2));padding-left:calc(var(--desktop-gutter) + var(--sidebar-width) + 56px);padding-right:var(--desktop-gutter)}.portfolio-nav{inset:0 auto 0 var(--desktop-gutter);width:var(--sidebar-width);background:0 0;border-bottom:0;border-right:1px solid #242424;position:fixed;overflow-y:auto}.portfolio-nav>.portfolio-shell{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;min-height:100%;padding:32px 24px 32px 0;display:flex}.nav-top{justify-content:space-between;gap:12px}.language-menu nav{left:auto;right:0}.sidebar-profile{padding-block:40px 28px;display:block}.sidebar-profile .profile-avatar{width:56px;height:56px;margin-bottom:16px}.sidebar-name{letter-spacing:-.025em;margin-bottom:6px;font-size:1.125rem;font-weight:600}.sidebar-profile .profile-role{font-size:.75rem}.portfolio-nav .section-nav{flex-direction:column;gap:6px;display:flex}.section-nav a,.section-nav .desktop-about{border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;min-height:46px;padding:12px;transition:background-color .18s,border-color .18s,color .18s;display:flex}.section-nav a:hover{background:#ffffff06}.section-nav a[aria-current]{color:#22d3ee;background:#06b6d410;border-color:#06b6d42b}main>.portfolio-shell{padding-inline:0;max-width:100%;padding-top:48px}.landing-page .profile-heading .profile-avatar,.landing-page .profile-heading .profile-role,.landing-page .profile-heading .profile-location{display:none}.landing-page .profile-heading h1{font-size:2.125rem}.portfolio-footer{width:100%;padding-inline:0}.section-directory .navigation-row{padding-inline:12px}}.reading-list{border-top:0;gap:14px;display:grid}.reading-entry{background:#111;border:1px solid #292929;border-radius:14px;transition:border-color .18s,background-color .18s}.reading-entry:hover{border-color:#404040}.reading-entry[open]{background:#101618;border-color:#24525b}.reading-entry>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:20px;padding:24px;list-style:none;display:grid}.reading-entry>summary::-webkit-details-marker{display:none}.reading-toggle{color:#22d3ee;transition:transform .22s}.reading-entry[open] .reading-toggle{transform:rotate(180deg)}.reading-entry .entry-title{font-size:1.0625rem}.reading-entry .list-date{color:#9baeb2;margin-top:6px}.reading-body{color:#bfc6c8;padding:0 24px 20px;font-size:.875rem;line-height:1.8}.reading-body>p{border-top:1px solid #273135;padding-top:20px}.reading-highlights{margin-block:16px;padding-left:18px;list-style:outside}.reading-highlights li+li{margin-top:8px}.reading-highlights li::marker{color:#06b6d4}.reading-body .back-link{margin-top:16px}@supports (interpolate-size:allow-keywords){.reading-entry{interpolate-size:allow-keywords}.reading-entry::details-content{opacity:0;block-size:0;transition:block-size .24s ease, opacity .18s ease, content-visibility .24s allow-discrete;overflow:clip}.reading-entry[open]::details-content{opacity:1;block-size:auto}}@media (min-width:1024px){main>.portfolio-shell{padding-top:56px;padding-bottom:36px}.section-intro{padding-block:20px 28px}.section-intro h1{font-size:2.25rem}.section-intro p{max-width:60ch;line-height:1.8}.reading-list{gap:18px}.detail-content{max-width:70ch;font-size:1rem}.section-directory .navigation-row{border-radius:10px}}@media (max-width:600px){.reading-entry>summary{gap:12px;padding:18px}.reading-body{padding:0 18px 18px}.reading-entry .entry-title{font-size:.9375rem}}@media (prefers-reduced-motion:reduce){.reading-entry,.reading-toggle{transition:none}.reading-entry::details-content{transition:none}}.home-orbit{display:none}.landing-page .section-directory{border-top:0;flex:none;grid-template-rows:none;gap:10px}.section-directory .home-access{background:#101719;border:1px solid #293237;border-radius:12px;grid-template-columns:38px minmax(0,1fr) 20px;padding:18px}.home-access-symbol{color:#22d3ee;flex-direction:column;align-items:center;gap:8px;display:flex}.home-access-symbol .directory-number{font-size:.625rem}.home-chapters{margin-top:0}.home-chapter{padding-block:28px 16px;scroll-margin-top:80px}.chapter-heading{grid-template-columns:28px minmax(0,1fr) 24px;align-items:start;gap:12px;margin-bottom:22px;display:grid}.chapter-heading>span{color:#22d3ee;font-family:var(--font-mono);padding-top:8px;font-size:.75rem}.chapter-heading>svg{color:#22d3ee;margin-top:6px}.chapter-heading h2{letter-spacing:-.03em;font-size:clamp(1.375rem,2vw,1.75rem);font-weight:600}.chapter-heading p{color:#a3aeb2;margin-top:8px;font-size:.875rem;line-height:1.7}.chapter-entries,.chapter-principles{gap:12px;display:grid}.chapter-entries{border-left:1px solid #24525b;padding-left:16px}.chapter-more{color:#22d3ee;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:16px 8px;font-size:.8125rem;display:flex}.chapter-more:hover{text-underline-offset:4px;text-decoration:underline}.home-closing{border-top:1px solid #293237;margin-top:24px}@media (min-width:1024px){.landing-page .profile-intro{isolation:isolate;background:linear-gradient(#0000 25%,#0a0a0a 100%),radial-gradient(at 100% 0,#164e6377,#0000 70%),#101416;border:0;border-radius:18px 18px 0 0;padding:28px;position:relative;overflow:hidden}.home-orbit{z-index:-1;opacity:.2;width:220px;height:220px;display:block;position:absolute;top:-70px;right:-40px}.orbit-ring{border:1px solid #22d3ee;border-radius:50%;position:absolute;inset:10px}.orbit-ring-inner{border-style:dashed;inset:40px}.orbit-core{color:#22d3ee;position:absolute;inset:85px}.orbit-node{color:#22d3ee;position:absolute}.orbit-node-one{top:35px;left:20px}.orbit-node-two{bottom:35px;right:20px}.home-chapter{scroll-margin-top:28px}}@media (prefers-reduced-motion:no-preference){.home-access{animation:.4s both chapter-arrive}.home-access-2{animation-delay:70ms}.home-access-3{animation-delay:.14s}.orbit-ring-inner{animation:12s linear home-orbit-turn}@supports (animation-timeline:view()){.home-chapter{animation:linear both chapter-arrive;animation-timeline:view();animation-range:entry entry 20%}}}@keyframes chapter-arrive{0%{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes home-orbit-turn{to{transform:rotate(180deg)}}@media (max-width:600px){.section-directory .home-access{gap:12px;padding:12px}.home-access-symbol{flex:0 0 26px}.home-chapters{margin-top:8px}.chapter-entries{padding-left:8px}.chapter-heading{grid-template-columns:22px minmax(0,1fr)}.chapter-heading>svg{display:none}.portfolio-nav .section-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 6px}.section-nav a{min-height:44px;padding:6px 4px}.portfolio-footer{padding-bottom:calc(8rem + env(safe-area-inset-bottom))}}@media (min-width:601px) and (max-width:1023px){.portfolio-nav>div{flex-wrap:wrap;gap:12px;padding-block:8px}.section-nav{flex-wrap:wrap;gap:12px}}.reading-body blockquote{border-left:2px solid #22d3ee;margin-top:8px;padding-left:16px}.nav-social{align-items:center;gap:4px;display:flex}.nav-social a{color:#a3b3b9;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;transition:background-color .16s,color .16s;display:inline-flex}.nav-social a:hover{color:#22d3ee;background:#164e632e}.nav-social span{display:none}.profile-avatar{border-radius:18%}.home-chapter{padding-top:48px;padding-bottom:32px}.home-chapter+.home-chapter{border-top:1px solid #243339;margin-top:32px}.chapter-heading>span{background:#0f1b20;border:1px solid #24525b;border-radius:8px;place-items:center;min-height:32px;padding-top:0;display:grid}.chapter-heading{margin-bottom:28px}@media (min-width:1024px){.nav-top{flex-wrap:wrap}.nav-social{flex-basis:100%;justify-content:flex-start;gap:12px;margin-top:12px}.nav-social span{font-size:.75rem;display:inline}.nav-social a{padding-inline:8px}.sidebar-profile .profile-avatar{border-radius:20px;width:88px;height:88px;margin-bottom:20px}.home-chapter{padding-top:56px;padding-bottom:40px}.home-chapter+.home-chapter{margin-top:40px}}@media (max-width:600px){.nav-top{gap:6px}.nav-top .wordmark{margin-right:auto}.profile-avatar{border-radius:14px;width:64px;height:64px}.home-chapter{padding-top:36px;padding-bottom:20px}.home-chapter+.home-chapter{margin-top:20px}}@media (prefers-reduced-motion:reduce){.nav-social a{transition:none}}@media (min-width:1024px){.portfolio-nav>.portfolio-shell{padding-block:24px}.sidebar-profile{padding-block:24px 20px}.nav-social{margin-top:4px}}.reading-progress{pointer-events:none;z-index:70;background:#16323a;height:2px;position:fixed;inset:0 0 auto}.reading-progress>span{transform-origin:0;background:#22d3ee;height:100%;display:block;transform:scaleX(0)}@media (min-width:1024px){.sidebar-profile .profile-avatar{aspect-ratio:1;object-fit:cover;border-radius:16px;width:100%;height:auto}.sidebar-profile{padding-block:16px}.portfolio-nav .section-nav{gap:2px}.portfolio-nav .section-nav a{min-height:42px;padding-block:9px}.portfolio-nav{scrollbar-width:thin}}.site-closing{margin-top:8px}.site-notices{border-top:1px solid #ffffff0b;grid-template-columns:1fr 1.35fr;gap:24px;padding-block:24px;display:grid}.site-notices h2{color:#999;letter-spacing:0;margin-bottom:12px;font-size:.75rem;font-weight:500}.site-notices p{color:#858585;text-wrap:pretty;margin:0;font-size:.75rem;line-height:1.85}.site-notices p+p{margin-top:12px}.site-notices a{color:#aaa;text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.site-footer{color:#858585;border-top:1px solid #ffffff0b;justify-content:space-between;align-items:center;gap:16px;padding-block:16px 24px;font-size:.6875rem;display:flex}.site-footer a{color:#a3a3a3;align-items:center;min-height:44px;display:inline-flex}.site-footer a:hover,.site-notices a:hover{color:#ddd}@media (min-width:1024px){.site-closing{width:100%;padding-inline:0}}@media (max-width:600px){.site-closing{margin-top:0}.site-notices{grid-template-columns:1fr;gap:20px;padding-block:20px}.site-footer{padding-bottom:calc(5rem + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:4px}}.home-contact{border-top:1px solid #243339;margin-top:24px;padding-bottom:24px}.contact-panel{background:linear-gradient(140deg,#10202580,#101010 60%);border:1px solid #253238;border-radius:20px;grid-template-columns:minmax(0,1fr);gap:24px;padding:clamp(20px,3vw,32px);display:grid}.contact-intro>svg{display:none}.contact-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.contact-panel .compact-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-panel .compact-form fieldset>div:nth-child(3),.contact-panel .compact-form button{grid-column:1/-1}.contact-panel .compact-form button{justify-self:start}.contact-intro h3{text-wrap:balance;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35}.contact-intro a{color:#a3b3b9;align-items:center;gap:8px;min-height:44px;margin-top:0;font-size:.875rem;display:inline-flex}.contact-panel .compact-form{min-width:0;max-width:none;margin:0}.contact-panel input,.contact-panel textarea{background:#0a0f11;border-color:#334046;border-radius:10px;transition:border-color .16s}.contact-panel input:focus-visible,.contact-panel textarea:focus-visible{outline-offset:3px;outline:2px solid #22d3ee}.contact-panel button{border-radius:10px;min-height:44px}.mobile-wheel{display:none}@media (max-width:1023px){.portfolio-nav .section-nav{display:none}.mobile-wheel{right:max(16px, env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;display:block;position:fixed}.mobile-wheel>summary{color:#a5e5ee;cursor:pointer;background:#10191df5;border:1px solid #35515a;border-radius:50%;place-items:center;width:56px;height:56px;list-style:none;display:grid;position:relative;box-shadow:0 6px 24px #0008}.mobile-wheel>summary::-webkit-details-marker{display:none}.wheel-ring{pointer-events:none;border:2px dotted #35515a;border-top:2px solid #22d3ee;border-radius:50%;transition:transform .4s;position:absolute;inset:4px}.wheel-icon{place-items:center;animation:.22s ease-out wheel-enter;display:grid}.wheel-caption{white-space:nowrap;color:#b4c2c6;pointer-events:none;background:#101619f5;border:1px solid #263238;border-radius:8px;padding:6px 10px;font-size:.6875rem;position:absolute;right:64px}.wheel-links{background:#101619fa;border:1px solid #334047;border-radius:18px;width:min(260px,100vw - 32px);max-height:calc(100dvh - 170px);padding:8px;position:absolute;bottom:72px;right:0;overflow-y:auto;box-shadow:0 16px 60px #000a}.mobile-wheel[open] .wheel-links{animation:.18s ease-out wheel-enter}.wheel-links a{color:#bcc5c9;border-radius:10px;align-items:center;gap:14px;min-height:48px;padding:12px 16px;font-size:.875rem;display:flex}.wheel-links a[aria-current]{color:#67e8f9;background:#164e634d}.wheel-links a:hover{background:#ffffff0a}.mobile-wheel :focus-visible{outline-offset:3px;outline:2px solid #22d3ee}body:has(.compact-form :is(input,textarea):focus) .mobile-wheel{visibility:hidden}.site-footer{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}}@media (max-width:700px){.contact-panel .compact-form fieldset{grid-template-columns:minmax(0,1fr)}.contact-panel{grid-template-columns:minmax(0,1fr);gap:24px}.contact-intro>svg{display:none}.contact-intro a{margin-top:4px}}@keyframes wheel-enter{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.wheel-ring,.contact-panel input,.contact-panel textarea{transition:none}.wheel-icon,.mobile-wheel[open] .wheel-links{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}
