@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/dm-sans-latin-800-normal-C2H8778U.woff2) format("woff2"),url(/assets/dm-sans-latin-800-normal-BwbkPQqB.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/dm-sans-latin-900-normal-BmOyECvA.woff2) format("woff2"),url(/assets/dm-sans-latin-900-normal-Bm36EmVp.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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--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-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius-base:5px;--font-weight-base:500;--font-weight-heading:700}}@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]){-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;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}body{font-weight:var(--font-weight-base);color:var(--foreground)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-heading)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-\(--accordion-panel-height\){height:var(--accordion-panel-height)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.w-fit{width:fit-content}.flex-1{flex:1}.shrink-0{flex-shrink:0}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-\(--card-spacing\){gap:var(--card-spacing)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.rounded-base{border-radius:5px}.rounded-b-base{border-bottom-right-radius:5px;border-bottom-left-radius:5px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-border{border-color:var(--border)}.bg-background{background-color:var(--background)}.bg-main{background-color:var(--main)}.bg-secondary-background{background-color:var(--secondary-background)}.p-4{padding:calc(var(--spacing) * 4)}.px-\(--card-spacing\){padding-inline:var(--card-spacing)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-\(--card-spacing\){padding-block:var(--card-spacing)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-left{text-align:left}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-base{--tw-font-weight:500;font-weight:500}.font-heading{--tw-font-weight:700;font-weight:700}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--foreground)}.text-main-foreground{color:var(--main-foreground)}.shadow-shadow{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-white{--tw-ring-offset-color:var(--color-white)}.transition-\[height\]{transition-property:height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[--card-spacing\:--spacing\(6\)\]{--card-spacing:calc(var(--spacing) * 6)}@media(hover:hover){.hover\:translate-x-boxShadowX:hover{--tw-translate-x:4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:translate-x-reverseBoxShadowX:hover{--tw-translate-x:-4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:translate-y-boxShadowY:hover{--tw-translate-y:4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:translate-y-reverseBoxShadowY:hover{--tw-translate-y:-4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-shadow:hover{--tw-shadow:var(--shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.focus-visible\:ring-black:focus-visible{--tw-ring-color:var(--color-black)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-50[data-disabled]{opacity:.5}.data-ending-style\:h-0[data-ending-style]{height:0}.data-panel-open\:rounded-b-none[data-panel-open]{border-bottom-right-radius:0;border-bottom-left-radius:0}.data-panel-open\:border-b-2[data-panel-open]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.data-starting-style\:h-0[data-starting-style]{height:0}.data-\[size\=sm\]\:\[--card-spacing\:--spacing\(4\)\][data-size=sm]{--card-spacing:calc(var(--spacing) * 4)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\.border-b\]\:pb-\(--card-spacing\).border-b{padding-bottom:var(--card-spacing)}.\[\.border-t\]\:pt-\(--card-spacing\).border-t{padding-top:var(--card-spacing)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\[data-panel-open\]\>svg\]\:rotate-180[data-panel-open]>svg{rotate:180deg}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--surface-accent:#dce6f0;--surface-accent-hover:#c8ddff;--surface-control:#dce6f0;--text-secondary:#495667;--text-accent:#254c7c;--text-on-inverse:#f5f2e9;--surface-inverse:#254c7c;--line-subtle:#b7bec4;--line-accent:#adc4e5;--focus-color:#17212f;--selection-bg:#254c7c;--selection-text:#f5f2e9;--content-width:1280px;--gutter:clamp(1rem, 3vw, 3rem);--section-space:clamp(3rem, 6vw, 5.5rem);--text-caption:.875rem;--text-body:1rem;--text-lead:1.125rem;--heading-section:clamp(1.85rem, 3.2vw, 2.75rem);--header-offset:6rem;--motion-quick:.15s;--motion-ease:cubic-bezier(.2, 0, 0, 1);--background:#f5f2e9;--secondary-background:#ede8dc;--main:#5294ff;--ring:oklch(0% 0 0);--foreground:#17212f;--main-foreground:#101a2b;--border:oklch(0% 0 0);--overlay:oklch(0% 0 0/.8);--shadow:4px 4px 0px 0px var(--border);--chart-1:#5294ff;--chart-2:#ff4d50;--chart-3:#facc00;--chart-4:#05e17a;--chart-5:#7a83ff;--chart-active-dot:#000}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}html{scroll-padding-block-start:var(--header-offset);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;background:var(--background);font-family:DM Sans,sans-serif;font-size:var(--text-body);line-height:1.65;overflow-wrap:break-word}h1,h2,h3,h4,h5,p,figure{margin:0}h1,h2,h3,h4,h5{text-wrap:balance}p,li{text-wrap:pretty}h1{font-size:clamp(3.4rem,6.4vw,5.75rem);line-height:1.03;letter-spacing:-.045em}h2{font-size:var(--heading-section);line-height:1.2;letter-spacing:-.025em}h3{font-size:1.3rem;line-height:1.35}h4{font-size:1.15rem;line-height:1.4;margin:1.75rem 0 .65rem}h5{font-size:1rem;line-height:1.5;margin:1.3rem 0 .4rem}p+p{margin-block-start:.8rem}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:from-font}button{font:inherit;cursor:pointer}::selection{color:var(--selection-text);background:var(--selection-bg)}:where(a,button,summary):focus-visible{outline:3px solid var(--focus-color);outline-offset:5px}section{scroll-margin-block-start:1rem}.section-shell{max-width:var(--content-width);margin-inline:auto;padding:var(--section-space) var(--gutter);position:relative;z-index:1}.section-shell>*,.projects-grid>*,.expertise-grid>*,.education-grid>*,.contribution-groups>*{min-width:0}.section-heading{margin-block-end:2.5rem;max-width:740px}.section-heading h2{max-width:26ch}.section-heading>p:last-child:not(.eyebrow){margin-block-start:1rem;max-width:62ch}.eyebrow{display:flex;align-items:center;gap:.6rem;color:var(--text-accent);font-size:var(--text-caption);font-weight:700;margin-block-end:1rem}.small,.hero-location{font-size:var(--text-caption);color:var(--text-secondary)}.dates{font-size:var(--text-caption);font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-accent)}.site-header{position:sticky;inset-block-start:0;z-index:20;background:var(--secondary-background);border-block-end:2px solid var(--border)}.navigation{max-width:var(--content-width);margin-inline:auto;padding:.6rem var(--gutter);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.5rem}.name-mark{display:flex;align-items:center;gap:.8rem;min-height:44px;text-decoration:none;font-size:1.4rem;font-weight:700;color:var(--text-accent)}.name-mark span{font-size:.95rem}.nav-links{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}.nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:.25rem .3rem;font-size:.9rem;text-decoration:none;border-block-end:3px solid transparent}.nav-links a[aria-current=location]{border-color:var(--text-accent);color:var(--text-accent);font-weight:700}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4rem;align-items:center;padding-block:clamp(3rem,5vw,4.5rem)}.hero-kicker{font-size:var(--text-caption);font-weight:700;color:var(--text-accent);margin-block-end:1.4rem}.hero .role{font-size:clamp(1.35rem,2vw,1.75rem);font-weight:700;line-height:1.3;margin-block:1.6rem 1.25rem}.hero .lead{font-size:var(--text-lead);line-height:1.65}.hero-copy>p{max-width:54ch}.hero-location{display:flex;align-items:center;gap:.45rem}.actions{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1.75rem}.actions a{min-height:46px;height:auto;max-width:100%;white-space:normal;text-align:center;text-decoration:none;transition-property:translate,box-shadow,background-color;transition-duration:var(--motion-quick);transition-timing-function:var(--motion-ease)}.actions a.bg-main{color:var(--text-on-inverse);background:var(--surface-inverse)}.process-board{position:relative;padding:2rem;background:var(--surface-accent);border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:6px 6px 0 var(--border)}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block-end:1.65rem;color:var(--text-accent);font-size:var(--text-caption);font-weight:700}.board-symbol{display:grid;place-items:center;min-width:36px;min-height:36px;padding:.15rem .4rem;border:2px solid var(--border);border-radius:var(--radius-base);background:var(--surface-inverse);color:var(--text-on-inverse)}.process-board h2{font-size:clamp(1.8rem,2.7vw,2.35rem);margin-block-end:.6rem}.board-intro{font-size:1rem;max-width:34ch}.flow-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block:1.8rem}.flow-control{position:relative;min-width:0}.flow-control button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;width:100%;min-height:102px;padding:1rem .4rem;font-size:var(--text-caption);font-weight:700;color:var(--foreground);background:var(--secondary-background);border:2px solid var(--border);border-radius:var(--radius-base);transition:background-color var(--motion-quick) var(--motion-ease)}.flow-control button[aria-pressed=true]{color:var(--text-on-inverse);background:var(--surface-inverse);box-shadow:3px 3px 0 var(--border)}.process-selected{position:absolute;inset-block-start:.35rem;inset-inline-end:.35rem;visibility:hidden;stroke-width:2.5}.flow-control button[aria-pressed=true] .process-selected{visibility:visible}.flow-connector{position:absolute;inset-inline-end:-17px;inset-block-start:43px;color:var(--text-accent);z-index:2;pointer-events:none}.flow-explanation{min-height:242px;padding-block:1.3rem .25rem;border-block-start:2px solid var(--text-accent)}.flow-explanation h3{font-size:1.25rem;margin-block-end:.65rem}.flow-explanation p{max-width:60ch;font-size:1rem}.process-check{color:var(--text-accent)}.board-caption{font-size:var(--text-caption);color:var(--text-secondary);margin-block-start:1.3rem}.expertise-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:2rem 4rem;border-block-start:1px solid var(--line-subtle)}.expertise-section .section-heading{margin:0}.expertise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}.expertise-item{display:flex;align-items:flex-start;gap:1rem;padding-block:1.3rem;border-block-end:1px solid var(--line-subtle)}.expertise-item:nth-child(-n+2){padding-block-start:0}.expertise-item h3{font-size:1.1rem;margin-block-end:.5rem}.expertise-item p{font-size:1rem;max-width:45ch}.icon-tile{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:2px solid var(--border);border-radius:var(--radius-base);background:var(--surface-inverse);color:var(--text-on-inverse);box-shadow:2px 2px 0 var(--border)}.portfolio-icon{flex-shrink:0}.tools{grid-column:1/-1;padding-block-start:1.75rem;border-block-start:1px solid var(--line-subtle)}.tools h3{font-size:1.15rem;margin-block-end:1rem}.tool-list{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin:0;padding:0}.tool-list li{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;font-size:var(--text-caption);color:var(--text-accent);background:var(--secondary-background);border:1px solid var(--text-accent);border-radius:var(--radius-base)}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem}.project.featured{grid-column:1/-1}.project [data-slot=card]{height:auto;background:var(--secondary-background)}.project.featured [data-slot=card]{border-block-start:5px solid var(--main)}.project [data-slot=card-header]{gap:.8rem}.project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .8rem;margin-block-end:.65rem;font-size:var(--text-caption)}.project-icon{display:grid;place-items:center;min-width:34px;min-height:34px;color:var(--text-accent);background:var(--surface-accent);border-radius:var(--radius-base)}.project [data-slot=badge]{background:var(--surface-accent);color:var(--text-accent)}[data-slot=badge]{white-space:normal;max-width:100%;min-width:0}.featured-label{margin-inline-start:auto;font-weight:700;color:var(--text-accent)}.featured h3{font-size:1.8rem}.project-overview{margin-block-end:1.6rem}.project-overview>p{max-width:68ch}.project.featured .project-overview>p{font-size:var(--text-lead)}.project [data-slot=accordion-trigger]{min-height:48px;background:var(--surface-control);color:var(--foreground);transition:background-color var(--motion-quick) var(--motion-ease)}.project [data-slot=accordion-trigger][aria-expanded=true]{background:var(--surface-inverse);color:var(--text-on-inverse)}.project [data-slot=accordion-content]{background:var(--secondary-background)}.project-details{font-size:1rem;line-height:1.75}.project-details>p{max-width:72ch}.project-details>h4:first-child{margin-block-start:0}.project-details ul{padding-inline-start:1.3rem}.project-details li+li{margin-block-start:.55rem}.featured .contribution-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem}.change-example{padding:1.4rem;margin-block-start:1.5rem;border:2px solid var(--border);border-radius:var(--radius-base);background:var(--background)}.change-example h4{margin-block-start:0}.experience-section{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);gap:3rem 4rem}.timeline{border-block-start:2px solid var(--border)}.experience-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:1.5rem;padding-block:2rem;border-block-end:1px solid var(--line-subtle)}.experience-row>div:first-child{color:var(--text-secondary);font-size:var(--text-caption)}.employer{font-weight:700;margin:.5rem 0 1rem}.experience-row p{max-width:65ch}.credential{display:flex;align-items:flex-start;gap:1.5rem;padding:2rem;background:var(--surface-inverse);color:var(--text-on-inverse);border:2px solid var(--border);border-radius:var(--radius-base);box-shadow:4px 4px 0 var(--border);margin-block-end:2.5rem}.credential>svg{flex-shrink:0}.credential h3{font-size:1.4rem;max-width:58ch;margin:.4rem 0 .8rem}.credential-label{font-size:var(--text-caption)}.education-grid,.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.education-item{padding-block-end:1.7rem;border-block-end:1px solid var(--line-subtle)}.education-item h3{margin:.6rem 0}.education-item .small{margin-block-start:.5rem}.recognition{margin-block-start:2.5rem}.recognition h3{font-size:1.2rem}.recognition ul{list-style:none;padding:0;margin:1rem 0 0}.recognition li{display:grid;grid-template-columns:170px minmax(0,1fr);gap:1.5rem;padding-block:1.1rem;border-block-end:1px solid var(--line-subtle)}.recognition li div p{color:var(--text-secondary);font-size:var(--text-caption)}.analytics-grid [data-slot=card]{background:var(--secondary-background)}.analytics-method{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;color:var(--text-accent);padding-block-end:1rem;margin-block-end:.7rem;border-block-end:1px solid var(--line-accent)}.analytics-method svg{stroke-width:1.75;flex-shrink:0}.analytics-method span{flex-basis:100%;font-size:var(--text-caption)}.about{display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-block-start:2px solid var(--border);margin-block-start:2rem}.contact-copy{max-width:58ch}.contact-address{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:1rem;color:var(--text-accent);overflow-wrap:anywhere}.contact-copy .actions{margin-block-end:.5rem}footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:var(--content-width);margin-inline:auto;padding:1.5rem var(--gutter);border-block-start:1px solid var(--line-subtle);font-size:var(--text-caption);color:var(--text-secondary)}footer a{display:inline-flex;align-items:center;min-height:44px}.background-details{position:fixed;inset:0;z-index:0;color:var(--text-accent);opacity:.055;pointer-events:none}.skip-link{position:fixed;inset-block-start:-100px;inset-inline-start:1rem;z-index:100;padding:1rem;background:var(--secondary-background);border:2px solid var(--border)}.skip-link:focus{inset-block-start:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(hover:hover){.nav-links a:hover{color:var(--text-accent);text-decoration:underline}.flow-control button:not([aria-pressed=true]):hover{background:var(--surface-accent-hover)}.project [data-slot=accordion-trigger]:not([aria-expanded=true]):hover{background:var(--surface-accent-hover)}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.flow-control button{transition:background-color var(--motion-quick) var(--motion-ease),scale var(--motion-quick) ease-out}.flow-control button:active:not(:disabled){scale:.96}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.actions a{translate:none!important;transform:none!important}}@media(max-width:1100px){.hero{gap:2.5rem}.process-board{padding:1.65rem}.expertise-section,.experience-section{grid-template-columns:1fr;gap:2.5rem}.expertise-section .section-heading{max-width:600px}.tools{grid-column:auto}.experience-row{grid-template-columns:210px minmax(0,1fr)}}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:3rem}.hero-copy{max-width:680px}.hero h1{font-size:clamp(3.4rem,10vw,5.75rem)}.process-board{width:100%;max-width:680px;padding:2rem}.flow-explanation{min-height:200px}.name-mark span{display:none}.featured .contribution-groups{grid-template-columns:1fr}.about{gap:2rem}}@media(max-width:600px){.navigation{padding-block:.35rem;gap:.3rem}.nav-links{gap:.15rem .65rem}.nav-links a{font-size:.875rem;padding-inline:0}.hero{padding-block:2.75rem}.hero .lead{font-size:1rem}.process-board{padding:1.6rem}.flow-controls{gap:.75rem}.flow-control button{min-height:94px;padding:1rem .2rem;font-size:.8125rem}.flow-connector{inset-inline-end:-15px;width:14px;inset-block-start:40px}.flow-explanation{min-height:0}.section-heading{margin-block-end:2rem}.expertise-grid,.projects-grid,.education-grid,.analytics-grid,.about{grid-template-columns:1fr}.expertise-item:nth-child(2){padding-block-start:1.3rem}.expertise-item{gap:1rem}.tools{grid-template-columns:1fr;gap:.8rem}.featured h3{font-size:1.45rem}.featured-label{margin-inline-start:0}.experience-row{grid-template-columns:1fr;gap:.7rem}.credential{padding:1.6rem;gap:1rem}.credential>svg{width:28px}.credential h3{font-size:1.15rem}.recognition li{grid-template-columns:1fr;gap:.3rem}.about{margin-block-start:1rem}.contact-address{font-size:.95rem}.background-details{opacity:.04}}@media(forced-colors:active){.background-details{display:none}.flow-control button[aria-pressed=true],.nav-links a[aria-current=location]{border-color:Highlight}.flow-control button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:2px}:where(a,button,summary):focus-visible{outline-color:Highlight}.process-selected{color:ButtonText}.credential{border-color:CanvasText}}[dir=rtl] .flow-connector{transform:scaleX(-1)}.expertise-item>div,.analytics-grid [data-slot=card-header]>*,.project [data-slot=accordion-trigger]>span{min-width:0;overflow-wrap:anywhere}@media(max-width:900px){.expertise-grid,.projects-grid,.education-grid,.analytics-grid,.about{grid-template-columns:1fr}.expertise-item:nth-child(2){padding-block-start:1.3rem}.experience-row{grid-template-columns:1fr;gap:.7rem}}@media print{.site-header,.background-details,.skip-link,.flow-controls,.actions,footer{display:none!important}body{background:var(--secondary-background)}.section-shell{padding:1.5rem 0;display:block}.project,.education-item,.experience-row{break-inside:avoid}.process-board,.credential,[data-slot=card]{box-shadow:none}}.actions a.bg-main svg,.icon-tile svg,.board-symbol,.flow-control button[aria-pressed=true] svg,.project [data-slot=accordion-trigger][aria-expanded=true] svg,.credential svg{color:var(--text-on-inverse);stroke:currentColor}.project [data-slot=accordion-trigger]{font-size:1rem;line-height:1.5}.project-details{max-width:72ch}.project-details ul{margin-block:.8rem 0;list-style:disc}.project-details li::marker{color:var(--text-accent)}.project-details h4{margin-block:1.2rem .5rem}.project-details h4:first-child{margin-block-start:0}.featured .project-details{max-width:none}.contribution-groups{margin-block-start:1rem}.contribution-groups h5{margin:1rem 0 .25rem;font-size:1rem;font-weight:650;color:var(--text-accent)}.contribution-groups ul{margin-block:.4rem 0}:root{--content-width:80rem}@media(min-width:1700px){html{font-size:106.25%}}@media(min-width:2000px){html{font-size:118.75%}}@media(min-width:2400px){html{font-size:131.25%}}@media(orientation:landscape)and (max-height:500px){.hero{padding-block:1.5rem;gap:2rem}.hero h1{font-size:clamp(2.5rem,12vh,3.5rem)}.process-board{padding:1.25rem}}.hero-location-note{display:block;font-size:inherit;color:var(--text-secondary);margin-top:.15rem}:root{--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.3rem;--fs-xl:1.75rem}.nav-links a{font-size:var(--fs-sm)}.name-mark span{font-size:var(--fs-base)}.expertise-item h3,.flow-explanation h3,.project-details h4{font-size:var(--fs-md)}.tools h3,.recognition h3,.credential h3{font-size:var(--fs-lg)}.process-board h2{font-size:var(--fs-xl)}@media(min-width:601px){.featured h3{font-size:var(--fs-xl)}}.contribution-groups h5{font-weight:700}.featured .project-details>p,.project.featured .project-overview>p{max-width:62ch}.hero .role{font-size:var(--fs-lg);line-height:1.4;max-width:32ch}:root{color-scheme:light;--blue-50: #f2f7ff;--blue-100: #dcebfe;--blue-200: #c6ddff;--blue-500: #8cbcff;--blue-600: #74adff;--orange-50: #fff6ea;--orange-100: #ffe9cc;--orange-200: #ffd29a;--orange-500: #ffa947;--orange-600: #f08f22;--background: var(--blue-100);--secondary-background: #ffffff;--foreground: #000000;--main: var(--blue-500);--main-foreground: #000000;--border: #000000;--ring: #000000;--shadow: 4px 4px 0 0 #000;--shadow-lg: 7px 7px 0 0 #000;--radius-base: 6px;--surface-accent: var(--blue-100);--surface-accent-hover: var(--blue-200);--surface-control: #ffffff;--surface-inverse: var(--blue-500);--text-on-inverse: #000000;--text-accent: #000000;--text-secondary: #262626;--line-subtle: #000000;--line-accent: #000000;--focus-color: #000000;--selection-bg: var(--orange-500);--selection-text: #000000;--band-hero: var(--blue-100);--band-expertise: var(--orange-100);--band-projects: var(--blue-100);--band-experience: var(--orange-100);--band-education: var(--blue-100);--band-analytics: var(--orange-100);--band-about: var(--blue-200);--grid-line: rgba(0, 0, 0, .07);--pop-1: var(--blue-500);--pop-2: var(--orange-500);--pop-3: var(--blue-500);--pop-4: var(--orange-500);--pop-5: var(--blue-500);--pop-6: var(--orange-500);--deco-1: var(--orange-500);--deco-2: var(--blue-500);--deco-3: var(--orange-200);--mark-tile: var(--blue-500);--mark-dot: var(--orange-500)}html{background:var(--secondary-background)}body{background:var(--background);color:var(--foreground);font-weight:500}h1,h2,h3,h4,h5{color:var(--foreground);letter-spacing:-.01em}a{color:inherit}.background-details{display:none}.site-header{background:var(--secondary-background);border-block-end:4px solid #000}.navigation{justify-content:flex-start;padding-block:.7rem;gap:.6rem 1.5rem}.name-mark{margin-inline-end:auto;color:var(--foreground);gap:.75rem}.name-mark .monogram{flex-shrink:0;display:block}.name-mark span{display:inline;font-size:1.15rem;font-weight:900;letter-spacing:-.02em}.nav-links{order:2;gap:.4rem}.nav-links a{font-size:.95rem;font-weight:700;padding:.35rem .8rem;min-height:40px;border:2px solid transparent;border-radius:var(--radius-base)}.nav-links a:hover{border-color:#000;background:var(--background);text-decoration:none;color:var(--foreground)}.nav-links a[aria-current=location]{border-color:#000;background:var(--main);color:#000;box-shadow:2px 2px #000}@media(max-width:700px){.nav-links{order:4;flex-basis:100%;justify-content:space-between}.nav-links a{padding-inline:.55rem;font-size:.9rem}}.band{position:relative;overflow:hidden;border-block-end:4px solid #000}.band>section{position:relative;z-index:1}.band-hero{background-color:var(--band-hero);background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:48px 48px}.band-expertise{background:var(--band-expertise)}.band-projects{background:var(--band-projects)}.band-experience{background:var(--band-experience)}.band-education{background:var(--band-education)}.band-analytics{background:var(--band-analytics)}.band-about{background:var(--band-about)}.deco{position:absolute;z-index:0;pointer-events:none}.deco-hero-1{width:110px;bottom:30px;left:-40px;rotate:-12deg}.deco-hero-2{width:64px;bottom:36px;left:46%;rotate:14deg}.deco-hero-3{width:150px;top:-46px;right:-40px}.deco-corner{width:120px;top:-38px;right:-34px;rotate:10deg}@media(max-width:700px){.deco-hero-1{width:70px;top:auto;bottom:12px;left:-30px}.deco-hero-2{display:none}.deco-hero-3{width:90px;top:-30px;right:-30px}.deco-corner{width:80px;top:-26px;right:-26px}}.section-heading h2{font-size:clamp(2.25rem,5.2vw,4rem);font-weight:900;line-height:1;letter-spacing:-.03em}.section-heading>p:last-child:not(.eyebrow){font-size:1.15rem;font-weight:500;color:var(--foreground)}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .85rem;margin-block-end:1rem;background:var(--secondary-background);color:var(--foreground);border:2px solid #000;border-radius:999px;box-shadow:2px 2px #000;font-size:.85rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.eyebrow svg{color:var(--foreground)}[data-slot=card],.process-board,.credential,.expertise-item,.experience-row,.education-item{background:var(--secondary-background);color:var(--foreground);border:2px solid #000;border-radius:var(--radius-base);box-shadow:var(--shadow)}.icon-tile{background:var(--pop-1);color:#000;border:2px solid #000;border-radius:var(--radius-base);box-shadow:2px 2px #000}.icon-tile svg{color:#000!important}.expertise-item:nth-child(6n+2) .icon-tile{background:var(--pop-2)}.expertise-item:nth-child(6n+3) .icon-tile{background:var(--pop-3)}.expertise-item:nth-child(6n+4) .icon-tile{background:var(--pop-4)}.expertise-item:nth-child(6n+5) .icon-tile{background:var(--pop-5)}.expertise-item:nth-child(6n+6) .icon-tile{background:var(--pop-6)}.actions a{border:2px solid #000!important;border-radius:var(--radius-base)!important;box-shadow:var(--shadow)!important;font-weight:800!important;color:#000!important;background:var(--secondary-background)!important;transition:translate .1s,box-shadow .1s!important}.actions a:first-child{background:var(--main)!important}.actions a:hover{translate:4px 4px;box-shadow:none!important;text-decoration:none}.actions a svg{color:#000!important}.hero{padding-block:clamp(3rem,7vw,6rem)}.hero h1{font-size:clamp(3.25rem,9vw,7rem);font-weight:900;line-height:.95;letter-spacing:-.04em}.hero-greeting{display:block;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;letter-spacing:-.02em;color:var(--foreground);margin-block-end:.35rem}.hl{color:var(--pop-3);-webkit-text-stroke:3px #000;paint-order:stroke fill;text-shadow:5px 5px 0 #000}.hero h1+.hero-kicker{display:inline-block;margin-block:1.4rem 1.25rem;padding:.3rem .85rem;background:var(--pop-2);color:#000;border:2px solid #000;border-radius:999px;box-shadow:2px 2px #000;font-size:.9rem;font-weight:800}.hero .role{font-size:clamp(1.3rem,2.2vw,1.75rem);font-weight:800;line-height:1.3;max-width:30ch;color:var(--foreground)}.hero .lead{font-size:1.1rem;color:var(--foreground);max-width:52ch}.hero-location{display:inline-flex;align-items:flex-start;gap:.5rem;margin-block-start:1.5rem;padding:.5rem .9rem;background:var(--secondary-background);color:var(--foreground);border:2px solid #000;border-radius:var(--radius-base);box-shadow:2px 2px #000;font-weight:700;font-size:.95rem}.hero-location svg{margin-block-start:.2rem;flex-shrink:0}.hero-location-note{display:block;font-weight:500;font-size:.875rem;color:var(--text-secondary)}.hero-location[data-loading]{visibility:hidden}.process-board{box-shadow:var(--shadow-lg);padding:clamp(1.25rem,3vw,2rem)}.board-heading span:first-child{display:inline-block;padding:.2rem .7rem;background:var(--pop-2);color:#000;border:2px solid #000;border-radius:999px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.process-board h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:900}.board-intro,.board-caption,.flow-explanation p{color:var(--foreground)}.flow-control button{background:var(--secondary-background);color:var(--foreground);border:2px solid #000;border-radius:var(--radius-base);box-shadow:var(--shadow);font-weight:800;transition:translate .1s,box-shadow .1s}.flow-control button:not([aria-pressed=true]):hover{translate:2px 2px;box-shadow:2px 2px #000;background:var(--secondary-background)}.flow-control button[aria-pressed=true]{background:var(--main);color:#000;translate:4px 4px;box-shadow:none}.flow-control button[aria-pressed=true] svg{color:#000!important}.flow-connector{color:var(--foreground)}.flow-explanation{border-color:#000}.process-check{font-weight:700}.expertise-item{padding:1.25rem}.expertise-item h3{font-size:1.2rem;font-weight:800}.expertise-item p{color:var(--foreground)}.tools h3{font-size:1.5rem;font-weight:900}.tool-list li{background:var(--secondary-background);color:#000;border:2px solid #000;border-radius:999px;box-shadow:2px 2px #000;font-weight:700}.tool-list li:nth-child(6n+1){background:var(--pop-1)}.tool-list li:nth-child(6n+2){background:var(--pop-2)}.tool-list li:nth-child(6n+3){background:var(--pop-3)}.tool-list li:nth-child(6n+4){background:var(--pop-4)}.tool-list li:nth-child(6n+5){background:var(--pop-5)}.tool-list li:nth-child(6n+6){background:var(--pop-6)}.tool-list svg{color:#000!important}.project [data-slot=card]{background:var(--secondary-background)}.project.featured [data-slot=card]{box-shadow:var(--shadow-lg);border-top:2px solid #000}.project h3{font-weight:900;letter-spacing:-.02em}.project [data-slot=badge]{background:var(--pop-2);color:#000;border:2px solid #000;font-weight:800}.project-icon{background:var(--pop-1);border:2px solid #000;border-radius:var(--radius-base);color:#000}.project-icon svg{color:#000!important}.featured-label{padding:.2rem .7rem;background:var(--pop-4);color:#000!important;border:2px solid #000;border-radius:999px;font-size:.8rem;font-weight:800;text-transform:uppercase}.project [data-slot=accordion-trigger]{background:var(--main)!important;color:#000!important;font-weight:800;border:0!important;border-radius:0;box-shadow:none!important;min-height:52px;padding-block:.85rem;align-items:center}.project [data-slot=accordion-trigger][aria-expanded=true]{border-block-end:2px solid #000!important}.project [data-slot=accordion-item]{border:2px solid #000;box-shadow:var(--shadow);background:var(--secondary-background)}.project [data-slot=accordion-trigger] svg{color:#000!important}.project [data-slot=accordion-trigger]:not([aria-expanded=true]):hover{background:var(--blue-600)!important}.project [data-slot=accordion-content]{background:var(--secondary-background);color:var(--foreground)}.project-details h4{font-weight:900}.contribution-groups h5{display:inline-block;padding:.15rem .6rem;margin-block:1rem .4rem;background:var(--pop-3);color:#000!important;border:2px solid #000;border-radius:var(--radius-base);font-size:.9rem;font-weight:800}.project-details li::marker{color:var(--foreground)}.experience-row{padding:1.25rem 1.5rem}.experience-row+.experience-row{margin-block-start:1.25rem}.experience-row h3{font-weight:900}.experience-row .dates{display:inline-block;padding:.15rem .6rem;background:var(--pop-2);color:#000;border:2px solid #000;border-radius:999px;font-weight:800;font-size:.8rem}.employer{font-weight:800;color:var(--foreground)}.experience-row p{color:var(--foreground)}.timeline{border:0}.credential{padding:1.5rem;background:var(--secondary-background)}.credential>svg{color:#000;background:var(--pop-2);border:2px solid #000;border-radius:var(--radius-base);padding:.4rem}.credential-label{font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--foreground)}.education-item{padding:1.25rem}.education-item h3{font-weight:900}.education-item .dates{font-weight:800;color:var(--foreground)}.recognition h3{font-size:1.5rem;font-weight:900}.recognition li{background:var(--secondary-background);border:2px solid #000;border-radius:var(--radius-base);box-shadow:2px 2px #000;padding:.75rem 1rem}.recognition .dates{font-weight:800;color:var(--foreground)}.analytics-method{color:var(--foreground)}.analytics-method span{font-weight:800}.analytics-grid h3{font-weight:900}.contact-copy p{color:var(--foreground);font-size:1.1rem}.contact-address{font-weight:800;color:var(--foreground);text-decoration-thickness:2px}footer{background:#000;color:#fff;border:0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;padding:1.5rem var(--gutter);font-weight:700}footer a{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.small,.dates,.hero-kicker,.board-caption{color:var(--foreground)}@media(prefers-reduced-motion:reduce){.actions a,.flow-control button{transition:none!important}.actions a:hover{translate:none}}.expertise-grid{gap:1.25rem}.expertise-item,.expertise-item:nth-child(-n+2),.expertise-item:nth-child(2){border:2px solid #000;margin:0}.about{border:0!important}.about h2{font-size:clamp(2.25rem,5.2vw,4rem);font-weight:900;line-height:1;letter-spacing:-.03em}:root{--chart-1: var(--blue-500);--chart-2: var(--orange-500);--chart-3: var(--blue-200);--chart-4: var(--orange-200);--chart-5: var(--blue-600)}.eyebrow,.hero-kicker,.board-heading span:first-child,.featured-label,[data-slot=badge],.experience-row .dates,.contribution-groups h5{white-space:nowrap;line-height:1.25;vertical-align:middle}.project-meta{align-items:center;row-gap:.5rem}.project [data-slot=badge]{padding:.2rem .6rem;font-size:.75rem;line-height:1.25}.experience-row{grid-template-columns:max-content minmax(0,1fr);column-gap:2rem;align-items:start}.experience-row>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.experience-row>div:first-child p{margin:0}.recognition li{grid-template-columns:max-content minmax(0,1fr);column-gap:1.5rem;align-items:center}.recognition .dates{white-space:nowrap;margin:0}.tool-list li{line-height:1.25;padding:.5rem .9rem;align-items:center}.tool-list svg{flex-shrink:0}.experience-row{grid-template-columns:14.5rem minmax(0,1fr)}.recognition li{grid-template-columns:7.5rem minmax(0,1fr)}.recognition ul{display:grid;gap:.75rem}.tools{border-top:2px solid #000}@media(max-width:900px){.experience-row{grid-template-columns:1fr}}@media(max-width:600px){.recognition li{grid-template-columns:1fr}}@media(max-width:700px){.nav-links{flex-wrap:nowrap;gap:.25rem}.nav-links a{flex:1 1 auto;justify-content:center;padding-inline:.35rem;font-size:.875rem;min-width:0}}@media(max-width:360px){.nav-links a{font-size:.8125rem;padding-inline:.25rem}}@media(max-width:360px){.hero h1+.hero-kicker{font-size:.75rem;padding-inline:.6rem}}footer{max-width:none;margin:0;padding-inline:max(var(--gutter),calc((100% - var(--content-width)) / 2 + var(--gutter)));border-block-start:0;font-size:1rem;color:#fff}footer span{color:#fff}.footer-note{flex:1 1 280px;text-align:center;font-size:.8rem;font-weight:500;color:#d4d4d4}@media(max-width:700px){.footer-note{text-align:left;order:3}}.expertise-grid .expertise-item,.expertise-grid .expertise-item:nth-child(n){padding:1.25rem;border:2px solid #000;margin:0}
