@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-ext-wght-normal.B5bTHO_g.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_astro/instrument-sans-latin-wght-normal.BbzFLZTg.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@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-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:"IBM Plex Mono", ui-monospace, monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Instrument Sans Variable", "Instrument Sans", system-ui, sans-serif;--default-mono-font-family:"IBM Plex Mono", ui-monospace, monospace}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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]){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;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:where(:not(iframe)){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}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.border-collapse{border-collapse:collapse}.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}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);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,)}.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,)}.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))}}:root{--bg:#fbfbfc;--surface:#fff;--surface-subtle:#f5f6f7;--surface-hover:#f0f1f3;--text:#17181a;--text-secondary:#545860;--text-muted:#686d75;--border:#e4e6ea;--border-strong:#d4d7dc;--blue:#4285f4;--red:#ea4335;--yellow:#fbbc05;--green:#34a853;--yellow-ink:#7a5800;--selection:#4285f438;--header-bg:#fbfbfce0;--shadow-small:0 10px 30px #17181a14;--container:1180px;--prose:760px;--page-pad:clamp(1.25rem, 3.2vw, 2.5rem);--section-space:clamp(4.5rem, 8vw, 6rem);--ease-out:cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--bg:#0e1013;--surface:#14171b;--surface-subtle:#191d22;--surface-hover:#20242a;--text:#f2f3f5;--text-secondary:#b2b6bd;--text-muted:#858b95;--border:#292e35;--border-strong:#373d46;--blue:#6ea2f8;--red:#f06b61;--yellow:#f8c94b;--green:#62c47d;--yellow-ink:#f8c94b;--selection:#6ea2f847;--header-bg:#0e1013db;--shadow-small:0 14px 34px #00000047}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#0e1013;--surface:#14171b;--surface-subtle:#191d22;--surface-hover:#20242a;--text:#f2f3f5;--text-secondary:#b2b6bd;--text-muted:#858b95;--border:#292e35;--border-strong:#373d46;--blue:#6ea2f8;--red:#f06b61;--yellow:#f8c94b;--green:#62c47d;--yellow-ink:#f8c94b;--selection:#6ea2f847;--header-bg:#0e1013db;--shadow-small:0 14px 34px #00000047}}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color-scheme:light;scroll-behavior:smooth;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;min-width:320px}html[data-theme=dark]{color-scheme:dark}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0;font-family:Instrument Sans Variable,Instrument Sans,system-ui,sans-serif;font-size:clamp(1rem,.98rem + .08vw,1.0625rem);font-weight:430;line-height:1.65;overflow-x:hidden}main{display:block}::selection{background:var(--selection)}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}button,summary,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}p,h1,h2,h3,ul,ol,figure{margin-block:0}ul,ol{padding:0}h1,h2,h3{color:var(--text);letter-spacing:-.035em;text-wrap:balance;font-weight:690}h1{font-size:clamp(3rem,7vw,5.25rem);line-height:.98}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.06}h3{font-size:clamp(1.35rem,2.1vw,1.7rem);line-height:1.14}p{color:var(--text-secondary)}strong{color:var(--text);font-weight:640}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.container{width:min(100% - (2 * var(--page-pad)), var(--container));margin-inline:auto}.section-shell{padding-block:var(--section-space)}.technical-label{color:var(--text-muted);letter-spacing:.11em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.75rem;font-weight:500;line-height:1.4}.large-copy{max-width:42rem;color:var(--text-secondary);font-size:clamp(1.08rem,1.02rem + .3vw,1.25rem);line-height:1.58}.skip-link{z-index:1000;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow-small);transition:transform .16s var(--ease-out);border-radius:.6rem;padding:.65rem .9rem;font-weight:620;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--blue)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:3px solid color-mix(in srgb, var(--blue), transparent 15%)}}:focus-visible{outline-offset:4px}.accent-blue{--accent:var(--blue)}.accent-red{--accent:var(--red)}.accent-yellow{--accent:var(--yellow)}.accent-green{--accent:var(--green)}.accent-mark{align-items:center;gap:.28rem;display:inline-flex}.accent-dot{transition:transform .18s var(--ease-out);background:currentColor;border-radius:50%;width:.48rem;height:.48rem}@media (hover:hover) and (prefers-reduced-motion:no-preference){.accent-mark:hover .accent-dot:nth-child(odd),a:hover .accent-mark .accent-dot:nth-child(odd){transform:translateY(3px)}.accent-mark:hover .accent-dot:nth-child(2n),a:hover .accent-mark .accent-dot:nth-child(2n){transform:translateY(-3px)}}@media (prefers-reduced-motion:no-preference){a:focus-visible .accent-mark .accent-dot:nth-child(odd){transform:translateY(3px)}a:focus-visible .accent-mark .accent-dot:nth-child(2n){transform:translateY(-3px)}}.accent-mark--compact{gap:.18rem}.accent-mark--compact .accent-dot{width:.3rem;height:.3rem}.accent-mark .accent-blue{color:var(--blue)}.accent-mark .accent-red{color:var(--red)}.accent-mark .accent-yellow{color:var(--yellow)}.accent-mark .accent-green{color:var(--green)}.accent-node{border:2px solid var(--surface);background:var(--accent);width:.48rem;height:.48rem;box-shadow:0 0 0 1px var(--accent);border-radius:50%;flex:none;display:inline-block}.button{min-height:44px;transition:transform .16s var(--ease-out), background-color .16s ease, border-color .16s ease, box-shadow .16s ease;border:1px solid #0000;border-radius:.68rem;justify-content:center;align-items:center;gap:.55rem;padding:.7rem 1.05rem;font-size:.94rem;font-weight:620;line-height:1.2;display:inline-flex}.button svg,.text-link svg{transition:transform .18s var(--ease-out);flex:none}.button:hover,.button:focus-visible{transform:translateY(-1px)}.button:active{transform:translateY(1px)}.button--primary{background:var(--text);color:var(--bg);box-shadow:0 8px 22px #17181a1f}:root[data-theme=dark] .button--primary{box-shadow:0 8px 22px #00000047}.button--primary:hover{box-shadow:0 10px 28px #17181a2b}.button--primary:hover svg{transform:translate(3px)}.button--secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.button--secondary:hover{border-color:var(--text-muted);background:var(--surface-hover)}.button--tertiary{color:var(--text);text-underline-offset:.3em;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong)}.button--tertiary:hover{background:var(--surface-subtle);-webkit-text-decoration-color:var(--text);-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.button[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.icon-button{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:color .16s ease, border-color .16s ease, background-color .16s ease, transform .16s var(--ease-out);border-radius:.62rem;place-items:center;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text)}.icon-button:active{transform:translateY(1px)}.text-link{min-height:44px;color:var(--text);text-decoration-line:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.34rem;align-items:center;gap:.38rem;font-weight:610;line-height:1.3;text-decoration-thickness:1px;transition:color .16s,text-decoration-color .16s;display:inline-flex}.text-link:hover{-webkit-text-decoration-color:var(--accent,var(--text));-webkit-text-decoration-color:var(--accent,var(--text));text-decoration-color:var(--accent,var(--text))}.text-link--arrow:hover svg,.text-link--arrow:hover>span:last-child{transform:translate(3px)}.hero__actions .button--primary:hover,.hero__actions .button--primary:focus-visible{border-bottom-color:var(--red)}.hero__actions .button--secondary:hover,.hero__actions .button--secondary:focus-visible{border-bottom-color:var(--green)}.hero__actions .button--tertiary:hover,.hero__actions .button--tertiary:focus-visible{-webkit-text-decoration-color:var(--yellow-ink);-webkit-text-decoration-color:var(--yellow-ink);text-decoration-color:var(--yellow-ink)}.project-card:focus-within{border-color:var(--text-muted)}.project-card:focus-within .project-card__media:after{transform:scaleX(1)}.theme-toggle[hidden]{display:none}.theme-toggle{position:relative;overflow:hidden}.theme-toggle__sun,.theme-toggle__moon{transition:opacity .18s ease, transform .22s var(--ease-out);position:absolute}.theme-toggle__sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle__moon{opacity:0;transform:rotate(-28deg)scale(.7)}:root[data-theme=dark] .theme-toggle__sun{opacity:0;transform:rotate(28deg)scale(.7)}:root[data-theme=dark] .theme-toggle__moon{opacity:1;transform:rotate(0)scale(1)}.site-header{z-index:100;border-bottom:1px solid var(--border);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--border), transparent 10%)}}.site-header{background:var(--header-bg);backdrop-filter:blur(14px)saturate(130%)}.site-header__inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:64px;display:flex}.site-brand{min-height:44px;color:var(--text);letter-spacing:-.015em;align-items:center;gap:.72rem;font-size:.98rem;font-weight:680;display:inline-flex}.desktop-navigation ul,.site-footer ul,.mobile-navigation ul{list-style:none}.desktop-navigation ul{align-items:center;gap:.15rem;display:flex}.desktop-navigation a{min-height:44px;color:var(--text-secondary);align-items:center;padding-inline:.72rem;font-size:.9rem;font-weight:560;transition:color .16s;display:inline-flex;position:relative}.desktop-navigation a:after{transform-origin:100%;background:var(--accent,var(--text));content:"";height:2px;transition:transform .18s var(--ease-out);border-radius:99px;position:absolute;bottom:.38rem;left:.72rem;right:.72rem;transform:scaleX(0)}.desktop-navigation a:hover,.desktop-navigation a[aria-current=page]{color:var(--text)}.desktop-navigation a:hover:after,.desktop-navigation a[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}.site-header__actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.mobile-navigation{display:none;position:relative}.mobile-navigation summary{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;border-radius:.62rem;place-items:center;list-style:none;display:grid}.mobile-navigation summary::-webkit-details-marker{display:none}.menu-icon{width:19px;height:14px;display:block;position:relative}.menu-icon i{width:19px;height:1.5px;transition:top .18s var(--ease-out), transform .18s var(--ease-out);background:currentColor;border-radius:99px;position:absolute;left:0}.menu-icon i:first-child{top:3px}.menu-icon i:last-child{top:10px}.mobile-navigation[open] .menu-icon i:first-child{top:7px;transform:rotate(45deg)}.mobile-navigation[open] .menu-icon i:last-child{top:7px;transform:rotate(-45deg)}.mobile-navigation__panel{border:1px solid var(--border);background:var(--surface);width:min(18rem,100vw - 2.5rem);box-shadow:var(--shadow-small);border-radius:.85rem;padding:.55rem;position:absolute;top:calc(100% + .55rem);right:0}.mobile-navigation__panel a{min-height:46px;color:var(--text-secondary);border-radius:.52rem;justify-content:space-between;align-items:center;padding:.55rem .8rem;font-weight:580;display:flex}.mobile-navigation__panel a:hover,.mobile-navigation__panel a[aria-current=page]{background:var(--surface-subtle);color:var(--text)}.mobile-navigation__panel a[aria-current=page]:after{background:var(--accent,var(--text));content:"";border-radius:50%;width:.42rem;height:.42rem}.hero{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(4rem,7vw,5.8rem);position:relative}.hero:after{bottom:0;right:auto;left:max(var(--page-pad), calc((100vw - var(--container)) / 2));background:linear-gradient(90deg, transparent, var(--blue) 18%, var(--red) 39%, var(--yellow) 61%, var(--green) 82%, transparent);content:"";opacity:.42;width:136px;height:2px;position:absolute}.hero__inner{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:2.5rem clamp(2rem,4vw,3.5rem);display:grid;position:relative}.hero__copy{min-width:0;padding-top:3rem}.hero__eyebrow{color:var(--text-secondary);letter-spacing:.025em;align-items:center;gap:.8rem;margin-bottom:1.35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;display:flex}.hero h1{letter-spacing:-.055em;word-spacing:.05em;max-width:900px;font-size:clamp(3.4rem,6vw,5.1rem)}.hero__statement{max-width:35rem;color:var(--text-secondary);text-wrap:pretty;margin-top:1.65rem;font-size:clamp(1.12rem,1rem + .35vw,1.28rem);line-height:1.52}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero__secondary-links{flex-wrap:wrap;gap:1.15rem;margin-top:1.15rem;display:flex}.hero__secondary-links a{min-height:44px;color:var(--text-muted);text-underline-offset:.28rem;align-items:center;font-size:.9rem;font-weight:570;text-decoration:underline #0000;transition:color .16s,text-decoration-color .16s;display:inline-flex}.hero__secondary-links a:hover{color:var(--text);-webkit-text-decoration-color:var(--red);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.hero__disciplines{border-top:1px solid var(--border);flex-wrap:wrap;gap:.6rem 1.25rem;margin-top:2.25rem;padding-top:1.35rem;list-style:none;display:flex}.hero__disciplines li{color:var(--text-secondary);align-items:center;gap:.55rem;font-size:.8rem;display:flex}.hero__disciplines li:before{background:var(--text-muted);content:"";border-radius:50%;width:4px;height:4px}.brain-model{justify-self:end;width:100%;min-width:0;max-width:430px}.brain-model [hidden]{display:none!important}.brain-model__heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.brain-model__heading h2{letter-spacing:-.015em;font-size:1rem}.brain-model__subtitle{margin-top:.3rem;font-size:.83rem}.brain-diagram{width:100%;height:auto;max-height:220px;margin-block:.75rem;overflow:visible}.brain-region__shape{fill:var(--surface-subtle);stroke:var(--text-muted);stroke-width:1.35px;stroke-linejoin:round;transition:fill .18s,stroke .18s}.brain-fold{fill:none;stroke:var(--text-muted);stroke-width:1.1px;stroke-linecap:round;opacity:.55;pointer-events:none}.brain-model[data-enhanced] .brain-region{cursor:pointer}.brain-model[data-enhanced] .brain-region:hover .brain-region__shape,.brain-region.is-selected .brain-region__shape{fill:var(--surface-hover);stroke:var(--text);stroke-width:2.5px}.brain-region.is-selected .brain-fold{opacity:.9}.brain-diagram__orientation{fill:var(--text-muted);font:10px var(--font-mono)}.brain-diagram__orientation path{fill:none;stroke:var(--text-muted);stroke-width:1px}.brain-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem .6rem;display:grid}.brain-controls button{border:1px solid var(--border-strong);min-height:44px;color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .65rem;font-size:.82rem;line-height:1.3;transition:background-color .16s,border-color .16s;display:flex}.brain-controls button:hover{background:var(--surface-subtle);border-color:var(--text-muted)}.brain-controls button[aria-pressed=true]{background:var(--surface-hover);border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text);color:var(--text)}.brain-controls__number{font-family:var(--font-mono);color:var(--text-muted);font-size:.65rem}.brain-panel{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:.9rem;padding:.85rem 0;scroll-margin-block:80px 16px}.brain-panel>p{font-size:.83rem}.brain-panel__heading{justify-content:space-between;align-items:center;gap:.5rem;margin-top:-.45rem;display:flex}.brain-panel h3,.brain-text-alternative h3{letter-spacing:-.015em;font-size:1rem}.brain-clear{min-height:44px;color:var(--text-secondary);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.4rem .3rem;font-size:.8rem;text-decoration:underline;display:inline-flex}.brain-model dl{margin:.6rem 0 0;font-size:.85rem;line-height:1.55}.brain-model dt{margin-top:.7rem;font-weight:640}.brain-model dd{color:var(--text-secondary);margin:.2rem 0 0}.brain-sources{margin-top:.75rem;font-size:.75rem}.brain-sources a{text-underline-offset:.2em;text-decoration:underline}.brain-text-alternative summary{width:fit-content;min-height:44px;color:var(--text-secondary);cursor:pointer;align-content:center;font-size:.8rem;display:list-item}.brain-text-alternative__intro{font-size:.85rem}.brain-text-alternative section{border-bottom:1px solid var(--border);margin-block:1rem;padding-bottom:1rem}.brain-model__note{color:var(--text-muted);margin-top:.8rem;font-size:.75rem;line-height:1.6}@media (width<=1024px){.hero__inner{grid-template-columns:minmax(0,1fr)}.hero__copy{padding-top:0}.brain-model{grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-self:start;column-gap:1.5rem;max-width:680px;display:grid}.brain-model__heading,.brain-model__subtitle,.brain-panel,.brain-model__note,.brain-text-alternative{grid-column:1/-1}.brain-diagram{align-self:center;max-height:220px}.brain-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-self:center}}@media (width<=600px){.brain-model{display:block}.brain-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.brain-diagram{max-height:220px}}.home-about{border-bottom:1px solid var(--border)}.home-about__grid{grid-template-columns:minmax(220px,290px) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,7vw,6.5rem);max-width:1000px;display:grid}.home-about__portrait{justify-self:end}.portrait-frame{aspect-ratio:4/5;background:var(--surface-subtle);border-radius:1.05rem;width:min(100%,280px);position:relative;overflow:visible}.portrait-frame picture,.portrait-frame img{width:100%;height:100%}.portrait-frame img{border:1px solid var(--border-strong);object-fit:cover;object-position:center;border-radius:1.05rem}.portrait-frame__detail{background:var(--yellow);border-radius:99px;width:3px;height:44px;position:absolute;bottom:28px;right:-8px}.home-about__content{max-width:660px}.home-about__content h2{max-width:650px;margin-top:.75rem}.home-about__content .large-copy{margin-top:1.5rem}.home-about__content .content-needed{margin-top:1.25rem}.home-about__content>.text-link{--accent:var(--yellow-ink);margin-top:1.2rem}.content-needed{border:1px solid var(--border);border-left:3px solid var(--yellow);background:var(--surface-subtle);border-radius:.78rem;padding:1.15rem 1.25rem}.content-needed__title{color:var(--text-secondary);margin-top:.4rem}.content-needed ul{color:var(--text-secondary);gap:.35rem;margin-top:.75rem;padding-left:1.15rem;display:grid}.content-needed--compact{padding-block:.9rem}.content-needed--compact .technical-label{display:none}.content-needed--compact .content-needed__title{margin:0;font-size:.94rem}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem;display:flex}.section-heading>div{max-width:760px}.section-heading h2{margin-top:.7rem}.section-heading p:not(.technical-label){max-width:650px;margin-top:1rem;font-size:1.08rem}.home-projects{background:var(--surface-subtle);border-bottom:1px solid var(--border)}.home-projects .section-heading .text-link{--accent:var(--red)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);display:grid}.project-card{--accent:var(--blue);border:1px solid var(--border);background:var(--surface);transition:transform .2s var(--ease-out), border-color .18s ease, box-shadow .2s ease;border-radius:.95rem;overflow:hidden}.project-card.accent-blue,.engineering-area-list li.accent-blue{--accent:var(--blue)}.project-card.accent-red,.engineering-area-list li.accent-red{--accent:var(--red)}.project-card.accent-yellow,.engineering-area-list li.accent-yellow{--accent:var(--yellow)}.project-card.accent-green,.engineering-area-list li.accent-green{--accent:var(--green)}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-small);transform:translateY(-2px)}.project-card__media{aspect-ratio:16/10;border-bottom:1px solid var(--border);background:var(--surface-subtle);display:block;position:relative;overflow:hidden}.project-card__media:after{transform-origin:0;background:var(--accent);content:"";height:3px;transition:transform .26s var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(.12)}.project-card__media>img{object-fit:cover;width:100%;height:100%;transition:transform .3s var(--ease-out)}.project-card:hover .project-card__media>img{transform:scale(1.015)}.project-card:hover .project-card__media:after{transform:scaleX(1)}.project-placeholder{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:32px 32px;height:100%;position:relative;overflow:hidden}.project-placeholder:before{border:1px solid var(--border-strong);background:var(--surface);border-radius:.65rem;position:absolute;inset:1.25rem}@supports (color:color-mix(in lab, red, red)){.project-placeholder:before{background:color-mix(in srgb, var(--surface), transparent 8%)}}.project-placeholder:before{content:""}.project-placeholder__number{z-index:1;color:var(--text);position:absolute;top:50%;left:50%;transform:translate(-50%,-56%)}@supports (color:color-mix(in lab, red, red)){.project-placeholder__number{color:color-mix(in srgb, var(--text), transparent 82%)}}.project-placeholder__number{letter-spacing:-.08em;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(3.6rem,8vw,6.3rem);font-weight:500;line-height:1}.project-placeholder__axis{z-index:2;border:1px solid var(--accent);opacity:.7;border-radius:50%;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-placeholder__axis:before,.project-placeholder__axis:after{background:var(--accent);content:"";opacity:.7;position:absolute;top:50%;left:50%}.project-placeholder__axis:before{width:68px;height:1px;transform:translate(-50%,-50%)}.project-placeholder__axis:after{width:1px;height:68px;transform:translate(-50%,-50%)}.project-placeholder__label{z-index:2;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.66rem;position:absolute;bottom:1.9rem;right:2rem}.project-card__content{padding:clamp(1.25rem,2.8vw,1.75rem)}.project-card__meta{min-height:1.1rem;color:var(--text-muted);letter-spacing:.035em;flex-wrap:wrap;align-items:center;gap:.5rem .72rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;display:flex}.project-card__meta .accent-node{border-color:var(--surface)}.status-label{border:1px solid var(--border);background:var(--surface-subtle);border-radius:.35rem;padding:.16rem .38rem}.project-card h3{margin-top:.85rem}.project-card h3 a{transition:color .16s}.project-card h3 a:hover{color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.project-card h3 a:hover{color:color-mix(in srgb, var(--accent), var(--text) 38%)}}.project-card__content>p{margin-top:.75rem;line-height:1.58}.project-card__links{flex-wrap:wrap;gap:.4rem 1rem;margin-top:1.15rem;display:flex}.project-card__links .text-link{--accent:var(--accent);min-height:40px;font-size:.9rem}.tag-list{flex-wrap:wrap;gap:.4rem;margin-top:1rem;list-style:none;display:flex}.tag-list li{border:1px solid var(--border);color:var(--text-secondary);border-radius:.4rem;padding:.3rem .5rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem}.home-experience{border-bottom:1px solid var(--border)}.home-experience__grid{grid-template-columns:minmax(0,.9fr) minmax(320px,.75fr);align-items:start;gap:clamp(3rem,9vw,8rem);display:grid}.home-experience h2{margin-top:.7rem}.home-experience .large-copy{margin-top:1.25rem}.home-experience .text-link{--accent:var(--green);margin-top:1.15rem}.engineering-area-list{border-top:1px solid var(--border);list-style:none}.engineering-area-list li{--accent:var(--blue);border-bottom:1px solid var(--border);min-height:62px;color:var(--text);transition:padding-left .18s var(--ease-out);grid-template-columns:2.2rem 1fr auto;align-items:center;gap:.7rem;font-weight:590;display:grid}.engineering-area-list li:hover{padding-left:.35rem}.engineering-area-list__index{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.engineering-area-list .accent-node{border-color:var(--bg);margin-right:.25rem}.home-timeline-list{border-top:1px solid var(--border);list-style:none}.home-timeline-list li{border-bottom:1px solid var(--border);min-height:62px;color:var(--text);grid-template-columns:6.5rem minmax(0,1fr) auto;align-items:center;gap:.9rem;font-weight:590;display:grid}.home-timeline-list time{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.home-timeline-list .accent-node{border-color:var(--bg);margin-right:.25rem}.home-contact{padding-block:clamp(4rem,7vw,5rem)}.home-contact__inner{border:1px solid var(--border-strong);background:var(--surface);border-radius:1rem;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,2.4rem);display:flex}.home-contact h2{margin-top:.55rem;font-size:clamp(1.8rem,3.5vw,2.55rem)}.home-contact p:not(.technical-label){max-width:650px;margin-top:.8rem}.site-footer{border-top:1px solid var(--border);background:var(--surface-subtle);padding-block:3.2rem 2rem}.site-footer__inner{grid-template-columns:1.3fr .7fr auto;align-items:start;gap:2.5rem;display:grid}.site-footer__identity{grid-template-columns:auto 1fr;align-items:center;gap:.65rem;display:grid}.site-footer__name{letter-spacing:-.02em;align-items:center;min-height:44px;font-weight:680;display:inline-flex}.site-footer__identity p{grid-column:1/-1;max-width:25rem;margin-top:.25rem;font-size:.9rem}.site-footer__navigation ul,.site-footer__socials ul{gap:.35rem;display:grid}.site-footer__navigation a,.site-footer__socials a{min-height:44px;color:var(--text-secondary);align-items:center;font-size:.88rem;transition:color .16s;display:inline-flex}.site-footer__navigation a:hover,.site-footer__socials a:hover{color:var(--text)}.site-footer__meta{border-top:1px solid var(--border);color:var(--text-muted);grid-column:1/-1;margin-top:1.5rem;padding-top:1.25rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.page-shell{padding-top:clamp(4.5rem,9vw,7rem)}.page-intro{border-bottom:1px solid var(--border);max-width:990px;padding-bottom:clamp(2.8rem,6vw,4.5rem)}.page-intro__eyebrow{align-items:center;gap:.75rem;display:flex}.page-intro h1{max-width:930px;margin-top:1.15rem}.page-intro>p{text-wrap:pretty;max-width:770px;margin-top:1.5rem;font-size:clamp(1.08rem,1rem + .35vw,1.28rem);line-height:1.58}.page-intro--compact{padding-bottom:2.5rem}.project-grid--index{margin-top:clamp(2.5rem,5vw,4rem)}.open-source-summary{border-block:1px solid var(--border);grid-template-columns:minmax(0,.8fr) minmax(320px,1fr);gap:clamp(2.5rem,8vw,7rem);margin-top:clamp(4.5rem,9vw,7rem);padding-block:clamp(2.6rem,5vw,4rem);display:grid}.open-source-summary__copy h2{margin-top:.7rem;font-size:clamp(1.8rem,3.4vw,2.5rem)}.open-source-summary__copy p:not(.technical-label){max-width:38rem;margin-top:1rem}.repository-list{border-top:1px solid var(--border);list-style:none}.repository-list li{border-bottom:1px solid var(--border)}.repository-list a{min-height:58px;color:var(--text);transition:padding .18s var(--ease-out);justify-content:space-between;align-items:center;gap:1rem;font-weight:600;display:flex}.repository-list a:hover{padding-inline:.35rem}.repository-list__facts{color:var(--text-muted);gap:.8rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem;font-weight:400;display:flex}.case-study{padding-bottom:var(--section-space)}.case-study__header{border-bottom:1px solid var(--border);padding-top:clamp(4.5rem,9vw,7rem);padding-bottom:clamp(2.8rem,6vw,4.5rem);position:relative}.case-study__header:after{bottom:-1px;left:max(var(--page-pad), calc((100vw - var(--container)) / 2));background:var(--accent);content:"";width:88px;height:2px;position:absolute}.case-study__kicker{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.55rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;display:flex}.case-study__kicker a{color:var(--text-secondary);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.25rem}.case-study__header h1{max-width:980px;margin-top:1.25rem}.case-study__lede{max-width:760px;margin-top:1.35rem;font-size:clamp(1.12rem,1.03rem + .42vw,1.32rem);line-height:1.58}.case-study__actions{flex-wrap:wrap;gap:.7rem;margin-top:1.75rem;display:flex}.case-study__facts{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(2.5rem,6vw,4.25rem) 0 0;display:grid}.case-study__facts div{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:94px;padding:1rem 1.1rem}.case-study__facts dt{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem}.case-study__facts dd{color:var(--text-secondary);margin:.55rem 0 0;font-size:.95rem}.case-study__visual-wrap{margin-top:clamp(2.5rem,6vw,4.5rem)}.case-study__visual-placeholder{aspect-ratio:16/8;border:1px solid var(--border);background-color:var(--surface-subtle);background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);color:var(--text-secondary);text-align:center;background-size:40px 40px;border-radius:1rem;place-content:center;gap:.65rem;display:grid;position:relative;overflow:hidden}.case-study__visual-placeholder:before,.case-study__visual-placeholder:after{background:var(--accent);content:"";opacity:.3;position:absolute;top:50%;left:50%}.case-study__visual-placeholder:before{width:120px;height:1px;transform:translate(-50%,-50%)}.case-study__visual-placeholder:after{width:1px;height:120px;transform:translate(-50%,-50%)}.case-study__visual-placeholder>span{z-index:1;background:var(--surface-subtle);padding-inline:.4rem;position:relative}.case-study__media-grid{gap:1rem;display:grid}.case-study__media-grid figure{border:1px solid var(--border);background:var(--surface-subtle);border-radius:1rem;overflow:hidden}.case-study__media-grid img{width:100%;height:auto}.case-study__media-grid figcaption{color:var(--text-muted);padding:.8rem 1rem;font-size:.84rem}.case-study__body-grid{grid-template-columns:210px minmax(0, var(--prose));justify-content:center;gap:clamp(2.5rem,7vw,6rem);margin-top:clamp(3.2rem,7vw,5.5rem);display:grid}.case-study__outline{align-self:start;padding-top:.2rem;position:sticky;top:6rem}.case-study__outline ol{gap:.55rem;margin-top:.85rem;list-style:none;display:grid}.case-study__outline a,.case-study__outline>p:not(.technical-label){color:var(--text-muted);font-size:.85rem;line-height:1.45}.case-study__outline a:hover{color:var(--text)}.prose{min-width:0}.prose>*+*{margin-top:1.2rem}.prose h2{margin-top:3.5rem;font-size:clamp(1.8rem,3vw,2.35rem)}.prose h3{margin-top:2.5rem}.prose p,.prose li{color:var(--text-secondary)}.prose ul,.prose ol{gap:.5rem;padding-left:1.3rem;display:grid}.prose a{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:.25rem}.case-study__content>.content-needed{margin-bottom:2rem}.case-study__pagination{border-block:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(4rem,8vw,6rem);display:grid}.case-study__pagination a{align-content:center;gap:.3rem;min-height:100px;padding:1.1rem;transition:background-color .16s;display:grid}.case-study__pagination a:last-child{border-left:1px solid var(--border);text-align:right}.case-study__pagination a:hover{background:var(--surface-subtle)}.case-study__pagination span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem}.case-study__pagination strong{font-size:1rem}.about-profile{grid-template-columns:minmax(240px,310px) minmax(0,1fr);align-items:center;gap:clamp(3rem,9vw,8rem);max-width:1040px;margin-top:clamp(3rem,7vw,5rem);display:grid}.about-profile__portrait .portrait-frame{width:100%}.about-profile__copy h2{max-width:650px;margin-top:.75rem}.about-profile__copy .large-copy,.about-profile__copy .content-needed{margin-top:1.35rem}.about-profile__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.35rem 0 0;display:grid}.about-profile__details div{border-top:1px solid var(--border);padding-top:.9rem}.about-profile__details dt{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem}.about-profile__details dd{color:var(--text-secondary);margin:.45rem 0 0;font-size:.9rem;line-height:1.5}.interest-index{border-top:1px solid var(--border);grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(2.5rem,9vw,8rem);margin-top:clamp(5rem,10vw,8rem);padding-top:clamp(2.8rem,5vw,4rem);display:grid}.interest-index__heading h2{margin-top:.7rem;font-size:clamp(1.8rem,3.2vw,2.5rem)}.interest-index ol{border-top:1px solid var(--border);list-style:none}.interest-index li{border-bottom:1px solid var(--border);grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:64px;display:grid}.interest-index li>span:first-child{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem}.interest-index li strong{font-size:1rem}.interest-index .accent-node{border-color:var(--bg);margin-right:.25rem}.about-timeline{border-top:1px solid var(--border);grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:clamp(2.5rem,9vw,8rem);margin-top:clamp(5rem,10vw,8rem);padding-top:clamp(2.8rem,5vw,4rem);display:grid}.about-timeline h2{margin-top:.7rem;font-size:clamp(1.8rem,3.2vw,2.5rem)}.about-timeline>div>p:not(.technical-label){max-width:31rem;margin-top:1rem}.timeline-list{list-style:none}.timeline-list li{border-left:1px solid var(--border);grid-template-columns:7rem 1fr;gap:1.3rem;padding:0 0 2rem 1.3rem;display:grid}.timeline-list li:before{background:var(--accent);content:"";border-radius:50%;grid-area:1/1;width:.5rem;height:.5rem;margin-top:.45rem;margin-left:-1.59rem}.timeline-list time{color:var(--text-muted);grid-area:1/1;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.timeline-list div{grid-area:1/2}.timeline-list h3{font-size:1.15rem}.timeline-list p{margin-top:.45rem}.experience-areas{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(2.5rem,9vw,8rem);margin-top:clamp(3rem,7vw,5rem);display:grid}.experience-areas__heading h2,.experience-section-heading h2{margin-top:.7rem;font-size:clamp(1.8rem,3.2vw,2.5rem)}.experience-areas ol{border-top:1px solid var(--border);list-style:none}.experience-areas li{border-bottom:1px solid var(--border);grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:.9rem;min-height:90px;padding-block:1rem;display:grid;position:relative}.experience-areas li:before{background:var(--accent);content:"";width:24px;height:2px;position:absolute;top:-1px;left:0}.experience-areas__index{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.experience-areas h3{font-size:1.12rem}.experience-areas li p{margin-top:.25rem;font-size:.9rem}.experience-areas .status-label{color:var(--text-muted);white-space:nowrap;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.65rem}.experience-sections{gap:clamp(4.5rem,9vw,7rem);margin-top:clamp(5rem,10vw,8rem);display:grid}.experience-sections>section{border-top:1px solid var(--border);grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(2.5rem,9vw,8rem);padding-top:clamp(2.6rem,5vw,4rem);display:grid}.experience-list{list-style:none}.experience-list>li{grid-template-columns:9rem 1fr;gap:1.4rem;padding-bottom:2rem;display:grid}.experience-list__date{color:var(--text-muted);gap:.35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem;display:flex}.experience-list h3,.skill-groups h3{font-size:1.15rem}.experience-list__organization{color:var(--text);margin-top:.2rem;font-weight:600}.experience-list li p:not(.experience-list__organization){margin-top:.55rem}.skill-groups{gap:1.8rem;display:grid}.skill-groups .tag-list{margin-top:.8rem}.competition-list{border-top:1px solid var(--border);list-style:none}.competition-list>li{border-bottom:1px solid var(--border);grid-template-columns:minmax(10rem,.7fr) minmax(0,1.3fr);gap:1.5rem;padding-block:1.5rem;display:grid}.competition-list h3{font-size:1.15rem}.competition-list time,.competition-list__result{color:var(--text-muted);margin-top:.35rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem;display:block}.competition-list>li>p{margin:0}.competition-list ul{flex-wrap:wrap;grid-column:2;gap:.75rem;list-style:none;display:flex}.competition-list a{min-height:44px;color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--yellow);-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:.3rem;align-items:center;font-weight:620;display:inline-flex}.contact-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(2.5rem,8vw,7rem);margin-top:clamp(3rem,7vw,5rem);display:grid}.contact-primary,.social-destinations{min-width:0}.contact-primary h2,.social-destinations h2,.contact-reasons h2{margin-top:.7rem;font-size:clamp(1.8rem,3.2vw,2.5rem)}.contact-primary .content-needed{margin-top:1.4rem}.email-action{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.5rem;display:flex}.email-action>a{min-width:0;color:var(--text);overflow-wrap:anywhere;text-decoration:underline;-webkit-text-decoration-color:var(--green);-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green);text-underline-offset:.38rem;font-size:clamp(1.1rem,2.4vw,1.4rem);font-weight:650}.email-action .icon-button{gap:.45rem;width:auto;padding-inline:.8rem;display:inline-flex}.copy-status{color:var(--text-muted);font-size:.82rem}.social-destinations ul{border-top:1px solid var(--border);margin-top:1.4rem;list-style:none}.social-destinations li{border-bottom:1px solid var(--border)}.social-destinations a,.social-destinations li>div{justify-content:space-between;align-items:center;gap:1rem;min-height:58px;display:flex}.social-destinations a{color:var(--text);transition:padding .18s var(--ease-out);font-weight:600}.social-destinations a:hover{padding-inline:.35rem}.social-destinations li>div{color:var(--text-secondary)}.social-destinations .status-label{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.65rem}.contact-reasons{border-top:1px solid var(--border);grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(2.5rem,8vw,7rem);margin-top:clamp(5rem,10vw,8rem);padding-top:clamp(2.8rem,5vw,4rem);display:grid}.contact-reasons ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;list-style:none;display:grid}.contact-reasons li{border:1px solid var(--border);background:var(--surface);border-radius:.8rem;padding:1.2rem}.contact-reasons h3{margin-top:.8rem;font-size:1.08rem}.contact-reasons li p{margin-top:.45rem;font-size:.92rem}.resume-page{background:var(--surface-subtle);padding-top:clamp(2.5rem,6vw,4.5rem)}.resume-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.resume-toolbar>p,.resume-pdf-status{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem}.resume-toolbar>div{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.7rem;display:flex}.resume-sheet{border:1px solid var(--border);background:var(--surface);max-width:960px;margin-inline:auto;padding:clamp(1.5rem,5.5vw,4.5rem);box-shadow:0 24px 70px #17181a17}:root[data-theme=dark] .resume-sheet{box-shadow:0 24px 70px #00000047}.resume-header{border-bottom:2px solid var(--text);grid-template-columns:minmax(0,1fr) auto;gap:2rem;padding-bottom:2rem;display:grid}.resume-header h1{margin-top:.65rem;font-size:clamp(2.6rem,6vw,4.25rem)}.resume-header>div>p:last-child{max-width:650px;margin-top:.8rem;font-size:.92rem}.resume-header address{color:var(--text-secondary);text-align:right;align-content:start;gap:.35rem;font-size:.82rem;font-style:normal;display:grid}.resume-header address a{text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:.2rem}.resume-section{border-bottom:1px solid var(--border);grid-template-columns:11rem minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);padding-block:2rem;display:grid}.resume-section:last-child{border-bottom:0}.resume-section>h2{letter-spacing:-.015em;font-size:1rem}.resume-section>p{line-height:1.55}.resume-entry-list,.resume-project-list{gap:1.5rem;list-style:none;display:grid}.resume-entry-list li{grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem;display:grid}.resume-entry-list h3,.resume-project-list h3{font-size:1rem}.resume-entry-list li>p:last-child{grid-column:1/-1}.resume-entry-list__date{color:var(--text-muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem}.resume-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-project-list li{border-left:2px solid var(--border-strong);padding-left:.9rem}.resume-project-list p{margin-top:.35rem;font-size:.87rem}.resume-skills{gap:.75rem;margin:0;display:grid}.resume-skills div{grid-template-columns:9rem 1fr;gap:1rem;display:grid}.resume-skills dt{color:var(--text);font-weight:650}.resume-skills dd{color:var(--text-secondary);margin:0}.not-found{place-items:center;min-height:min(72vh,760px);display:grid}.not-found__inner{text-align:center;max-width:780px}.not-found__code{color:var(--text);letter-spacing:-.1em;justify-content:center;align-items:center;gap:1rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(4rem,13vw,8rem);font-weight:500;line-height:.85;display:flex}.not-found__code .accent-mark{transform:translateY(.18em)}.not-found__inner>.technical-label{margin-top:1.4rem}.not-found h1{margin-top:.8rem;font-size:clamp(2.2rem,5vw,3.5rem)}.not-found__inner>p:not(.technical-label){margin-top:1rem;font-size:1.08rem}.not-found__actions{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.8rem;display:flex}.js .hero__eyebrow,.js .hero h1,.js .hero__statement,.js .hero__actions,.js .hero__secondary-links{animation:hero-enter .6s both var(--ease-out)}.js .hero h1{animation-delay:50ms}.js .hero__statement{animation-delay:.1s}.js .hero__actions,.js .hero__secondary-links{animation-delay:.15s}@keyframes hero-enter{0%{opacity:0;transform:translateY(10px)}}@media (width<=900px){.desktop-navigation{display:none}.mobile-navigation{display:block}.home-about__grid{gap:3.5rem}.home-experience__grid{grid-template-columns:1fr;gap:2.7rem}.engineering-area-list{max-width:650px}.open-source-summary,.interest-index,.about-timeline,.experience-areas,.experience-sections>section,.contact-reasons{grid-template-columns:1fr;gap:2.5rem}.case-study__body-grid{grid-template-columns:minmax(0, var(--prose))}.case-study__outline{border-bottom:1px solid var(--border);padding-bottom:1.25rem;position:static}.contact-layout{grid-template-columns:1fr;gap:3.5rem}}@media (width<=720px){.brain-model{display:none}:root{--section-space:4.25rem}.site-header__inner{min-height:60px}.hero{padding-top:2.75rem}.hero h1{font-size:clamp(3.3rem,16vw,5rem)}.home-about__grid{grid-template-columns:1fr;gap:2.5rem}.home-about__portrait{justify-self:start;width:min(72vw,280px)}.project-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start;gap:.8rem}.home-contact__inner{flex-direction:column;align-items:flex-start}.site-footer__inner{grid-template-columns:1fr 1fr}.site-footer__identity{grid-column:1/-1}.page-shell,.case-study__header{padding-top:4.25rem}.case-study__facts{grid-template-columns:1fr}.case-study__visual-placeholder{aspect-ratio:4/3}.case-study__pagination{grid-template-columns:1fr}.case-study__pagination>span:empty{display:none}.case-study__pagination a:last-child{border-top:1px solid var(--border);text-align:left;border-left:0}.about-profile{grid-template-columns:1fr;gap:2.5rem}.about-profile__portrait{width:min(72vw,280px)}.experience-areas li{grid-template-columns:2.4rem minmax(0,1fr)}.experience-areas .status-label{grid-column:2;justify-self:start}.experience-list>li{grid-template-columns:1fr;gap:.7rem}.competition-list>li{grid-template-columns:1fr;gap:.8rem}.competition-list ul{grid-column:1}.contact-reasons ul{grid-template-columns:1fr}.resume-toolbar{flex-direction:column;align-items:flex-start}.resume-toolbar>div{justify-content:flex-start}.resume-header{grid-template-columns:1fr;gap:1.25rem}.resume-header address{text-align:left}.resume-section{grid-template-columns:1fr;gap:1rem}}@media (width<=430px){.site-brand{gap:.55rem;font-size:.92rem}.hero__statement{font-size:1.12rem}.hero__actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero__actions .button--primary{grid-column:1/-1}.hero__actions .button{width:100%}.home-timeline-list li{grid-template-columns:4.5rem minmax(0,1fr) auto;gap:.65rem}.project-placeholder:before{inset:.85rem}.project-placeholder__label{bottom:1.2rem;right:1.25rem}.site-footer__inner{grid-template-columns:1fr}.page-intro h1{font-size:clamp(2.55rem,13vw,3.6rem)}.case-study__kicker{align-items:flex-start}.case-study__visual-placeholder{aspect-ratio:auto;min-height:280px;padding-inline:1rem}.interest-index li{grid-template-columns:2.2rem minmax(0,1fr) auto}.resume-toolbar .button{width:100%}.resume-toolbar>div{flex-direction:column;align-items:stretch;width:100%}.resume-project-list,.about-profile__details{grid-template-columns:1fr}.not-found__actions{flex-direction:column;align-items:stretch}.not-found__actions .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.button:hover,.button:focus-visible,.button:active,.icon-button:active,.button:hover svg,.text-link--arrow:hover svg,.text-link--arrow:hover>span:last-child,.project-card:hover,.engineering-area-list li:hover{transform:none}.js .hero__eyebrow,.js .hero h1,.js .hero__statement,.js .hero__actions,.js .hero__secondary-links{animation:none!important}.project-card:hover .project-card__media>img{transform:none}}@media print{@page{size:A4;margin:12mm}:root,:root[data-theme=dark]{--bg:#fff;--surface:#fff;--surface-subtle:#fff;--text:#111;--text-secondary:#353535;--text-muted:#5a5a5a;--border:#d6d6d6;--border-strong:#a8a8a8;color-scheme:light}html,body{min-width:0;font-size:9.5pt;color:#111!important;background:#fff!important}.site-header,.site-footer,.skip-link,.resume-toolbar{display:none!important}.resume-page{background:#fff;padding:0}.resume-page .container{width:100%}.resume-sheet{border:0;max-width:none;padding:0;box-shadow:none!important}.resume-header{padding-bottom:8mm}.resume-header h1{font-size:30pt}.resume-section{break-inside:avoid;grid-template-columns:32mm 1fr;gap:8mm;padding-block:6mm}.resume-project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm}.content-needed{background:#fff;padding:3mm 4mm}a{color:inherit;text-decoration:none}}.accounts-section{margin-top:5rem;scroll-margin-top:6rem}.accounts-heading{max-width:42rem;margin-bottom:1.75rem}.accounts-heading h2{margin-bottom:.8rem}.accounts-heading>p:last-child{color:var(--text-secondary)}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.account-card{border:1px solid var(--border);background:var(--surface);border-radius:.65rem;min-width:0;padding:1.5rem 1.5rem 0}.account-card__identity{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.account-card__identity h3{align-items:center;gap:.65rem;font-size:1rem;display:flex}.account-card__identity a{overflow-wrap:anywhere;align-items:center;gap:.35rem;min-height:44px;font-size:.9rem;display:inline-flex}.account-card__headline{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0 1.5rem;display:grid}.account-card__headline dt{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem}.account-card__headline dd{letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,3vw,2rem);font-weight:600;line-height:1.3}.account-card__unavailable{min-height:4.6rem;color:var(--text-muted);margin:1.2rem 0 1.5rem;font-size:.9rem}.account-card__details{border-top:1px solid var(--border)}.account-card__details summary{cursor:pointer;min-height:52px;color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.82rem;list-style:none;display:flex}.account-card__details summary::-webkit-details-marker{display:none}.account-card__details summary>span{font-size:1.25rem;transition:transform .18s}.account-card__details[open] summary>span{transform:rotate(45deg)}.account-card__details summary:hover{color:var(--text)}.account-card__expanded{color:var(--text-secondary);padding:.2rem 0 1.25rem;font-size:.85rem}.account-card__expanded dl>div{justify-content:space-between;gap:1rem;padding:.45rem 0;display:flex}.account-card__expanded dd{color:var(--text);font-variant-numeric:tabular-nums}.account-card__expanded p{margin-top:1rem}.account-card__expanded a{align-items:center;min-height:44px;margin-top:.5rem;display:inline-flex}.account-card__date{font-size:.78rem}.stats-strip{border-block:1px solid var(--border-strong);min-width:0;margin-top:2.5rem}.stats-strip__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding-block:.3rem;display:flex}.stats-strip__heading>div{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.stats-strip__heading a,.stats-strip__heading button{min-height:44px;color:var(--text-secondary);align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.stats-strip__heading button{cursor:pointer;text-underline-offset:.2em;text-decoration:underline}.stats-strip__heading button[hidden]{display:none}.stats-strip__static{border-top:1px solid var(--border);flex-wrap:wrap;gap:1rem 2rem;padding-block:1rem;list-style:none;display:flex}.stats-strip__static li,.stats-strip__entry{color:var(--text-secondary);align-items:center;gap:.6rem;font-size:.8rem;display:inline-flex}.stats-strip strong{color:var(--text);font-family:var(--font-mono);font-size:.78rem;font-weight:500}.stats-strip__static li{flex-wrap:wrap}.stats-strip__handle{color:var(--text-muted);font-size:.7rem}.stats-strip__viewport{border-top:1px solid var(--border);padding-block:1rem;display:none;overflow:hidden}.stats-strip__track{width:max-content;display:flex}.stats-strip__group{flex-shrink:0;align-items:center;gap:2rem;padding-right:2rem;display:flex}.stats-strip__entry{white-space:nowrap}@media (prefers-reduced-motion:no-preference){.stats-strip[data-animated=true] .stats-strip__static{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stats-strip[data-animated=true] .stats-strip__viewport{display:block}.stats-strip[data-animated=true] .stats-strip__track{animation:account-strip-scroll var(--strip-duration,80s) linear infinite}.stats-strip[data-paused=true] .stats-strip__track{animation-play-state:paused}}@keyframes account-strip-scroll{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.account-card__details summary>span{transition:none;transform:none}}@media (width<=720px){.accounts-section{margin-top:3.5rem}.account-grid{grid-template-columns:minmax(0,1fr)}.account-card{padding:1rem 1rem 0}.stats-strip__heading{padding-top:.75rem}.stats-strip__heading>.technical-label{width:100%}.stats-strip__heading>div{justify-content:space-between;width:100%}}.project-evidence{color:var(--text-muted);margin-block:1rem;font-size:.85rem}.project-evidence>p{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.project-evidence>p>span{color:var(--text);font-weight:600}.project-evidence>p>span>span{color:var(--text-muted);font-weight:400}.project-evidence details{max-width:65ch;font-size:.8rem}.project-card__media img{object-fit:contain}.timeline-date{font:500 .8rem var(--font-mono);color:var(--text-muted)}.hero__secondary-links{margin-top:1rem}.hero-github{min-width:132px;font-size:.9rem}.hand-underline{white-space:nowrap;text-decoration-line:underline;-webkit-text-decoration-color:var(--underline-color);-webkit-text-decoration-color:var(--underline-color);text-decoration-color:var(--underline-color);text-underline-offset:6px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:2px;position:relative}.hand-underline:after{content:"";border-bottom:1px solid var(--underline-color);opacity:.55;pointer-events:none;border-radius:50%;height:3px;position:absolute;inset:auto 0 -4px;transform:rotate(-1deg)}.hand-underline--blue{--underline-color:var(--blue)}.hand-underline--red{--underline-color:var(--red)}.hand-underline--yellow{--underline-color:var(--yellow)}.hand-underline--emerald{--underline-color:#16734b}[data-theme=dark] .hand-underline--emerald{--underline-color:#72c59c}.identity-name>span>span{transition:color .18s;transition-delay:calc(var(--letter) * 12ms);animation:.45s both identity-settle;animation-delay:calc(var(--letter) * 12ms);display:inline-block}.identity-name:hover>span>span{color:var(--letter-color)}@keyframes identity-settle{0%{color:var(--letter-color)}to{color:var(--text)}}.identity-name:hover>span>span{animation:none}.content-needed p:not(.technical-label),.content-needed__title{font-size:1.025rem;line-height:1.65}.stats-strip{padding-right:48px;position:relative}.stats-strip__toggle{background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;z-index:2;border:0;position:absolute;top:50%;right:0;transform:translateY(-50%)}.stats-strip__static a{color:inherit;flex-wrap:wrap;align-items:center;gap:.5rem;min-height:44px;text-decoration:none;display:flex}.stats-strip__entry{color:inherit;text-decoration:none}.stats-strip:has(.stats-strip__static a:focus) .stats-strip__static{clip-path:none!important;width:auto!important;height:auto!important;position:static!important;overflow:visible!important}.stats-strip:has(.stats-strip__static a:focus) .stats-strip__viewport{display:none}.account-card{scroll-margin-top:100px}.account-card__headline{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.coding-experience{color:var(--text);font-weight:500}.resume-page--draft .container{position:relative}.resume-page--draft .resume-sheet{filter:blur(7px);pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.4}.resume-draft-notice{z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:16px;width:min(620px,100% - 3rem);padding:2.5rem;position:absolute;inset:4rem auto auto 50%;transform:translate(-50%);box-shadow:0 16px 60px #0000000a}.resume-draft-notice h1{letter-spacing:-.045em;font-size:clamp(2rem,4vw,3rem)}.resume-draft-notice h2{margin-top:1.5rem;font-size:1rem}.resume-draft-notice ul{margin-block:.7rem 1.5rem;padding-left:1.2rem;line-height:1.7}@media (width<=720px){.resume-draft-notice{padding:1.5rem;inset-block-start:2rem}.identity-name{font-size:clamp(2.6rem,10vw,4rem)!important}}@media (prefers-reduced-motion:reduce){.identity-name>span>span{color:var(--text);transition:none;animation:none}.identity-name:hover>span>span{color:var(--text)}}@media print{.resume-page--draft .resume-sheet{display:none!important}.resume-draft-notice{width:auto;box-shadow:none;color:#000;background:#fff;border:0;padding:0;position:static;transform:none}.resume-draft-notice a{display:none}}.brain-model__heading{justify-content:center}.brain-model__intro{text-align:center;max-width:54ch;margin:0 auto 1rem;font-size:.75rem}.brain-3d{width:100%;height:280px;position:relative}.brain-3d canvas{cursor:grab;touch-action:none;border-radius:10px;width:100%;height:100%;display:block}.brain-3d canvas:active{cursor:grabbing}.brain-3d-tools{color:var(--text-muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.7rem;display:flex}.brain-3d-tools button{color:var(--text);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;min-height:44px;padding:.5rem;text-decoration:underline}.brain-attribution{color:var(--text-muted);margin-top:.7rem;font-size:.65rem;line-height:1.5}.brain-attribution a{color:inherit}.brain-region[data-brain-region=frontal]{--selection:#9c738c}.brain-region[data-brain-region=parietal]{--selection:#b57b81}.brain-region[data-brain-region=temporal]{--selection:#628d88}.brain-region[data-brain-region=occipital]{--selection:#b28c6d}.brain-region[data-brain-region=cerebellum]{--selection:#9484af}.brain-region[data-brain-region=brainstem]{--selection:#798f9f}.brain-region.is-selected .brain-region__shape{fill:var(--selection);stroke:var(--text);stroke-width:2.5px}.account-videos{gap:.8rem;padding:0;list-style:none;display:grid}.account-videos a{color:var(--text);align-items:center;gap:.8rem;font-size:.8rem;display:flex}.account-videos img{border-radius:5px;width:100px;height:auto}.projects-intro,.about-intro{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:3rem;display:grid}.satellite-detail,.butterfly-detail{margin:0}.satellite-detail svg{width:100%;height:auto;display:block}.satellite-detail figcaption,.butterfly-detail figcaption{text-align:center;color:var(--text-muted);font-size:.7rem}.satellite-detail a,.butterfly-detail a{color:inherit;text-decoration:none}.butterfly-detail{justify-self:center;width:190px}.butterfly-detail svg{width:150px;height:auto;margin:auto;display:block;overflow:visible}.butterfly-detail figcaption{justify-content:center;align-items:center;gap:.3rem;display:flex}.butterfly-detail button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px}.butterfly-wing{transform-origin:330px 248px;animation:20s ease-in-out infinite paused wing-beats}.butterfly-wing--right{animation-name:wing-beats-right}@keyframes wing-beats{0%,84%,88%,92%,to{transform:scaleX(1)}86%,90%{transform:scaleX(.72)}}@keyframes wing-beats-right{0%,84%,88%,92%,to{transform:scaleX(1)}86%,90%{transform:scaleX(.78)}}@media (width<=900px){.projects-intro,.about-intro{grid-template-columns:minmax(0,1fr) 180px;gap:1.5rem}}@media (width<=720px){.projects-intro,.about-intro{grid-template-columns:1fr;gap:0}.satellite-detail{justify-self:center;width:240px;margin:-1rem 0 3rem}.butterfly-detail{justify-self:end;width:150px;margin-top:-1rem;margin-bottom:2rem}.butterfly-detail svg{width:110px}}@media (prefers-reduced-motion:reduce){.butterfly-wing{animation:none;transform:none}}:root{--identity-blue:#2662b6;--identity-red:#b93529;--identity-yellow:#8b6500;--identity-green:#24783c}:root[data-theme=dark]{--identity-blue:#6ea2f8;--identity-red:#f06b61;--identity-yellow:#f8c94b;--identity-green:#62c47d}.resume-draft-notice li{margin-block:.3rem;list-style:outside}.brain-renderer{min-width:0}.brain-visual{height:280px;display:grid;position:relative}.brain-visual>*{grid-area:1/1}.brain-visual .brain-diagram{align-self:center;height:280px;max-height:280px;margin:0}.brain-tools-slot{min-height:44px}.brain-attribution{grid-column:1/-1}.projects-intro,.about-intro{isolation:isolate;grid-template-columns:minmax(0,1fr) 380px;position:relative}.projects-intro>.page-intro,.about-intro>.page-intro{z-index:2;background:var(--bg);position:relative}.page-shell:has([data-photo-entrance]){overflow-x:clip}.satellite-detail{z-index:3;perspective:1000px;justify-self:center;width:380px;max-width:100%;position:relative}.satellite-detail .photo-flight{pointer-events:none;transform:rotate(-8deg)}.butterfly-detail{z-index:3;width:290px;max-width:100%;position:relative}.butterfly-detail svg{width:230px;max-width:100%}.butterfly-flight-mask{perspective:700px;padding:20px;position:relative}.butterfly-detail .butterfly-flutter{color:var(--text);border-radius:45%;position:absolute;inset:20px}.butterfly-flutter:focus-visible{outline:2px solid var(--text);outline-offset:5px}.butterfly-detail .photo-flight{pointer-events:none}[data-photo-credit]{transition:opacity .18s,background-color .18s}.satellite-detail figcaption,.butterfly-detail figcaption{justify-content:center;align-items:center;min-height:44px;display:flex}[data-photo-credit] a,a[data-photo-credit]{border-radius:5px;align-items:center;min-height:44px;padding:.35rem .6rem;transition:background-color .18s,color .18s;display:inline-flex}[data-photo-credit] a:hover,[data-photo-credit] a:focus-visible,a[data-photo-credit]:hover,a[data-photo-credit]:focus-visible{background:var(--surface-hover);color:var(--text)}[data-arrival=waiting] .photo-flight{opacity:0}[data-arrival=waiting] [data-photo-credit],[data-arrival=arriving] [data-photo-credit]{opacity:0;visibility:hidden}[data-photo-entrance=satellite][data-arrival=arriving] .photo-flight{animation:5s linear both satellite-arrival}[data-photo-entrance=butterfly][data-arrival=arriving] .photo-flight{animation:2.6s linear both butterfly-arrival}@keyframes satellite-arrival{0%{transform:translate3d(-85vw,-360px,-180px)rotateX(12deg)rotateY(-24deg)rotate(18deg)}30%{transform:translate3d(-50vw,-100px,-70px)rotateX(7deg)rotateY(-14deg)rotate(9deg)}62%{transform:translate(-18vw,15px)rotateX(-3deg)rotateY(5deg)rotate(-3deg)}84%{animation-timing-function:cubic-bezier(.25,.5,.5,1);transform:translate(-70px,7px)rotateX(-1deg)rotateY(2deg)rotate(-7deg)}to{transform:translate(0)rotateX(0)rotateY(0)rotate(-8deg)}}@keyframes butterfly-arrival{0%{opacity:0;transform:translate3d(100vw,-160px,-100px)rotate(-28deg)scale(.55)}12%{opacity:1}25%{transform:translate3d(160px,-95px,-60px)rotate(-15deg)scale(.75)}46%{transform:translate3d(-35px,-65px,-30px)rotate(18deg)scale(.95)}65%{transform:translate(-18px,-32px)rotate(9deg)}82%{transform:translate(7px,-12px)rotate(-6deg)}93%{transform:translate(2px,-3px)rotate(-2deg)}to{opacity:1;transform:none}}.butterfly-detail[data-arrival=arriving] .butterfly-wing{animation:.18s cubic-bezier(.35,0,.65,1) infinite paused flight-wing-left}.butterfly-detail[data-arrival=arriving] .butterfly-wing--right{animation-name:flight-wing-right}.butterfly-detail[data-moving=true] .butterfly-wing{animation-play-state:running}@keyframes flight-wing-left{0%,to{transform:scaleX(.96)skewY(0)}45%{transform:scaleX(.22)skewY(12deg)}}@keyframes flight-wing-right{0%,to{transform:scaleX(.98)skewY(0)}45%{transform:scaleX(.3)skewY(-10deg)}}.butterfly-wing{animation-duration:8s}.butterfly-detail[data-fluttering=true] .butterfly-wing{animation:none}@media (width<=1024px) and (width>=721px){.projects-intro,.about-intro{grid-template-columns:minmax(0,1fr) 260px;gap:1.5rem}.satellite-detail{width:260px}.butterfly-detail{width:250px}.butterfly-detail svg{width:190px}}@media (width<=720px){.projects-intro,.about-intro{grid-template-columns:1fr;gap:0}.satellite-detail{width:260px}.butterfly-detail{justify-self:center;width:240px;margin-top:-1rem}.butterfly-detail svg{width:180px}[data-photo-entrance=satellite][data-arrival=arriving] .photo-flight{animation-name:satellite-arrival-mobile}[data-photo-entrance=butterfly][data-arrival=arriving] .photo-flight{animation-name:butterfly-arrival-mobile}}@keyframes satellite-arrival-mobile{0%{transform:translate3d(-85vw,-300px,-100px)rotate(18deg)}40%{transform:translate3d(-90px,-100px,-30px)rotate(4deg)}75%{transform:translate(-15px,-5px)rotate(-5deg)}to{transform:rotate(-8deg)}}@keyframes butterfly-arrival-mobile{0%{opacity:0;transform:translate3d(100vw,-140px,-100px)rotate(-20deg)scale(.6)}15%{opacity:1}35%{transform:translate3d(-25px,-70px,-60px)rotate(12deg)scale(.85)}65%{transform:translate(12px,-35px)rotate(-8deg)}85%{transform:translate(-4px,-10px)rotate(3deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.butterfly-detail .butterfly-wing{transform:none;animation:none!important}[data-photo-entrance] .photo-flight{opacity:1;transform:none;animation:none!important}[data-photo-credit]{transition:none;opacity:1!important;visibility:visible!important}}.account-card__missing{font-size:.9rem!important;font-weight:500!important}.activity-calendar{min-width:0;margin-block:.5rem 1.25rem}.activity-calendar h4{margin:0 0 .35rem;font-size:.95rem}.activity-calendar__summary{font-size:.8rem}.activity-calendar__summary strong{color:var(--text);font-weight:650}.activity-calendar__scroll{overscroll-behavior-x:contain;padding:.5rem 2px;overflow-x:auto}.activity-calendar__chart{width:max-content}.activity-calendar__months{grid-template-columns:repeat(var(--weeks), 7px);color:var(--text-secondary);column-gap:2px;margin-bottom:5px;font-size:.6rem;display:grid}.activity-calendar__grid{grid-template-rows:repeat(7,7px);grid-auto-columns:7px;grid-auto-flow:column;gap:2px;display:grid}.activity-calendar [data-level]{background:var(--surface-hover);border:1px solid var(--border);border-radius:1.5px}.activity-calendar [data-level="1"]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.activity-calendar [data-level="1"]{background:color-mix(in srgb, var(--accent) 24%, var(--surface))}}.activity-calendar [data-level="1"]{border-color:#0000}.activity-calendar [data-level="2"]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.activity-calendar [data-level="2"]{background:color-mix(in srgb, var(--accent) 44%, var(--surface))}}.activity-calendar [data-level="2"]{border-color:#0000}.activity-calendar [data-level="3"]{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.activity-calendar [data-level="3"]{background:color-mix(in srgb, var(--accent) 67%, var(--surface))}}.activity-calendar [data-level="3"]{border-color:#0000}.activity-calendar [data-level="4"]{background:var(--accent);border-color:#0000}.activity-calendar__day--padding{visibility:hidden}.activity-calendar__legend{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:3px;margin-block:.3rem .75rem;font-size:.65rem;display:flex}.activity-calendar__legend i{width:8px;height:8px}.activity-calendar__legend span{margin-inline:4px}.activity-calendar__scope{font-size:.75rem;line-height:1.5}.activity-calendar__values{margin-top:.6rem}.activity-calendar__values summary{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;font-size:.8rem;display:flex}.activity-calendar__values summary:after{content:"+";margin-left:auto}.activity-calendar__values[open] summary:after{content:"−"}.activity-calendar__table-wrap{max-height:280px;overflow:auto}.activity-calendar table{border-collapse:collapse;width:100%;font-size:.75rem}.activity-calendar caption{text-align:left;margin-bottom:.5rem}.activity-calendar th,.activity-calendar td{text-align:left;border-bottom:1px solid var(--border);padding:.35rem .5rem}.activity-calendar tbody th{font-weight:400}.activity-calendar thead{background:var(--surface);position:sticky;top:0}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
