@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,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;--spacing:.25rem;--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)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.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:#f4f8ff;--panel:#fff;--panel-soft:#edf4ff;--ink:#122344;--muted:#546886;--line:#c2d1eb;--accent-cyan:#0077c8;--accent-amber:#d07d36;--accent-mint:#058175;--accent-drl:#7bb5ff;--accent-cfd:#59d8cd;--accent-hpc:#f7b067;--shadow:#1d365b1f;--card-space:1.32rem;--section-gap:2.2rem;--content-width:1200px;--icon-stroke:1.8;--page-accent:var(--accent-cfd);--cfd-scroll:0;--cfd-progress:0;--cfd-jet:.18;--cfd-pulse:0}[data-theme=dark]{--bg:#07101f;--panel:#0d1a31;--panel-soft:#122445;--ink:#e7eefc;--muted:#9ab0d9;--line:#234067;--accent-cyan:#4bb1ff;--accent-amber:#ffb573;--accent-mint:#64d2c8;--accent-drl:#7eb4ff;--accent-cfd:#5fdcd0;--accent-hpc:#ffbb74;--shadow:#060e1b8c}*{box-sizing:border-box}html,body{min-height:100%}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 10%,var(--accent-cyan)0,transparent 30%),radial-gradient(circle at 88% 10%,var(--accent-amber)0,transparent 34%),var(--bg);margin:0}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(circle at 8% 10%,color-mix(in oklab,var(--accent-cyan),transparent 84%)0,transparent 30%),radial-gradient(circle at 88% 10%,color-mix(in oklab,var(--accent-amber),transparent 82%)0,transparent 34%),var(--bg)}}body{color:var(--ink);font-family:var(--font-body),sans-serif;text-wrap:pretty;font-size:1.04rem;line-height:1.62}.portfolio-shell{isolation:isolate;position:relative;overflow:hidden}.streamline-overlay{pointer-events:none;z-index:-1;opacity:.2;background-image:radial-gradient(120% 46% at 10% 14%,transparent 64%,var(--accent-cfd)65%,transparent 66%),radial-gradient(120% 46% at 64% 26%,transparent 64%,var(--accent-cyan)65%,transparent 66%),radial-gradient(120% 42% at 78% 70%,transparent 64%,var(--accent-mint)65%,transparent 66%);position:fixed;inset:-10% -8%}@supports (color:color-mix(in lab, red, red)){.streamline-overlay{background-image:radial-gradient(120% 46% at 10% 14%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 76%)65%,transparent 66%),radial-gradient(120% 46% at 64% 26%,transparent 64%,color-mix(in oklab,var(--accent-cyan),transparent 82%)65%,transparent 66%),radial-gradient(120% 42% at 78% 70%,transparent 64%,color-mix(in oklab,var(--accent-mint),transparent 84%)65%,transparent 66%)}}.streamline-overlay{background-repeat:repeat;background-size:760px 260px,840px 300px,720px 280px;animation:54s linear infinite streamDrift;-webkit-mask-image:radial-gradient(circle at 50% 24%,#000 20%,#0000 78%);mask-image:radial-gradient(circle at 50% 24%,#000 20%,#0000 78%)}.mesh-overlay{pointer-events:none;z-index:-1;background-image:linear-gradient(to right,var(--line)1px,transparent 1px),linear-gradient(to bottom,var(--line)1px,transparent 1px);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.mesh-overlay{background-image:linear-gradient(to right,color-mix(in oklab,var(--line),transparent 62%)1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--line),transparent 64%)1px,transparent 1px)}}.mesh-overlay{background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at 50% 15%,#000 10%,#0000 76%);mask-image:radial-gradient(circle at 50% 15%,#000 10%,#0000 76%)}.cfd-bg-overlay{pointer-events:none;z-index:-1;display:none;position:fixed;inset:0;overflow:hidden}.cfd-bg-svg{width:100%;height:100%}.cfd-ambient-scene,.cfd-network-scene,.cfd-airfoil-scene,.cfd-jet-layer{fill:none;vector-effect:non-scaling-stroke;transform-box:view-box;transform-origin:50%}.cfd-ambient-scene{transform:translateY(calc(var(--cfd-scroll,0)*-.014px))}.cfd-network-scene{transform:translateY(calc(var(--cfd-scroll,0)*-.009px))}.cfd-airfoil-scene{transform:translateY(calc(var(--cfd-scroll,0)*-.02px))}.cfd-ambient-stream{stroke:url(#cfdAmbient);stroke-width:1.25px;stroke-linecap:round;opacity:calc(.1 + var(--cfd-progress,0)*.2)}.cfd-network-connection{stroke:url(#cfdNetwork);stroke-width:1px;opacity:calc(.14 + var(--cfd-progress,0)*.48)}.cfd-network-node{fill:none}.cfd-neuron-base{fill:var(--panel)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-base{fill:color-mix(in oklab,var(--panel),var(--line)12%)}}.cfd-neuron-base{stroke:var(--line)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-base{stroke:color-mix(in oklab,var(--line),var(--ink)38%)}}.cfd-neuron-base{stroke-width:1px}.cfd-neuron-activation{fill:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-activation{fill:color-mix(in oklab,var(--accent-drl),white 12%)}}.cfd-neuron-activation{opacity:clamp(.08,calc(.08 + var(--cfd-progress,0)*.62 + var(--cfd-pulse,0)*.14 + var(--node-gain,0)),.96)}.cfd-network-node-output .cfd-neuron-activation{fill:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.cfd-network-node-output .cfd-neuron-activation{fill:color-mix(in oklab,var(--accent-cfd),var(--accent-cyan)34%)}}.cfd-neuron-core{fill:var(--panel)}@supports (color:color-mix(in lab, red, red)){.cfd-neuron-core{fill:color-mix(in oklab,var(--panel),transparent 4%)}}.cfd-neuron-core{opacity:calc(.36 + var(--cfd-progress,0)*.52)}.cfd-sensing-link{stroke:url(#cfdSense);stroke-width:1.35px;stroke-dasharray:4 8;stroke-linecap:round;opacity:calc(.22 + var(--cfd-progress,0)*.58)}.cfd-actuation-link{stroke:url(#cfdActuate);stroke-width:1.3px;stroke-dasharray:5 8;stroke-linecap:round;opacity:calc(.18 + var(--cfd-progress,0)*.66)}.cfd-airfoil-body{fill:var(--panel)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-body{fill:color-mix(in oklab,var(--panel),var(--accent-cfd)8%)}}.cfd-airfoil-body{stroke:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-body{stroke:color-mix(in oklab,var(--accent-cfd),var(--ink)46%)}}.cfd-airfoil-body{stroke-width:1.45px}.cfd-airfoil-core{fill:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-core{fill:color-mix(in oklab,var(--panel-soft),transparent 12%)}}.cfd-airfoil-core{stroke:var(--accent-cyan)}@supports (color:color-mix(in lab, red, red)){.cfd-airfoil-core{stroke:color-mix(in oklab,var(--accent-cyan),var(--line)58%)}}.cfd-airfoil-core{stroke-width:1px}.cfd-orifice-segment{fill:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.cfd-orifice-segment{fill:color-mix(in oklab,var(--accent-cfd),var(--panel)52%)}}.cfd-orifice-segment{stroke:var(--accent-cyan)}@supports (color:color-mix(in lab, red, red)){.cfd-orifice-segment{stroke:color-mix(in oklab,var(--accent-cyan),var(--ink)40%)}}.cfd-orifice-segment{stroke-width:.9px}.cfd-probe-halo{fill:#f15d5d9e;fill:lab(59.9626% 57.9134 31.6522/.62);opacity:calc(.08 + var(--cfd-progress,0)*.56)}.cfd-probe-point{fill:#e94a4a;stroke:var(--ink)}@supports (color:color-mix(in lab, red, red)){.cfd-probe-point{stroke:color-mix(in oklab,var(--ink),transparent 74%)}}.cfd-probe-point{stroke-width:1px}.cfd-jet-layer-low{transform:translateY(calc((.5 - var(--cfd-jet,0))*10px))}.cfd-jet-layer-high{transform:translateY(calc((.5 - var(--cfd-jet,0))*18px))scaleY(calc(.84 + var(--cfd-jet,0)*.3))}.cfd-jet-path{stroke:url(#cfdJet);stroke-linecap:round;fill:none}.cfd-jet-layer-low .cfd-jet-path{stroke-width:1.2px;opacity:calc(.14 + var(--cfd-jet,0)*.42)}.cfd-jet-layer-high .cfd-jet-path{stroke-width:1.38px;opacity:calc(.04 + var(--cfd-jet,0)*.64)}.glow{filter:blur(92px);opacity:.18;pointer-events:none;z-index:-2;border-radius:999px;width:24rem;height:24rem;position:fixed}.glow-static{will-change:auto}.glow-cyan{background:var(--accent-cyan);top:-9rem;right:-6rem}.glow-amber{background:var(--accent-amber);bottom:-10rem;left:-8rem}.site-frame{max-width:var(--content-width);margin:0 auto;padding:1.4rem 1.12rem 2.9rem}.site-header{z-index:40;border:1px solid var(--line);gap:.75rem;display:grid;position:sticky;top:.8rem}@supports (color:color-mix(in lab, red, red)){.site-header{border:1px solid color-mix(in oklab,var(--line),transparent 28%)}}.site-header{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklab,var(--panel),transparent 28%)}}.site-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;padding:.9rem}.brand-block{color:var(--ink);flex-direction:column;gap:.15rem;text-decoration:none;display:inline-flex}.brand-name{font-family:var(--font-display),serif;font-size:1.28rem;line-height:1}.brand-meta{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.71rem}.site-nav{scrollbar-width:thin;flex-wrap:nowrap;gap:.45rem;padding-bottom:.1rem;display:flex;overflow-x:auto}.nav-link{color:var(--muted);border:1px solid var(--line);text-decoration:none}@supports (color:color-mix(in lab, red, red)){.nav-link{border:1px solid color-mix(in oklab,var(--line),transparent 22%)}}.nav-link{white-space:nowrap;border-radius:999px;padding:.35rem .7rem;font-size:.83rem;transition:color .18s,border-color .18s,background-color .18s,transform .18s}.nav-link-content{align-items:center;gap:.34rem;display:inline-flex}.nav-link:hover{color:var(--ink);border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.nav-link:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)50%)}}.nav-link:hover{transform:translateY(-1px)}.nav-link-active{color:var(--ink);background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 87%)}}.nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)45%)}}.nav-link[data-route=\/publications],.nav-link[data-route=\/cv]{--page-accent:var(--accent-hpc)}.nav-link[data-route=\/research],.nav-link[data-route=\/]{--page-accent:var(--accent-cfd)}.nav-link[data-route=\/about],.nav-link[data-route=\/contact],.nav-link[data-route=\/media]{--page-accent:var(--accent-drl)}.theme-toggle{border:1px solid var(--line);justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.theme-toggle{border:1px solid color-mix(in oklab,var(--line),transparent 18%)}}.theme-toggle{background:var(--panel-soft);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.theme-toggle{background:color-mix(in oklab,var(--panel-soft),var(--panel)38%)}}.theme-toggle{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:.5rem .92rem;font-size:.78rem}.theme-toggle-group{flex-wrap:wrap;align-items:center;gap:.55rem;display:inline-flex}.style-picker{border:1px solid var(--line);align-items:center;gap:.45rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.style-picker{border:1px solid color-mix(in oklab,var(--line),transparent 16%)}}.style-picker{background:var(--panel-soft);border-radius:999px;padding:.32rem .36rem .32rem .62rem}@supports (color:color-mix(in lab, red, red)){.style-picker{background:color-mix(in oklab,var(--panel-soft),var(--panel)35%)}}.style-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem}.style-select{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.style-select{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.style-select{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.style-select{background:color-mix(in oklab,var(--panel),transparent 0%)}}.style-select{color:var(--ink);cursor:pointer;border-radius:999px;min-height:2rem;padding:.36rem .66rem;font-size:.76rem}.style-select:focus-visible{outline:2px solid var(--accent-cyan)}@supports (color:color-mix(in lab, red, red)){.style-select:focus-visible{outline:2px solid color-mix(in oklab,var(--accent-cyan),transparent 35%)}}.style-select:focus-visible{outline-offset:2px}.site-main{padding-top:1.35rem}.site-footer{border-top:1px solid var(--line);margin-top:2.4rem}@supports (color:color-mix(in lab, red, red)){.site-footer{border-top:1px solid color-mix(in oklab,var(--line),transparent 20%)}}.site-footer{color:var(--muted);padding:1.3rem 0 .4rem;font-size:.85rem}.portfolio-chat-root{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:70;flex-direction:column;align-items:flex-end;gap:.7rem;display:flex;position:fixed}.portfolio-chat-launcher{border:1px solid var(--line);border-radius:999px;align-items:center;gap:.45rem;min-height:2.7rem;padding:0 .95rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-launcher{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-launcher{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-launcher{background:color-mix(in oklab,var(--panel),transparent 8%)}}.portfolio-chat-launcher{color:var(--ink);font-family:var(--font-mono),monospace;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 16%);font-size:.74rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-launcher{box-shadow:0 8px 20px color-mix(in oklab,var(--shadow),transparent 16%)}}.portfolio-chat-launcher{-webkit-backdrop-filter:blur(8px)saturate(118%);backdrop-filter:blur(8px)saturate(118%)}.portfolio-chat-panel{border:1px solid var(--line);width:min(380px,100vw - 1.4rem);max-height:min(78vh,640px)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-panel{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.portfolio-chat-panel{background:var(--panel);border-radius:1rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-panel{background:color-mix(in oklab,var(--panel),transparent 4%)}}.portfolio-chat-panel{box-shadow:0 20px 36px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 10%)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-panel{box-shadow:0 20px 36px color-mix(in oklab,var(--shadow),transparent 10%)}}.portfolio-chat-panel{-webkit-backdrop-filter:blur(12px)saturate(128%);backdrop-filter:blur(12px)saturate(128%);flex-direction:column;display:flex;overflow:hidden}.portfolio-chat-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:.7rem;padding:.86rem .92rem .7rem;display:flex}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-header{border-bottom:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.portfolio-chat-title{font-family:var(--font-display),serif;margin:0;font-size:1rem;line-height:1.1}.portfolio-chat-subtitle{color:var(--muted);margin:.28rem 0 0;font-size:.76rem;line-height:1.35}.portfolio-chat-close{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-close{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-close{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-close{background:color-mix(in oklab,var(--panel-soft),var(--panel)50%)}}.portfolio-chat-close{color:var(--ink);cursor:pointer;border-radius:.55rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.portfolio-chat-messages{flex-direction:column;flex:1;gap:.56rem;min-height:0;padding:.85rem .92rem;display:flex;overflow:auto}.portfolio-chat-bubble{border:1px solid var(--line);border-radius:.72rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble{border:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.portfolio-chat-bubble{max-width:100%;padding:.55rem .62rem;font-size:.87rem;line-height:1.42}.portfolio-chat-bubble p{overflow-wrap:anywhere;margin:0}.portfolio-chat-bubble-user{background:var(--accent-cfd);align-self:flex-end}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble-user{background:color-mix(in oklab,var(--accent-cfd),transparent 86%)}}.portfolio-chat-bubble-user{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble-user{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)56%)}}.portfolio-chat-bubble-assistant{background:var(--panel-soft);align-self:flex-start}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-bubble-assistant{background:color-mix(in oklab,var(--panel-soft),var(--panel)50%)}}.portfolio-chat-bubble-loading{align-items:center;gap:.42rem;display:inline-flex}.portfolio-chat-spinner{animation:1s linear infinite chatSpin}.portfolio-chat-error{color:#b03a3a;margin:0;padding:0 .92rem .62rem;font-size:.74rem;line-height:1.4}.portfolio-chat-error code{font-family:var(--font-mono),monospace;font-size:.72rem}.portfolio-chat-form{grid-template-columns:1fr auto;gap:.5rem;padding:0 .92rem .82rem;display:grid}.portfolio-chat-input{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-input{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-input{background:var(--panel-soft);border-radius:.62rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-input{background:color-mix(in oklab,var(--panel-soft),var(--panel)52%)}}.portfolio-chat-input{color:var(--ink);min-height:2.38rem;padding:0 .7rem;font-size:.88rem}.portfolio-chat-input:focus-visible{outline:2px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-input:focus-visible{outline:2px solid color-mix(in oklab,var(--page-accent),transparent 40%)}}.portfolio-chat-input:focus-visible{outline-offset:1px}.portfolio-chat-send{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-send{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.portfolio-chat-send{background:var(--page-accent);border-radius:.62rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-send{background:color-mix(in oklab,var(--page-accent),transparent 84%)}}.portfolio-chat-send{color:var(--ink);cursor:pointer;justify-content:center;align-items:center;min-width:2.55rem;min-height:2.38rem;display:inline-flex}.portfolio-chat-send:disabled{cursor:not-allowed;opacity:.56}.portfolio-chat-reset{border:0;border-top:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-reset{border-top:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.portfolio-chat-reset{color:var(--muted);cursor:pointer;background:0 0;min-height:2.2rem;font-size:.76rem}.portfolio-chat-reset:hover{color:var(--ink)}.portfolio-chat-lib .aui-root,.portfolio-chat-modal-content.aui-root{--aui-background:0 0% 100%;--aui-foreground:220 28% 16%;--aui-card:0 0% 100%;--aui-card-foreground:220 28% 16%;--aui-popover:0 0% 100%;--aui-popover-foreground:220 28% 16%;--aui-primary:202 100% 38%;--aui-primary-foreground:0 0% 100%;--aui-secondary:213 100% 97%;--aui-secondary-foreground:220 28% 16%;--aui-muted:213 100% 97%;--aui-muted-foreground:216 26% 44%;--aui-accent:213 100% 97%;--aui-accent-foreground:220 28% 16%;--aui-border:215 48% 86%;--aui-input:215 48% 86%;--aui-ring:202 100% 38%;--aui-radius:.65rem}[data-theme=dark] .portfolio-chat-lib .aui-root,[data-theme=dark] .portfolio-chat-modal-content.aui-root{--aui-background:218 46% 10%;--aui-foreground:215 70% 94%;--aui-card:218 46% 10%;--aui-card-foreground:215 70% 94%;--aui-popover:218 46% 10%;--aui-popover-foreground:215 70% 94%;--aui-primary:201 100% 64%;--aui-primary-foreground:218 46% 10%;--aui-secondary:217 39% 17%;--aui-secondary-foreground:215 70% 94%;--aui-muted:217 39% 17%;--aui-muted-foreground:218 23% 72%;--aui-accent:217 39% 17%;--aui-accent-foreground:215 70% 94%;--aui-border:216 40% 28%;--aui-input:216 40% 28%;--aui-ring:201 100% 64%}.portfolio-chat-lib .aui-modal-anchor{z-index:70;justify-content:flex-end;align-items:flex-end;width:auto;height:auto;display:flex;position:fixed;bottom:.9rem;left:auto;right:.9rem}@media (min-width:1240px){.portfolio-chat-lib .aui-modal-anchor{left:auto;right:calc((100vw - var(--content-width))/2 + .9rem)}}.portfolio-chat-lib .aui-modal-button{border:1px solid var(--line);width:auto;min-height:2.75rem;padding:.56rem .92rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-lib .aui-modal-button{border:1px solid color-mix(in oklab,var(--line),transparent 4%)}}.portfolio-chat-lib .aui-modal-button{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-lib .aui-modal-button{background:color-mix(in oklab,var(--panel),transparent 4%)}}.portfolio-chat-lib .aui-modal-button{color:var(--ink);box-shadow:0 8px 18px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 18%)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-lib .aui-modal-button{box-shadow:0 8px 18px color-mix(in oklab,var(--shadow),transparent 18%)}}.portfolio-chat-lib .aui-modal-button{letter-spacing:.01em;text-wrap:nowrap;border-radius:999px;font-size:.84rem;font-weight:600}.portfolio-chat-modal-content{width:min(420px,100vw - 1.3rem);height:min(80vh,720px);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.2rem);border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.portfolio-chat-modal-content{background:var(--bg);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content{background:color-mix(in oklab,var(--bg),var(--panel)72%)}}.portfolio-chat-modal-content{box-shadow:0 18px 34px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 14%)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content{box-shadow:0 18px 34px color-mix(in oklab,var(--shadow),transparent 14%)}}.portfolio-chat-modal-content{-webkit-backdrop-filter:blur(10px)saturate(120%);backdrop-filter:blur(10px)saturate(120%)}.portfolio-chat-modal-content .aui-thread-root{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-root{background:color-mix(in oklab,var(--bg),var(--panel)75%)}}.portfolio-chat-modal-content .aui-thread-viewport{padding-top:1.2rem;padding-left:.85rem;padding-right:.85rem}.portfolio-chat-modal-content .aui-thread-viewport-footer{background:var(--bg);padding-bottom:.75rem}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-viewport-footer{background:color-mix(in oklab,var(--bg),var(--panel)75%)}}.portfolio-chat-modal-content .aui-thread-welcome-message{text-align:center}.portfolio-chat-modal-content .aui-thread-welcome-suggestions{grid-template-columns:1fr;align-items:stretch;gap:.6rem;display:grid}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{text-align:left;background:var(--panel-soft);flex-basis:auto;align-items:flex-start;width:100%;min-width:0;max-width:none}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-welcome-suggestion{background:color-mix(in oklab,var(--panel-soft),var(--panel)45%)}}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-thread-welcome-suggestion{border-color:color-mix(in oklab,var(--line),transparent 16%)}}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.portfolio-chat-modal-content .aui-thread-welcome-suggestion-text{overflow-wrap:anywhere;word-break:break-word;line-height:1.35;-webkit-box-orient:initial!important;-webkit-line-clamp:initial!important;text-overflow:clip!important;white-space:normal!important;display:block!important;overflow:visible!important}.portfolio-chat-modal-content .aui-thread-followup-suggestions{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.portfolio-chat-modal-content .aui-thread-followup-suggestion{overflow-wrap:anywhere;text-align:left;max-width:100%;white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.portfolio-chat-lib .portfolio-chat-launcher-label-open{display:none}.portfolio-chat-lib .aui-modal-button[data-state=open] .portfolio-chat-launcher-label-open{display:inline}.portfolio-chat-lib .aui-modal-button[data-state=open] .portfolio-chat-launcher-label-closed{display:none}.portfolio-chat-modal-content .aui-composer-root{background:var(--panel-soft);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.portfolio-chat-modal-content .aui-composer-root{background:color-mix(in oklab,var(--panel-soft),var(--panel)45%)}}.portfolio-chat-modal-content .aui-composer-input{min-width:0;line-height:1.35}.portfolio-chat-modal-content .aui-composer-send,.portfolio-chat-modal-content .aui-composer-cancel,.portfolio-chat-modal-content .aui-composer-attach{flex-shrink:0}@keyframes chatSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.footer-meta{font-size:.78rem}.footer-controls{margin-top:.9rem}.eyebrow{letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.panel-label{font-family:var(--font-mono),monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--page-accent);align-items:center;gap:.42rem;margin:0 0 .5rem;font-size:.63rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.panel-label{color:color-mix(in oklab,var(--page-accent),var(--muted)55%)}}.panel-label:before{content:"";background:var(--page-accent);border-radius:999px;width:.34rem;height:.34rem}@supports (color:color-mix(in lab, red, red)){.panel-label:before{background:color-mix(in oklab,var(--page-accent),var(--ink)34%)}}.page-stack{gap:var(--section-gap);flex-direction:column;display:flex}.page-tone-home{--page-accent:var(--accent-cfd)}.page-tone-about{--page-accent:var(--accent-drl)}.page-tone-research{--page-accent:var(--accent-cfd)}.page-tone-publications{--page-accent:var(--accent-hpc)}.page-tone-media{--page-accent:var(--accent-mint)}@supports (color:color-mix(in lab, red, red)){.page-tone-media{--page-accent:color-mix(in oklab,var(--accent-mint),var(--accent-cfd)40%)}}.page-tone-cv{--page-accent:var(--accent-hpc)}.page-tone-contact{--page-accent:var(--accent-drl)}.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{border:1px solid color-mix(in oklab,var(--line),transparent 20%)}}.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{background:var(--panel);border-radius:1.18rem}@supports (color:color-mix(in lab, red, red)){.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{background:color-mix(in oklab,var(--panel),transparent 0%)}}.hero-panel,.hero-side-panel,.focus-card,.project-card,.list-card,.detail-card,.publication-card,.contact-banner{box-shadow:0 14px 34px var(--shadow)}.content-section{padding:.1rem 0;transition:transform .32s,opacity .32s}.hero-grid{gap:1rem;display:grid}.hero-panel,.hero-side-panel{padding:2.05rem}.hero-title{font-family:var(--font-display),serif;letter-spacing:-.02em;margin:.6rem 0 0;font-size:clamp(2.15rem,5.1vw,4.4rem);line-height:.96}.hero-subtitle{color:var(--ink);margin-top:.65rem;font-size:clamp(1.05rem,2.2vw,1.4rem)}@supports (color:color-mix(in lab, red, red)){.hero-subtitle{color:color-mix(in oklab,var(--ink),var(--muted)30%)}}.hero-affiliation{max-width:74ch;color:var(--ink);margin-top:.54rem;font-size:.9rem}@supports (color:color-mix(in lab, red, red)){.hero-affiliation{color:color-mix(in oklab,var(--ink),var(--muted)44%)}}.hero-copy{max-width:58ch;color:var(--muted);margin-top:1.08rem;font-size:1.04rem}.btn{border-radius:999px;justify-content:center;align-items:center;gap:.42rem;min-height:2.7rem;padding:0 1rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .22s,box-shadow .22s,border-color .22s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{border:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary{border:1px solid color-mix(in oklab,var(--page-accent),white 14%)}}.btn-primary{background:linear-gradient(120deg,var(--page-accent),var(--page-accent))}@supports (color:color-mix(in lab, red, red)){.btn-primary{background:linear-gradient(120deg,color-mix(in oklab,var(--page-accent),transparent 42%),var(--page-accent))}}.btn-primary{color:#041327;box-shadow:0 12px 26px var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.btn-primary{box-shadow:0 12px 26px color-mix(in oklab,var(--page-accent),transparent 75%)}}.btn-secondary{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.btn-secondary{border:1px solid color-mix(in oklab,var(--line),transparent 12%)}}.btn-secondary{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.btn-secondary{background:color-mix(in oklab,var(--panel-soft),var(--panel)46%)}}.btn-secondary{color:var(--ink)}.cta-row{flex-wrap:wrap;gap:.66rem;margin-top:1.3rem;display:flex}.metric-list{gap:.95rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.metric-value{font-family:var(--font-display),serif;align-items:center;gap:.45rem;margin:0;font-size:1.65rem;line-height:1;display:inline-flex}.metric-label{color:var(--muted);margin-top:.2rem;font-size:.92rem;display:block}.snapshot-list{gap:.66rem;margin:.78rem 0 0;padding:0;list-style:none;display:grid}.snapshot-list li{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.snapshot-list li{border:1px solid color-mix(in oklab,var(--line),transparent 16%)}}.snapshot-list li{background:var(--panel-soft);border-radius:.7rem}@supports (color:color-mix(in lab, red, red)){.snapshot-list li{background:color-mix(in oklab,var(--panel-soft),var(--panel)48%)}}.snapshot-list li{padding:.58rem .66rem}.snapshot-head{font-family:var(--font-mono),monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--page-accent);align-items:center;gap:.4rem;font-size:.73rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.snapshot-head{color:color-mix(in oklab,var(--page-accent),var(--ink)30%)}}.snapshot-body{color:var(--muted);margin:.36rem 0 0;font-size:.88rem;line-height:1.38}.mini-pipeline{grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:.36rem;margin-top:.9rem;display:grid}.mini-node{border:1px solid var(--line);justify-content:center;align-items:center;min-height:1.72rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mini-node{border:1px solid color-mix(in oklab,var(--line),transparent 12%)}}.mini-node{background:var(--panel-soft);border-radius:.55rem}@supports (color:color-mix(in lab, red, red)){.mini-node{background:color-mix(in oklab,var(--panel-soft),var(--panel)50%)}}.mini-node{font-family:var(--font-mono),monospace;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);padding:0 .42rem;font-size:.65rem}@supports (color:color-mix(in lab, red, red)){.mini-node{color:color-mix(in oklab,var(--ink),var(--muted)28%)}}.mini-link{background:var(--page-accent);height:1px;position:relative}@supports (color:color-mix(in lab, red, red)){.mini-link{background:color-mix(in oklab,var(--page-accent),var(--line)42%)}}.mini-link:after{content:"";border-top:1px solid var(--page-accent);width:.28rem;height:.28rem;position:absolute;top:50%;right:-.04rem}@supports (color:color-mix(in lab, red, red)){.mini-link:after{border-top:1px solid color-mix(in oklab,var(--page-accent),var(--line)42%)}}.mini-link:after{border-right:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.mini-link:after{border-right:1px solid color-mix(in oklab,var(--page-accent),var(--line)42%)}}.mini-link:after{transform:translateY(-50%)rotate(45deg)}.metric-list li:first-child .metric-value{color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.metric-list li:first-child .metric-value{color:color-mix(in oklab,var(--accent-drl),var(--ink)30%)}}.metric-list li:nth-child(2) .metric-value{color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.metric-list li:nth-child(2) .metric-value{color:color-mix(in oklab,var(--accent-cfd),var(--ink)30%)}}.metric-list li:nth-child(3) .metric-value{color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.metric-list li:nth-child(3) .metric-value{color:color-mix(in oklab,var(--accent-hpc),var(--ink)30%)}}.section-heading{max-width:72ch;padding:.38rem 0 .18rem;position:relative}.section-heading:before{content:"";pointer-events:none;background:radial-gradient(circle at 20% 45%,var(--page-accent)0,transparent 74%);width:min(30rem,100%);height:6.8rem;position:absolute;top:-1.2rem;left:-.8rem}@supports (color:color-mix(in lab, red, red)){.section-heading:before{background:radial-gradient(circle at 20% 45%,color-mix(in oklab,var(--page-accent),transparent 72%)0,transparent 74%)}}.section-heading:before{filter:blur(18px);z-index:-1}.section-title{max-width:28ch;font-family:var(--font-display),serif;margin:.4rem 0 0;font-size:clamp(1.5rem,3.6vw,2.6rem);line-height:1.05}.section-description{color:var(--muted);margin-top:.75rem}.focus-grid,.project-grid,.skills-grid,.publication-grid,.media-grid,.detail-grid{gap:1.14rem;margin-top:1.26rem;display:grid}.diag-grid{gap:1rem;margin-top:1.26rem;display:grid}.diag-card{flex-direction:column;gap:.72rem;display:flex}.diag-flow{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.diag-node{border:1px solid var(--line);align-items:center;min-height:2.05rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.diag-node{border:1px solid color-mix(in oklab,var(--line),transparent 14%)}}.diag-node{background:var(--panel-soft);border-radius:.64rem}@supports (color:color-mix(in lab, red, red)){.diag-node{background:color-mix(in oklab,var(--panel-soft),var(--panel)52%)}}.diag-node{color:var(--ink);padding:.32rem .6rem;font-size:.79rem;line-height:1.32}@supports (color:color-mix(in lab, red, red)){.diag-node{color:color-mix(in oklab,var(--ink),var(--muted)22%)}}.diag-edge{background:var(--page-accent);width:1.15rem;height:1px;position:relative}@supports (color:color-mix(in lab, red, red)){.diag-edge{background:color-mix(in oklab,var(--page-accent),var(--line)40%)}}.diag-edge{flex:none}.diag-edge:after{content:"";border-top:1px solid var(--page-accent);width:.34rem;height:.34rem;position:absolute;top:50%;right:-.04rem}@supports (color:color-mix(in lab, red, red)){.diag-edge:after{border-top:1px solid color-mix(in oklab,var(--page-accent),var(--line)40%)}}.diag-edge:after{border-right:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.diag-edge:after{border-right:1px solid color-mix(in oklab,var(--page-accent),var(--line)40%)}}.diag-edge:after{transform:translateY(-50%)rotate(45deg)}.focus-grid>*,.project-grid>*,.skills-grid>*,.publication-grid>*,.media-grid>*,.detail-grid>*{opacity:0;animation:.62s cubic-bezier(.19,1,.22,1) forwards rise;transform:translateY(10px)}.focus-card,.project-card,.publication-card,.detail-card{padding:var(--card-space)}.publication-card{flex-direction:column;gap:.42rem;min-width:0;display:flex}.focus-card h3,.project-card h3,.publication-card h3,.detail-card h3{margin:0;font-size:1.1rem}.focus-card p,.project-card p,.publication-card p,.detail-card p,.list-card p{color:var(--muted);margin:.42rem 0 0}.focus-card{transition:transform .26s,border-color .26s,box-shadow .26s;position:relative;overflow:hidden}.focus-card:hover,.detail-card:hover,.publication-card:hover{border-color:var(--page-accent);transform:translateY(-4px)rotateX(1.1deg)rotateY(-.8deg)}@supports (color:color-mix(in lab, red, red)){.focus-card:hover,.detail-card:hover,.publication-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)48%)}}.focus-card:hover,.detail-card:hover,.publication-card:hover{box-shadow:0 18px 36px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 24%)}@supports (color:color-mix(in lab, red, red)){.focus-card:hover,.detail-card:hover,.publication-card:hover{box-shadow:0 18px 36px color-mix(in oklab,var(--shadow),transparent 24%)}}.focus-motif{aspect-ratio:1.8;opacity:.34;pointer-events:none;filter:blur(.2px);width:76%;position:absolute;inset:auto -10% -25% auto}.focus-card>:not(.focus-motif){z-index:1;position:relative}.motif-drl{background:radial-gradient(circle at 20% 45%,var(--accent-drl)0 2px,transparent 3px),radial-gradient(circle at 48% 38%,var(--accent-drl)0 2px,transparent 3px),radial-gradient(circle at 70% 64%,var(--accent-drl)0 2px,transparent 3px),linear-gradient(150deg,transparent 45%,var(--accent-drl)45% 47%,transparent 47% 58%,var(--accent-drl)58% 60%,transparent 60%)}@supports (color:color-mix(in lab, red, red)){.motif-drl{background:radial-gradient(circle at 20% 45%,color-mix(in oklab,var(--accent-drl),transparent 35%)0 2px,transparent 3px),radial-gradient(circle at 48% 38%,color-mix(in oklab,var(--accent-drl),transparent 38%)0 2px,transparent 3px),radial-gradient(circle at 70% 64%,color-mix(in oklab,var(--accent-drl),transparent 38%)0 2px,transparent 3px),linear-gradient(150deg,transparent 45%,color-mix(in oklab,var(--accent-drl),transparent 70%)45% 47%,transparent 47% 58%,color-mix(in oklab,var(--accent-drl),transparent 74%)58% 60%,transparent 60%)}}.motif-cfd{background:radial-gradient(130% 44% at 15% 30%,transparent 64%,var(--accent-cfd)65%,transparent 66%),radial-gradient(130% 44% at 36% 57%,transparent 64%,var(--accent-cfd)65%,transparent 66%),radial-gradient(130% 44% at 64% 74%,transparent 64%,var(--accent-cfd)65%,transparent 66%)}@supports (color:color-mix(in lab, red, red)){.motif-cfd{background:radial-gradient(130% 44% at 15% 30%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 74%)65%,transparent 66%),radial-gradient(130% 44% at 36% 57%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 78%)65%,transparent 66%),radial-gradient(130% 44% at 64% 74%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 80%)65%,transparent 66%)}}.motif-mesh{background:linear-gradient(to right,var(--accent-cfd)1px,transparent 1px),linear-gradient(to bottom,var(--accent-cfd)1px,transparent 1px)}@supports (color:color-mix(in lab, red, red)){.motif-mesh{background:linear-gradient(to right,color-mix(in oklab,var(--accent-cfd),transparent 72%)1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--accent-cfd),transparent 74%)1px,transparent 1px)}}.motif-mesh{background-size:16px 16px}.motif-hpc{background:linear-gradient(112deg,var(--accent-hpc)0 20%,transparent 20% 40%,var(--accent-hpc)40% 52%,transparent 52%)}@supports (color:color-mix(in lab, red, red)){.motif-hpc{background:linear-gradient(112deg,color-mix(in oklab,var(--accent-hpc),transparent 86%)0 20%,transparent 20% 40%,color-mix(in oklab,var(--accent-hpc),transparent 82%)40% 52%,transparent 52%)}}.motif-viz{background:conic-gradient(from 180deg at 40% 52%,var(--accent-cyan)0 18%,transparent 18% 42%,var(--accent-amber)42% 58%,transparent 58%)}@supports (color:color-mix(in lab, red, red)){.motif-viz{background:conic-gradient(from 180deg at 40% 52%,color-mix(in oklab,var(--accent-cyan),transparent 78%)0 18%,transparent 18% 42%,color-mix(in oklab,var(--accent-amber),transparent 80%)42% 58%,transparent 58%)}}.project-card{transition:transform .28s,border-color .28s,box-shadow .28s}.project-card:hover{border-color:var(--page-accent);transform:translateY(-5px)rotateX(1.3deg)rotateY(-.9deg)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)46%)}}.project-card:hover{box-shadow:0 20px 40px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 20%)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{box-shadow:0 20px 40px color-mix(in oklab,var(--shadow),transparent 20%)}}.project-year{letter-spacing:.13em;text-transform:uppercase;color:var(--accent-mint);margin:0;font-size:.73rem;font-weight:700}@supports (color:color-mix(in lab, red, red)){.project-year{color:color-mix(in oklab,var(--accent-mint),var(--accent-cyan)36%)}}.chip-row,.link-row,.bullet-list{margin:.95rem 0 0;padding:0;list-style:none}.chip-row{flex-wrap:wrap;gap:.38rem;display:flex}.chip{border:1px solid var(--line);border-radius:999px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.chip{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.chip{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){.chip{background:color-mix(in oklab,var(--panel-soft),var(--panel)52%)}}.chip{color:var(--ink);padding:.28rem .6rem;font-size:.73rem}@supports (color:color-mix(in lab, red, red)){.chip{color:color-mix(in oklab,var(--ink),var(--muted)35%)}}.chip-tone-drl{border-color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.chip-tone-drl{border-color:color-mix(in oklab,var(--accent-drl),var(--line)38%)}}.chip-tone-drl{background:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.chip-tone-drl{background:color-mix(in oklab,var(--accent-drl),transparent 88%)}}.chip-tone-cfd{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.chip-tone-cfd{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)40%)}}.chip-tone-cfd{background:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.chip-tone-cfd{background:color-mix(in oklab,var(--accent-cfd),transparent 90%)}}.chip-tone-hpc{border-color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.chip-tone-hpc{border-color:color-mix(in oklab,var(--accent-hpc),var(--line)44%)}}.chip-tone-hpc{background:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.chip-tone-hpc{background:color-mix(in oklab,var(--accent-hpc),transparent 89%)}}.chip-with-icon,.link-with-icon,.icon-text{align-items:center;gap:.36rem;display:inline-flex}.publication-card .icon-text{align-items:flex-start;gap:.42rem;display:flex}.publication-card h3.icon-text{line-height:1.25}.publication-card .icon-text>:not(.icon-inline){min-width:0}.icon-inline{width:.98rem;height:.98rem;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none;transition:transform .24s,color .24s,opacity .24s}.icon-text .icon-inline,.metric-value .icon-inline,.nav-link .icon-inline,.text-link .icon-inline{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.icon-text .icon-inline,.metric-value .icon-inline,.nav-link .icon-inline,.text-link .icon-inline{color:color-mix(in oklab,var(--page-accent),var(--ink)24%)}}.focus-card:hover .icon-inline,.project-card:hover .icon-inline,.detail-card:hover .icon-inline,.nav-link:hover .icon-inline,.text-link:hover .icon-inline{transform:translateY(-1px)scale(1.08)}.text-link{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.text-link{color:color-mix(in oklab,var(--page-accent),white 12%)}}.text-link{font-size:.89rem;font-weight:600;text-decoration:none;transition:color .18s}.text-link:hover{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.text-link:hover{color:color-mix(in oklab,var(--page-accent),var(--ink)18%)}}.text-link:hover{text-decoration:underline}.skill-link{color:inherit;text-decoration:none;transition:color .17s}.skill-link:hover,.skill-link:focus-visible{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.skill-link:hover,.skill-link:focus-visible{color:color-mix(in oklab,var(--page-accent),var(--ink)38%)}}.link-row{flex-wrap:wrap;align-items:center;gap:.72rem;display:flex}.list-card{padding:1.2rem}.publication-row+.publication-row{border-top:1px solid var(--line);margin-top:.9rem;padding-top:.9rem}@supports (color:color-mix(in lab, red, red)){.publication-row+.publication-row{border-top:1px solid color-mix(in oklab,var(--line),transparent 22%)}}.publication-title{color:var(--ink);margin:0;font-size:1.02rem}.publication-meta{overflow-wrap:anywhere;word-break:normal;margin:.35rem 0 0;font-size:.9rem}.status-badge{border:1px solid var(--accent-cfd);border-radius:999px;margin:0;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.status-badge{border:1px solid color-mix(in oklab,var(--accent-cfd),var(--line)50%)}}.status-badge{background:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.status-badge{background:color-mix(in oklab,var(--accent-cfd),transparent 88%)}}.status-badge{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.status-badge{color:color-mix(in oklab,var(--ink),var(--accent-cfd)24%)}}.status-badge{text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;font-size:.71rem}.publication-card .status-badge{align-self:flex-start}.publication-card .link-row{margin-top:auto;padding-top:.1rem}.status-badge[data-status=published]{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=published]{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)40%)}}.status-badge[data-status=published]{background:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=published]{background:color-mix(in oklab,var(--accent-cfd),transparent 86%)}}.status-badge[data-status=in-review],.status-badge[data-status=submitted]{border-color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=in-review],.status-badge[data-status=submitted]{border-color:color-mix(in oklab,var(--accent-hpc),var(--line)42%)}}.status-badge[data-status=in-review],.status-badge[data-status=submitted]{background:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=in-review],.status-badge[data-status=submitted]{background:color-mix(in oklab,var(--accent-hpc),transparent 86%)}}.status-badge[data-status=presented],.status-badge[data-status=preprint]{border-color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=presented],.status-badge[data-status=preprint]{border-color:color-mix(in oklab,var(--accent-drl),var(--line)44%)}}.status-badge[data-status=presented],.status-badge[data-status=preprint]{background:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.status-badge[data-status=presented],.status-badge[data-status=preprint]{background:color-mix(in oklab,var(--accent-drl),transparent 87%)}}.copy-button{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.copy-button{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}.copy-button{color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .65rem;font-size:.77rem}.contact-banner{padding:1.6rem}.contact-banner h2{max-width:26ch;font-family:var(--font-display),serif;margin:.35rem 0 0;font-size:clamp(1.4rem,3.4vw,2.35rem);line-height:1.05}.contact-banner p{max-width:60ch;color:var(--muted);margin-top:.75rem}.contact-grid{align-items:stretch}.contact-card{flex-direction:column;justify-content:flex-start;gap:.56rem;display:flex}.contact-card h3{align-items:flex-start;min-height:2.1rem}.contact-link{overflow-wrap:anywhere;margin-top:.08rem;line-height:1.38;display:block}.bullet-list{gap:.68rem;padding-left:1.05rem;display:grid}.bullet-list li::marker{color:var(--accent-cyan)}.bullet-list li{margin-left:0}.bullet-list li p{margin:.24rem 0 0}.bullet-list li p:first-child{margin-top:0}.filter-row{flex-wrap:wrap;gap:.45rem;display:flex}.filter-chip{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.filter-chip{border:1px solid color-mix(in oklab,var(--line),transparent 10%)}}.filter-chip{color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.36rem .72rem;font-size:.8rem;transition:border-color .17s,background-color .17s,color .17s,transform .17s}.filter-chip:hover{transform:translateY(-1px)}.filter-chip-tone-drl{border-color:var(--accent-drl)}@supports (color:color-mix(in lab, red, red)){.filter-chip-tone-drl{border-color:color-mix(in oklab,var(--accent-drl),var(--line)56%)}}.filter-chip-tone-cfd{border-color:var(--accent-cfd)}@supports (color:color-mix(in lab, red, red)){.filter-chip-tone-cfd{border-color:color-mix(in oklab,var(--accent-cfd),var(--line)56%)}}.filter-chip-tone-hpc{border-color:var(--accent-hpc)}@supports (color:color-mix(in lab, red, red)){.filter-chip-tone-hpc{border-color:color-mix(in oklab,var(--accent-hpc),var(--line)56%)}}.filter-chip-active{color:var(--ink);border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.filter-chip-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)44%)}}.filter-chip-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){.filter-chip-active{background:color-mix(in oklab,var(--page-accent),transparent 88%)}}.reveal{opacity:0;animation:.7s cubic-bezier(.19,1,.22,1) forwards rise;transform:translateY(14px)}.page-stack>.reveal:first-child{animation-delay:40ms}.page-stack>.reveal:nth-child(2){animation-delay:.11s}.page-stack>.reveal:nth-child(3){animation-delay:.18s}.page-stack>.reveal:nth-child(4){animation-delay:.25s}.project-grid>:nth-child(2),.focus-grid>:nth-child(2),.publication-grid>:nth-child(2),.media-grid>:nth-child(2),.detail-grid>:nth-child(2){animation-delay:90ms}.project-grid>:nth-child(3),.focus-grid>:nth-child(3),.publication-grid>:nth-child(3),.media-grid>:nth-child(3),.detail-grid>:nth-child(3){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes streamDrift{0%{background-position:0 0,0 0,0 0}to{background-position:760px 0,-840px 0,720px 0}}[data-style=liquid] body{background:radial-gradient(circle at 12% 8%,var(--accent-cyan)0,transparent 34%),radial-gradient(circle at 88% 14%,var(--accent-amber)0,transparent 36%),radial-gradient(circle at 52% 100%,var(--accent-mint)0,transparent 36%),linear-gradient(180deg,var(--panel-soft)0%,transparent 38%),var(--bg)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] body{background:radial-gradient(circle at 12% 8%,color-mix(in oklab,var(--accent-cyan),transparent 80%)0,transparent 34%),radial-gradient(circle at 88% 14%,color-mix(in oklab,var(--accent-amber),transparent 78%)0,transparent 36%),radial-gradient(circle at 52% 100%,color-mix(in oklab,var(--accent-mint),transparent 88%)0,transparent 36%),linear-gradient(180deg,color-mix(in oklab,var(--panel-soft),transparent 52%)0%,transparent 38%),var(--bg)}}[data-style=liquid] .streamline-overlay{opacity:.24;filter:blur(.4px)}[data-style=liquid] .mesh-overlay{opacity:.58;-webkit-mask-image:radial-gradient(circle at 50% 10%,#000 18%,#0000 84%);mask-image:radial-gradient(circle at 50% 10%,#000 18%,#0000 84%)}[data-style=liquid] .glow{opacity:.24;filter:blur(112px)}[data-style=liquid] .site-header{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .site-header{border:1px solid color-mix(in oklab,var(--ink),transparent 86%)}}[data-style=liquid] .site-header{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .site-header{background:color-mix(in oklab,var(--panel),transparent 44%)}}[data-style=liquid] .site-header{box-shadow:0 16px 34px var(--shadow),inset 0 1px 0 #ffffff8f;-webkit-backdrop-filter:blur(20px)saturate(148%);backdrop-filter:blur(20px)saturate(148%)}@supports (color:lab(0% 0 0)){[data-style=liquid] .site-header{box-shadow:0 16px 34px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.56)}}[data-style=liquid] .nav-link{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .nav-link{background:color-mix(in oklab,var(--panel-soft),transparent 24%)}}[data-style=liquid] .nav-link{-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%)}[data-style=liquid] .nav-link-active{background:linear-gradient(145deg,var(--page-accent),var(--panel-soft))}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .nav-link-active{background:linear-gradient(145deg,color-mix(in oklab,var(--page-accent),transparent 82%),color-mix(in oklab,var(--panel-soft),transparent 28%))}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{border:1px solid var(--ink);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{border:1px solid color-mix(in oklab,var(--ink),transparent 88%)}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{background:color-mix(in oklab,var(--panel),transparent 38%)}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{box-shadow:0 20px 42px var(--shadow),inset 0 1px 0 #ffffff94;-webkit-backdrop-filter:blur(16px)saturate(148%);backdrop-filter:blur(16px)saturate(148%)}@supports (color:lab(0% 0 0)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{box-shadow:0 20px 42px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.58)}}[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .contact-banner{-webkit-backdrop-filter:blur(22px)saturate(156%);backdrop-filter:blur(22px)saturate(156%);box-shadow:0 22px 46px var(--shadow),inset 0 1px 0 #ffffff9e}@supports (color:lab(0% 0 0)){[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .contact-banner{box-shadow:0 22px 46px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.62)}}[data-style=liquid] .hero-panel:before,[data-style=liquid] .hero-side-panel:before,[data-style=liquid] .focus-card:before,[data-style=liquid] .project-card:before,[data-style=liquid] .list-card:before,[data-style=liquid] .detail-card:before,[data-style=liquid] .publication-card:before,[data-style=liquid] .contact-banner:before{content:"";pointer-events:none;background:linear-gradient(150deg,#ffffff1a 0%,transparent 34%,var(--accent-cyan)100%);position:absolute;inset:0}@supports (color:lab(0% 0 0)){[data-style=liquid] .hero-panel:before,[data-style=liquid] .hero-side-panel:before,[data-style=liquid] .focus-card:before,[data-style=liquid] .project-card:before,[data-style=liquid] .list-card:before,[data-style=liquid] .detail-card:before,[data-style=liquid] .publication-card:before,[data-style=liquid] .contact-banner:before{background:linear-gradient(150deg,lab(100% -.0000298023 .0000119209/.1) 0%,transparent 34%,var(--accent-cyan)100%)}}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .hero-panel:before,[data-style=liquid] .hero-side-panel:before,[data-style=liquid] .focus-card:before,[data-style=liquid] .project-card:before,[data-style=liquid] .list-card:before,[data-style=liquid] .detail-card:before,[data-style=liquid] .publication-card:before,[data-style=liquid] .contact-banner:before{background:linear-gradient(150deg,lab(100% -.0000298023 .0000119209/.1) 0%,transparent 34%,color-mix(in oklab,var(--accent-cyan),transparent 95%)100%)}}[data-style=liquid] .hero-panel:after,[data-style=liquid] .hero-side-panel:after,[data-style=liquid] .focus-card:after,[data-style=liquid] .project-card:after,[data-style=liquid] .list-card:after,[data-style=liquid] .detail-card:after,[data-style=liquid] .publication-card:after,[data-style=liquid] .contact-banner:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff29;border:1px solid lab(100% -.0000298023 .0000119209/.16);position:absolute;inset:1px;-webkit-mask-image:linear-gradient(#000 0 26%,#0000 54%);mask-image:linear-gradient(#000 0 26%,#0000 54%)}[data-style=liquid] .hero-panel>*,[data-style=liquid] .hero-side-panel>*,[data-style=liquid] .focus-card>*,[data-style=liquid] .project-card>*,[data-style=liquid] .list-card>*,[data-style=liquid] .detail-card>*,[data-style=liquid] .publication-card>*,[data-style=liquid] .contact-banner>*{z-index:1;position:relative}[data-style=liquid] .btn-primary{border:1px solid var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-primary{border:1px solid color-mix(in oklab,var(--page-accent),white 24%)}}[data-style=liquid] .btn-primary{background:linear-gradient(135deg,var(--page-accent),var(--page-accent))}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-primary{background:linear-gradient(135deg,color-mix(in oklab,var(--page-accent),white 18%),color-mix(in oklab,var(--page-accent),transparent 12%))}}[data-style=liquid] .btn-primary{box-shadow:0 14px 30px var(--page-accent),inset 0 1px 0 #fff9}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-primary{box-shadow:0 14px 30px color-mix(in oklab,var(--page-accent),transparent 72%),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.6)}}[data-style=liquid] .btn-secondary{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-secondary{border:1px solid color-mix(in oklab,var(--ink),transparent 86%)}}[data-style=liquid] .btn-secondary{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .btn-secondary{background:color-mix(in oklab,var(--panel-soft),transparent 28%)}}[data-style=liquid] .btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}[data-style=liquid] .chip,[data-style=liquid] .filter-chip,[data-style=liquid] .status-badge,[data-style=liquid] .copy-button{-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%)}[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{border:1px solid color-mix(in oklab,var(--ink),transparent 84%)}}[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{background:color-mix(in oklab,var(--panel-soft),transparent 28%)}}[data-style=liquid] .theme-toggle,[data-style=liquid] .style-picker{-webkit-backdrop-filter:blur(10px)saturate(132%);backdrop-filter:blur(10px)saturate(132%);box-shadow:inset 0 1px #ffffff8a;box-shadow:inset 0 1px lab(100% -.0000298023 .0000119209/.54)}[data-style=liquid] .style-select{border:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .style-select{border:1px solid color-mix(in oklab,var(--ink),transparent 88%)}}[data-style=liquid] .style-select{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .style-select{background:color-mix(in oklab,var(--panel),transparent 24%)}}[data-style=liquid] .site-footer{border-top:1px solid var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=liquid] .site-footer{border-top:1px solid color-mix(in oklab,var(--ink),transparent 84%)}}[data-performance=balanced] .streamline-overlay{display:none}[data-performance=balanced] .cfd-bg-overlay{opacity:.62}[data-performance=balanced] .mesh-overlay{opacity:.32;-webkit-mask-image:none;mask-image:none}[data-performance=balanced] .glow{opacity:.14;filter:blur(58px)}[data-performance=balanced] .site-header{-webkit-backdrop-filter:blur(8px)saturate(120%);backdrop-filter:blur(8px)saturate(120%)}[data-performance=balanced] .nav-link{-webkit-backdrop-filter:blur(4px)saturate(114%);backdrop-filter:blur(4px)saturate(114%)}[data-performance=balanced] .hero-panel,[data-performance=balanced] .hero-side-panel,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .list-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .contact-banner{-webkit-backdrop-filter:blur(7px)saturate(118%);backdrop-filter:blur(7px)saturate(118%);box-shadow:0 12px 24px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 20%),inset 0 1px 0 #ffffff85}@supports (color:color-mix(in lab, red, red)){[data-performance=balanced] .hero-panel,[data-performance=balanced] .hero-side-panel,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .list-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .contact-banner{box-shadow:0 12px 24px color-mix(in oklab,var(--shadow),transparent 20%),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.52)}}[data-performance=balanced] .hero-panel:after,[data-performance=balanced] .hero-side-panel:after,[data-performance=balanced] .focus-card:after,[data-performance=balanced] .project-card:after,[data-performance=balanced] .list-card:after,[data-performance=balanced] .detail-card:after,[data-performance=balanced] .publication-card:after,[data-performance=balanced] .contact-banner:after{content:none}[data-performance=balanced] .focus-motif{opacity:.2}[data-performance=balanced] .focus-grid>*,[data-performance=balanced] .project-grid>*,[data-performance=balanced] .skills-grid>*,[data-performance=balanced] .publication-grid>*,[data-performance=balanced] .media-grid>*,[data-performance=balanced] .detail-grid>*{opacity:1;animation:none;transform:none}[data-performance=balanced] .reveal{animation-duration:.38s}[data-performance=balanced] .project-card:hover,[data-performance=balanced] .focus-card:hover,[data-performance=balanced] .detail-card:hover,[data-performance=balanced] .publication-card:hover{box-shadow:0 12px 24px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 20%),inset 0 1px 0 #ffffff85;transform:none}@supports (color:color-mix(in lab, red, red)){[data-performance=balanced] .project-card:hover,[data-performance=balanced] .focus-card:hover,[data-performance=balanced] .detail-card:hover,[data-performance=balanced] .publication-card:hover{box-shadow:0 12px 24px color-mix(in oklab,var(--shadow),transparent 20%),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.52)}}[data-performance=balanced] .nav-link:hover,[data-performance=balanced] .btn:hover,[data-performance=balanced] .focus-card:hover .icon-inline,[data-performance=balanced] .project-card:hover .icon-inline,[data-performance=balanced] .detail-card:hover .icon-inline,[data-performance=balanced] .nav-link:hover .icon-inline,[data-performance=balanced] .text-link:hover .icon-inline{transform:none}[data-performance=balanced] .icon-inline,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .nav-link,[data-performance=balanced] .btn{transition-duration:.12s}[data-performance=balanced] .portfolio-chat-panel,[data-performance=balanced] .portfolio-chat-launcher{-webkit-backdrop-filter:blur(7px)saturate(116%);backdrop-filter:blur(7px)saturate(116%)}[data-performance=high] .streamline-overlay{display:none}[data-performance=high] .cfd-bg-overlay{display:none!important}[data-performance=high] .glow{display:none}[data-performance=high] .mesh-overlay{opacity:.24;-webkit-mask-image:none;mask-image:none}[data-performance=high] .site-header,[data-performance=high] .nav-link,[data-performance=high] .hero-panel,[data-performance=high] .hero-side-panel,[data-performance=high] .focus-card,[data-performance=high] .project-card,[data-performance=high] .list-card,[data-performance=high] .detail-card,[data-performance=high] .publication-card,[data-performance=high] .contact-banner,[data-performance=high] .chip,[data-performance=high] .filter-chip,[data-performance=high] .status-badge,[data-performance=high] .copy-button,[data-performance=high] .btn-secondary{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-performance=high] .hero-panel,[data-performance=high] .hero-side-panel,[data-performance=high] .focus-card,[data-performance=high] .project-card,[data-performance=high] .list-card,[data-performance=high] .detail-card,[data-performance=high] .publication-card,[data-performance=high] .contact-banner{box-shadow:0 10px 20px color-mix(in srgb,0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a,transparent 22%)}@supports (color:color-mix(in lab, red, red)){[data-performance=high] .hero-panel,[data-performance=high] .hero-side-panel,[data-performance=high] .focus-card,[data-performance=high] .project-card,[data-performance=high] .list-card,[data-performance=high] .detail-card,[data-performance=high] .publication-card,[data-performance=high] .contact-banner{box-shadow:0 10px 20px color-mix(in oklab,var(--shadow),transparent 22%)}}[data-performance=high] .hero-panel:before,[data-performance=high] .hero-side-panel:before,[data-performance=high] .focus-card:before,[data-performance=high] .project-card:before,[data-performance=high] .list-card:before,[data-performance=high] .detail-card:before,[data-performance=high] .publication-card:before,[data-performance=high] .contact-banner:before,[data-performance=high] .hero-panel:after,[data-performance=high] .hero-side-panel:after,[data-performance=high] .focus-card:after,[data-performance=high] .project-card:after,[data-performance=high] .list-card:after,[data-performance=high] .detail-card:after,[data-performance=high] .publication-card:after,[data-performance=high] .contact-banner:after{content:none!important}[data-performance=high] .focus-motif{display:none}[data-performance=high] .reveal,[data-performance=high] .focus-grid>*,[data-performance=high] .project-grid>*,[data-performance=high] .skills-grid>*,[data-performance=high] .publication-grid>*,[data-performance=high] .media-grid>*,[data-performance=high] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-performance=high] .project-card:hover,[data-performance=high] .focus-card:hover,[data-performance=high] .detail-card:hover,[data-performance=high] .publication-card:hover,[data-performance=high] .nav-link:hover,[data-performance=high] .btn:hover{transform:none!important}[data-performance=high] .portfolio-chat-panel,[data-performance=high] .portfolio-chat-launcher{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=schematic]{--bg:#f6f2ea;--panel:#fffcf4;--panel-soft:#efe8dc;--ink:#11151d;--muted:#4f5d72;--line:#9ea9bc;--shadow:#141c2814;--accent-cyan:#1f6f9b;--accent-amber:#a96a3b;--accent-mint:#1a7a73;--accent-drl:#495f8f;--accent-cfd:#237f90;--accent-hpc:#ac703d}[data-style=schematic] body{background-color:var(--bg);background-image:radial-gradient(180% 90% at -8% 14%,transparent 67%,var(--accent-cfd)68% 69%,transparent 70%),radial-gradient(170% 86% at 96% 8%,transparent 66%,var(--accent-cyan)67% 68%,transparent 69%),linear-gradient(115deg,var(--page-accent),transparent 56%),radial-gradient(circle at 18% 24%,var(--ink)0 .75px,transparent .8px),radial-gradient(circle at 74% 68%,var(--ink)0 .7px,transparent .75px)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] body{background-image:radial-gradient(180% 90% at -8% 14%,transparent 67%,color-mix(in oklab,var(--accent-cfd),transparent 88%)68% 69%,transparent 70%),radial-gradient(170% 86% at 96% 8%,transparent 66%,color-mix(in oklab,var(--accent-cyan),transparent 90%)67% 68%,transparent 69%),linear-gradient(115deg,color-mix(in oklab,var(--page-accent),transparent 94%),transparent 56%),radial-gradient(circle at 18% 24%,color-mix(in oklab,var(--ink),transparent 97%)0 .75px,transparent .8px),radial-gradient(circle at 74% 68%,color-mix(in oklab,var(--ink),transparent 98%)0 .7px,transparent .75px)}}[data-style=schematic] body{background-size:100% 100%,100% 100%,100% 100%,8px 8px,11px 11px}[data-style=schematic] .cfd-bg-overlay{opacity:.68;display:block}[data-theme=dark][data-style=schematic] .cfd-bg-overlay{opacity:.54}[data-style=schematic] .streamline-overlay,[data-style=schematic] .glow,[data-style=schematic] .mesh-overlay{display:none}[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{border-color:var(--line);border-radius:2px}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{border-color:color-mix(in oklab,var(--line),transparent 6%)}}[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{background:color-mix(in oklab,var(--panel),var(--bg)14%)}}[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner{box-shadow:none;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=schematic] .site-header{box-shadow:inset 0 -1px 0 var(--line);border-width:1px}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .site-header{box-shadow:inset 0 -1px 0 color-mix(in oklab,var(--line),transparent 24%)}}[data-style=schematic] .nav-link{text-transform:uppercase;font-family:var(--font-mono),monospace;letter-spacing:.05em;background:0 0;border-radius:2px;font-size:.75rem}[data-style=schematic] .nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)30%)}}[data-style=schematic] .nav-link-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 90%)}}[data-style=schematic] .btn{text-transform:uppercase;font-family:var(--font-mono),monospace;letter-spacing:.06em;min-height:2.56rem;box-shadow:none;border-radius:2px;font-size:.75rem}[data-style=schematic] .btn-primary{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-primary{color:color-mix(in oklab,var(--ink),black 14%)}}[data-style=schematic] .btn-primary{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-primary{border-color:color-mix(in oklab,var(--page-accent),var(--line)28%)}}[data-style=schematic] .btn-primary{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-primary{background:color-mix(in oklab,var(--page-accent),transparent 84%)}}[data-style=schematic] .btn-secondary{border-color:var(--line);background:0 0}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .btn-secondary{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=schematic] .section-heading{padding-left:.72rem}[data-style=schematic] .section-heading:before{filter:none;background:linear-gradient(to bottom,var(--page-accent),var(--line));border-radius:0;width:2px;height:calc(100% - .15rem);top:.15rem;left:0}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .section-heading:before{background:linear-gradient(to bottom,color-mix(in oklab,var(--page-accent),transparent 8%),color-mix(in oklab,var(--line),transparent 14%))}}[data-style=schematic] .brand-name,[data-style=schematic] .section-title,[data-style=schematic] .hero-title{font-family:var(--font-display),sans-serif;letter-spacing:-.015em}[data-style=schematic] .eyebrow,[data-style=schematic] .project-year,[data-style=schematic] .chip,[data-style=schematic] .status-badge,[data-style=schematic] .metric-value{font-family:var(--font-mono),monospace}[data-style=schematic] .chip,[data-style=schematic] .status-badge,[data-style=schematic] .filter-chip{border-radius:2px}[data-style=schematic] .focus-motif{display:none}[data-style=schematic] .icon-inline{transition:none}[data-style=schematic] .reveal,[data-style=schematic] .focus-grid>*,[data-style=schematic] .project-grid>*,[data-style=schematic] .skills-grid>*,[data-style=schematic] .publication-grid>*,[data-style=schematic] .media-grid>*,[data-style=schematic] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover,[data-style=schematic] .nav-link:hover,[data-style=schematic] .btn:hover,[data-style=schematic] .focus-card:hover .icon-inline,[data-style=schematic] .project-card:hover .icon-inline,[data-style=schematic] .detail-card:hover .icon-inline,[data-style=schematic] .nav-link:hover .icon-inline,[data-style=schematic] .text-link:hover .icon-inline{transform:none!important}[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=schematic] .project-card:hover,[data-style=schematic] .focus-card:hover,[data-style=schematic] .detail-card:hover,[data-style=schematic] .publication-card:hover{box-shadow:none}[data-style=schematic] .portfolio-chat-panel,[data-style=schematic] .portfolio-chat-launcher{border-color:var(--line);border-radius:2px}@supports (color:color-mix(in lab, red, red)){[data-style=schematic] .portfolio-chat-panel,[data-style=schematic] .portfolio-chat-launcher{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=schematic] .portfolio-chat-panel,[data-style=schematic] .portfolio-chat-launcher{box-shadow:none;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=schematic] .portfolio-chat-launcher,[data-style=schematic] .portfolio-chat-reset,[data-style=schematic] .portfolio-chat-send,[data-style=schematic] .portfolio-chat-input{font-family:var(--font-mono),monospace;letter-spacing:.05em}[data-style=editorial]{--bg:#f2eee8;--panel:#f6f2ec;--panel-soft:#f0e8df;--ink:#2b241d;--muted:#6b5f53;--line:#d7cabd;--shadow:#382a1c14;--accent-cyan:#6e5a49;--accent-amber:#8e6446;--accent-mint:#7e6957;--accent-drl:#6a5a4f;--accent-cfd:#7a6253;--accent-hpc:#9c6f4f}[data-style=editorial] body{background:var(--bg);color:var(--ink)}[data-style=editorial] .streamline-overlay,[data-style=editorial] .mesh-overlay,[data-style=editorial] .glow,[data-style=editorial] .focus-motif{display:none}[data-style=editorial] .site-frame{max-width:1060px;padding-top:1.1rem}[data-style=editorial] .site-header{border:0;border-bottom:1px solid var(--line);position:static}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .site-header{border-bottom:1px solid color-mix(in oklab,var(--line),transparent 0%)}}[data-style=editorial] .site-header{box-shadow:none;background:0 0;border-radius:0;padding:.6rem 0 .85rem;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=editorial] .brand-name{letter-spacing:-.01em;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-size:1.34rem;font-weight:600}[data-style=editorial] .brand-meta{letter-spacing:.04em;font-size:.68rem}[data-style=editorial] .site-nav{justify-content:flex-end;gap:.22rem}[data-style=editorial] .nav-link{font-family:var(--font-mono),monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:0 0;border:0;border-radius:0;padding:.35rem .56rem;font-size:.71rem}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .nav-link{color:color-mix(in oklab,var(--muted),var(--ink)18%)}}[data-style=editorial] .nav-link:hover{color:var(--ink);border-color:#0000;transform:none}[data-style=editorial] .nav-link-active{color:var(--ink);box-shadow:inset 0 -1px 0 var(--page-accent);background:0 0;border-color:#0000}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .nav-link-active{box-shadow:inset 0 -1px 0 color-mix(in oklab,var(--page-accent),transparent 16%)}}[data-style=editorial] .page-stack{gap:2.55rem}[data-style=editorial] .section-heading{max-width:78ch;padding:0}[data-style=editorial] .section-heading:before{content:none}[data-style=editorial] .eyebrow{font-family:var(--font-mono),monospace;letter-spacing:.06em;font-size:.68rem}[data-style=editorial] .section-title,[data-style=editorial] .hero-title,[data-style=editorial] .contact-banner h2{letter-spacing:-.012em;font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;font-weight:600}[data-style=editorial] .hero-title{margin-top:.4rem;line-height:1.02}[data-style=editorial] .hero-subtitle{font-size:1rem}[data-style=editorial] .hero-copy,[data-style=editorial] .section-description,[data-style=editorial] .publication-meta{max-width:66ch;line-height:1.68}[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{border:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{border:1px solid color-mix(in oklab,var(--line),transparent 8%)}}[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{background:var(--panel);border-radius:8px}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{background:color-mix(in oklab,var(--panel),white 6%)}}[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{box-shadow:0 1px 0 var(--line);-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .hero-panel,[data-style=editorial] .hero-side-panel,[data-style=editorial] .focus-card,[data-style=editorial] .project-card,[data-style=editorial] .list-card,[data-style=editorial] .detail-card,[data-style=editorial] .publication-card,[data-style=editorial] .contact-banner{box-shadow:0 1px 0 color-mix(in oklab,var(--line),transparent 36%)}}[data-style=editorial] .hero-panel:before,[data-style=editorial] .hero-side-panel:before,[data-style=editorial] .focus-card:before,[data-style=editorial] .project-card:before,[data-style=editorial] .list-card:before,[data-style=editorial] .detail-card:before,[data-style=editorial] .publication-card:before,[data-style=editorial] .contact-banner:before,[data-style=editorial] .hero-panel:after,[data-style=editorial] .hero-side-panel:after,[data-style=editorial] .focus-card:after,[data-style=editorial] .project-card:after,[data-style=editorial] .list-card:after,[data-style=editorial] .detail-card:after,[data-style=editorial] .publication-card:after,[data-style=editorial] .contact-banner:after{content:none!important}[data-style=editorial] .btn{min-height:2.5rem;font-family:var(--font-mono),monospace;letter-spacing:.05em;text-transform:uppercase;box-shadow:none;border-radius:5px;font-size:.72rem}[data-style=editorial] .btn-primary{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .btn-primary{background:color-mix(in oklab,var(--page-accent),transparent 86%)}}[data-style=editorial] .btn-primary{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .btn-primary{border-color:color-mix(in oklab,var(--page-accent),var(--line)30%)}}[data-style=editorial] .btn-primary{color:var(--ink)}[data-style=editorial] .btn-secondary{border-color:var(--line);background:0 0}@supports (color:color-mix(in lab, red, red)){[data-style=editorial] .btn-secondary{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=editorial] .chip,[data-style=editorial] .status-badge,[data-style=editorial] .filter-chip{font-family:var(--font-mono),monospace;letter-spacing:.04em;border-radius:5px;font-size:.68rem}[data-style=editorial] .metric-value{font-family:var(--font-mono),monospace;font-size:1.45rem}[data-style=editorial] .metric-list{gap:1rem}[data-style=editorial] .metric-label{line-height:1.55}[data-style=editorial] .project-card:hover,[data-style=editorial] .focus-card:hover,[data-style=editorial] .detail-card:hover,[data-style=editorial] .publication-card:hover,[data-style=editorial] .nav-link:hover,[data-style=editorial] .btn:hover,[data-style=editorial] .focus-card:hover .icon-inline,[data-style=editorial] .project-card:hover .icon-inline,[data-style=editorial] .detail-card:hover .icon-inline,[data-style=editorial] .nav-link:hover .icon-inline,[data-style=editorial] .text-link:hover .icon-inline{transform:none!important}[data-style=editorial] .reveal,[data-style=editorial] .focus-grid>*,[data-style=editorial] .project-grid>*,[data-style=editorial] .skills-grid>*,[data-style=editorial] .publication-grid>*,[data-style=editorial] .media-grid>*,[data-style=editorial] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=editorial] .portfolio-chat-panel,[data-style=editorial] .portfolio-chat-launcher{border-radius:8px;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=lowlight]{--bg:#05070a;--panel:#0b1018;--panel-soft:#0f1622;--ink:#e8f0fe;--muted:#9caeca;--line:#253347;--shadow:#02070e8c;--accent-cyan:#7bb4ff;--accent-amber:#ffb87d;--accent-mint:#63d9cc;--accent-drl:#88b5ff;--accent-cfd:#5fd7ca;--accent-hpc:#ffb978}[data-style=lowlight] body{background:radial-gradient(circle at 16% 12%,var(--accent-cfd)0,transparent 38%),radial-gradient(circle at 84% 14%,var(--accent-hpc)0,transparent 36%),radial-gradient(circle at 50% 90%,var(--accent-drl)0,transparent 42%),#04070b}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] body{background:radial-gradient(circle at 16% 12%,color-mix(in oklab,var(--accent-cfd),transparent 86%)0,transparent 38%),radial-gradient(circle at 84% 14%,color-mix(in oklab,var(--accent-hpc),transparent 88%)0,transparent 36%),radial-gradient(circle at 50% 90%,color-mix(in oklab,var(--accent-drl),transparent 92%)0,transparent 42%),#04070b}}[data-style=lowlight] .streamline-overlay,[data-style=lowlight] .mesh-overlay{display:none}[data-style=lowlight] .glow{opacity:.12;filter:blur(62px)}[data-style=lowlight] .site-header{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .site-header{border-color:color-mix(in oklab,var(--line),transparent 6%)}}[data-style=lowlight] .site-header{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .site-header{background:color-mix(in oklab,var(--panel),transparent 22%)}}[data-style=lowlight] .site-header{-webkit-backdrop-filter:blur(8px)saturate(120%);backdrop-filter:blur(8px)saturate(120%);box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 #ffffff24}@supports (color:lab(0% 0 0)){[data-style=lowlight] .site-header{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.14)}}[data-style=lowlight] .nav-link{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=lowlight] .nav-link{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link{background:color-mix(in oklab,var(--panel-soft),transparent 18%)}}[data-style=lowlight] .nav-link{-webkit-backdrop-filter:blur(4px)saturate(112%);backdrop-filter:blur(4px)saturate(112%)}[data-style=lowlight] .nav-link-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 90%)}}[data-style=lowlight] .nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)42%)}}[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{border-color:color-mix(in oklab,var(--line),transparent 6%)}}[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{background:linear-gradient(155deg,#ffffff0d 0%,var(--panel)46%)}@supports (color:lab(0% 0 0)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{background:linear-gradient(155deg,lab(100% -.0000298023 .0000119209/.05) 0%,var(--panel)46%)}}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{background:linear-gradient(155deg,lab(100% -.0000298023 .0000119209/.05) 0%,color-mix(in oklab,var(--panel),transparent 16%)46%)}}[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{-webkit-backdrop-filter:blur(7px)saturate(116%);backdrop-filter:blur(7px)saturate(116%);box-shadow:0 14px 30px var(--shadow),inset 0 1px 0 #ffffff24}@supports (color:lab(0% 0 0)){[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner{box-shadow:0 14px 30px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.14)}}[data-style=lowlight] .hero-panel:after,[data-style=lowlight] .hero-side-panel:after,[data-style=lowlight] .focus-card:after,[data-style=lowlight] .project-card:after,[data-style=lowlight] .list-card:after,[data-style=lowlight] .detail-card:after,[data-style=lowlight] .publication-card:after,[data-style=lowlight] .contact-banner:after{content:none}[data-style=lowlight] .focus-motif{opacity:.2;filter:none}[data-style=lowlight] .eyebrow,[data-style=lowlight] .project-year,[data-style=lowlight] .chip,[data-style=lowlight] .status-badge,[data-style=lowlight] .metric-value{font-family:var(--font-mono),monospace}[data-style=lowlight] .chip,[data-style=lowlight] .status-badge,[data-style=lowlight] .filter-chip{border-radius:8px}[data-style=lowlight] .btn{box-shadow:none;border-radius:10px}[data-style=lowlight] .btn-primary{color:#041017}[data-style=lowlight] .project-card:hover,[data-style=lowlight] .focus-card:hover,[data-style=lowlight] .detail-card:hover,[data-style=lowlight] .publication-card:hover,[data-style=lowlight] .nav-link:hover,[data-style=lowlight] .btn:hover,[data-style=lowlight] .focus-card:hover .icon-inline,[data-style=lowlight] .project-card:hover .icon-inline,[data-style=lowlight] .detail-card:hover .icon-inline,[data-style=lowlight] .nav-link:hover .icon-inline,[data-style=lowlight] .text-link:hover .icon-inline{transform:none!important}[data-style=lowlight] .reveal,[data-style=lowlight] .focus-grid>*,[data-style=lowlight] .project-grid>*,[data-style=lowlight] .skills-grid>*,[data-style=lowlight] .publication-grid>*,[data-style=lowlight] .media-grid>*,[data-style=lowlight] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{background:var(--panel)}@supports (color:color-mix(in lab, red, red)){[data-style=lowlight] .portfolio-chat-panel,[data-style=lowlight] .portfolio-chat-launcher{background:color-mix(in oklab,var(--panel),transparent 20%)}}[data-style=parametric]{--bg:#060b13;--panel:#0b1421;--panel-soft:#0f1a2a;--ink:#eaf0fb;--muted:#97aac5;--line:#2b3d57;--shadow:#03091175;--notch-size:12px;--accent-cyan:#63cff7;--accent-amber:#f7bc84;--accent-mint:#67d8c2;--accent-drl:#95acff;--accent-cfd:#5fded2;--accent-hpc:#f8bb7a}[data-style=parametric] body{background:radial-gradient(circle at 12% 9%,var(--accent-cfd)0,transparent 36%),radial-gradient(circle at 90% 14%,var(--accent-drl)0,transparent 34%),repeating-linear-gradient(24deg,var(--line)0 1px,transparent 1px 22px),repeating-linear-gradient(-24deg,var(--line)0 1px,transparent 1px 22px),repeating-linear-gradient(to right,var(--line)0 1px,transparent 1px 32px),var(--bg)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] body{background:radial-gradient(circle at 12% 9%,color-mix(in oklab,var(--accent-cfd),transparent 92%)0,transparent 36%),radial-gradient(circle at 90% 14%,color-mix(in oklab,var(--accent-drl),transparent 93%)0,transparent 34%),repeating-linear-gradient(24deg,color-mix(in oklab,var(--line),transparent 88%)0 1px,transparent 1px 22px),repeating-linear-gradient(-24deg,color-mix(in oklab,var(--line),transparent 90%)0 1px,transparent 1px 22px),repeating-linear-gradient(to right,color-mix(in oklab,var(--line),transparent 84%)0 1px,transparent 1px 32px),var(--bg)}}[data-style=parametric] .streamline-overlay{display:none}[data-style=parametric] .mesh-overlay{opacity:.28;background-size:30px 30px;-webkit-mask-image:radial-gradient(circle at 50% 16%,#000 14%,#0000 84%);mask-image:radial-gradient(circle at 50% 16%,#000 14%,#0000 84%)}[data-style=parametric] .glow{opacity:.06;filter:blur(38px)}[data-style=parametric] .site-frame{max-width:1180px}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{border-color:var(--line);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{border-color:color-mix(in oklab,var(--line),transparent 2%)}}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{background:linear-gradient(160deg,#ffffff0a 0%,var(--panel)46%)}@supports (color:lab(0% 0 0)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{background:linear-gradient(160deg,lab(100% -.0000298023 .0000119209/.04) 0%,var(--panel)46%)}}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{background:linear-gradient(160deg,lab(100% -.0000298023 .0000119209/.04) 0%,color-mix(in oklab,var(--panel),transparent 13%)46%)}}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 #ffffff1f;isolation:isolate;position:relative;overflow:hidden;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@supports (color:lab(0% 0 0)){[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.12)}}[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner{clip-path:polygon(0 0,calc(100% - var(--notch-size))0,100% var(--notch-size),100% 100%,var(--notch-size)100%,0 calc(100% - var(--notch-size)));border-radius:0}[data-style=parametric] .hero-panel>*,[data-style=parametric] .hero-side-panel>*,[data-style=parametric] .focus-card>*,[data-style=parametric] .project-card>*,[data-style=parametric] .list-card>*,[data-style=parametric] .detail-card>*,[data-style=parametric] .publication-card>*,[data-style=parametric] .contact-banner>*{z-index:1;position:relative}[data-style=parametric] .site-header:before,[data-style=parametric] .site-header:after{content:"";pointer-events:none;opacity:.78;width:2.25rem;height:2.25rem;position:absolute}[data-style=parametric] .site-header:before{border-right:1px solid var(--line);top:-1.15rem;left:-1.15rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:before{border-right:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:before{border-bottom:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:before{border-bottom:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:before{transform:rotate(45deg)}[data-style=parametric] .site-header:after{border-left:1px solid var(--line);bottom:-1.15rem;right:-1.15rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:after{border-left:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:after{border-top:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header:after{border-top:1px solid color-mix(in oklab,var(--line),transparent 14%)}}[data-style=parametric] .site-header:after{transform:rotate(45deg)}[data-style=parametric] .hero-panel:after,[data-style=parametric] .hero-side-panel:after,[data-style=parametric] .focus-card:after,[data-style=parametric] .project-card:after,[data-style=parametric] .list-card:after,[data-style=parametric] .detail-card:after,[data-style=parametric] .publication-card:after,[data-style=parametric] .contact-banner:after{content:"";pointer-events:none;opacity:.82;background:linear-gradient(to right,var(--line)0 1rem,transparent 1rem),linear-gradient(to left,var(--line)0 1rem,transparent 1rem),linear-gradient(to bottom,var(--line)0 1rem,transparent 1rem),linear-gradient(to top,var(--line)0 1rem,transparent 1rem);position:absolute;inset:.45rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-panel:after,[data-style=parametric] .hero-side-panel:after,[data-style=parametric] .focus-card:after,[data-style=parametric] .project-card:after,[data-style=parametric] .list-card:after,[data-style=parametric] .detail-card:after,[data-style=parametric] .publication-card:after,[data-style=parametric] .contact-banner:after{background:linear-gradient(to right,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem),linear-gradient(to left,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem),linear-gradient(to bottom,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem),linear-gradient(to top,color-mix(in oklab,var(--line),transparent 22%)0 1rem,transparent 1rem)}}[data-style=parametric] .hero-panel:after,[data-style=parametric] .hero-side-panel:after,[data-style=parametric] .focus-card:after,[data-style=parametric] .project-card:after,[data-style=parametric] .list-card:after,[data-style=parametric] .detail-card:after,[data-style=parametric] .publication-card:after,[data-style=parametric] .contact-banner:after{background-position:0 0,100% 100%,0 0,100% 100%;background-repeat:no-repeat;background-size:1px .9rem,1px .9rem,.9rem 1px,.9rem 1px}[data-style=parametric] .focus-card:before,[data-style=parametric] .project-card:before,[data-style=parametric] .list-card:before,[data-style=parametric] .detail-card:before,[data-style=parametric] .publication-card:before,[data-style=parametric] .contact-banner:before{content:"";pointer-events:none;opacity:.3;clip-path:polygon(0 26%,74% 0,100% 44%,62% 100%,0 80%);background:linear-gradient(24deg,transparent 30%,var(--line)31% 32%,transparent 33%),linear-gradient(126deg,transparent 46%,var(--line)47% 48%,transparent 49%),linear-gradient(162deg,transparent 64%,var(--line)65% 66%,transparent 67%),radial-gradient(circle at 22% 72%,var(--line)0 1px,transparent 2px),radial-gradient(circle at 58% 58%,var(--line)0 1px,transparent 2px),radial-gradient(circle at 78% 32%,var(--line)0 1px,transparent 2px);width:min(54%,12rem);height:6rem;position:absolute;bottom:-1.2rem;right:-1.6rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .focus-card:before,[data-style=parametric] .project-card:before,[data-style=parametric] .list-card:before,[data-style=parametric] .detail-card:before,[data-style=parametric] .publication-card:before,[data-style=parametric] .contact-banner:before{background:linear-gradient(24deg,transparent 30%,color-mix(in oklab,var(--line),transparent 42%)31% 32%,transparent 33%),linear-gradient(126deg,transparent 46%,color-mix(in oklab,var(--line),transparent 38%)47% 48%,transparent 49%),linear-gradient(162deg,transparent 64%,color-mix(in oklab,var(--line),transparent 35%)65% 66%,transparent 67%),radial-gradient(circle at 22% 72%,color-mix(in oklab,var(--line),transparent 28%)0 1px,transparent 2px),radial-gradient(circle at 58% 58%,color-mix(in oklab,var(--line),transparent 30%)0 1px,transparent 2px),radial-gradient(circle at 78% 32%,color-mix(in oklab,var(--line),transparent 32%)0 1px,transparent 2px)}}[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .diag-card{overflow:hidden}[data-style=parametric] .hero-panel:before,[data-style=parametric] .hero-side-panel:before,[data-style=parametric] .diag-card:before{content:"";pointer-events:none;background:radial-gradient(150% 74% at 10% 82%,transparent 64%,var(--accent-cfd)65% 67%,transparent 68%),radial-gradient(150% 74% at 26% 92%,transparent 64%,var(--accent-cfd)65% 67%,transparent 68%),linear-gradient(168deg,transparent 40%,var(--accent-cfd)41% 44%,transparent 45%),linear-gradient(12deg,transparent 58%,var(--line)59% 61%,transparent 62%),repeating-linear-gradient(150deg,var(--line)0 1px,transparent 1px 16px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-panel:before,[data-style=parametric] .hero-side-panel:before,[data-style=parametric] .diag-card:before{background:radial-gradient(150% 74% at 10% 82%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 72%)65% 67%,transparent 68%),radial-gradient(150% 74% at 26% 92%,transparent 64%,color-mix(in oklab,var(--accent-cfd),transparent 76%)65% 67%,transparent 68%),linear-gradient(168deg,transparent 40%,color-mix(in oklab,var(--accent-cfd),transparent 84%)41% 44%,transparent 45%),linear-gradient(12deg,transparent 58%,color-mix(in oklab,var(--line),transparent 70%)59% 61%,transparent 62%),repeating-linear-gradient(150deg,color-mix(in oklab,var(--line),transparent 90%)0 1px,transparent 1px 16px)}}[data-style=parametric] .hero-panel:before,[data-style=parametric] .hero-side-panel:before,[data-style=parametric] .diag-card:before{opacity:.36;-webkit-mask-image:linear-gradient(to bottom right,#000 0 32%,#0000 76%);mask-image:linear-gradient(to bottom right,#000 0 32%,#0000 76%)}[data-style=parametric] .site-header{box-shadow:0 8px 20px var(--shadow),inset 0 -1px 0 var(--line);border-radius:.75rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .site-header{box-shadow:0 8px 20px var(--shadow),inset 0 -1px 0 color-mix(in oklab,var(--line),transparent 26%)}}[data-style=parametric] .brand-name,[data-style=parametric] .section-title,[data-style=parametric] .hero-title{letter-spacing:-.013em}[data-style=parametric] .nav-link{font-family:var(--font-mono),monospace;letter-spacing:.04em;text-transform:uppercase;background:var(--panel-soft);border-radius:999px;font-size:.72rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link{background:color-mix(in oklab,var(--panel-soft),var(--panel)26%)}}[data-style=parametric] .nav-link{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=parametric] .nav-link-active{border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link-active{border-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .nav-link-active{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link-active{background:color-mix(in oklab,var(--page-accent),transparent 90%)}}[data-style=parametric] .nav-link-active{box-shadow:0 0 0 1px var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .nav-link-active{box-shadow:0 0 0 1px color-mix(in oklab,var(--page-accent),transparent 70%)}}[data-style=parametric] .btn{font-family:var(--font-mono),monospace;letter-spacing:.045em;text-transform:uppercase;min-height:2.62rem;box-shadow:none;border-radius:999px;font-size:.74rem}[data-style=parametric] .btn-primary{color:#05111d;border-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-primary{border-color:color-mix(in oklab,var(--page-accent),white 22%)}}[data-style=parametric] .btn-primary{background:linear-gradient(120deg,var(--page-accent),var(--page-accent))}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-primary{background:linear-gradient(120deg,color-mix(in oklab,var(--page-accent),white 12%),color-mix(in oklab,var(--page-accent),transparent 10%))}}[data-style=parametric] .btn-secondary{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-secondary{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=parametric] .btn-secondary{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .btn-secondary{background:color-mix(in oklab,var(--panel-soft),var(--panel)40%)}}[data-style=parametric] .section-heading{padding-left:.92rem}[data-style=parametric] .section-heading:before{filter:none;background:linear-gradient(to bottom,var(--page-accent),var(--line));border-radius:2px;width:3px;height:calc(100% - .36rem);top:.2rem;left:0}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .section-heading:before{background:linear-gradient(to bottom,color-mix(in oklab,var(--page-accent),transparent 14%),color-mix(in oklab,var(--line),transparent 14%))}}[data-style=parametric] .section-heading:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(140% 72% at 15% 74%,transparent 66%,var(--page-accent)67% 69%,transparent 70%),radial-gradient(140% 72% at 30% 86%,transparent 66%,var(--page-accent)67% 69%,transparent 70%);width:min(40rem,100%);height:6.7rem;position:absolute;top:-.6rem;left:-.46rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .section-heading:after{background:radial-gradient(140% 72% at 15% 74%,transparent 66%,color-mix(in oklab,var(--page-accent),transparent 82%)67% 69%,transparent 70%),radial-gradient(140% 72% at 30% 86%,transparent 66%,color-mix(in oklab,var(--page-accent),transparent 86%)67% 69%,transparent 70%)}}[data-style=parametric] .section-heading:after{filter:blur(.1px)}[data-style=parametric] .panel-label{margin-bottom:.56rem;font-size:.62rem}[data-style=parametric] .panel-label:before{border-radius:3px}[data-style=parametric] .hero-subtitle{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-subtitle{color:color-mix(in oklab,var(--ink),var(--muted)38%)}}[data-style=parametric] .hero-copy,[data-style=parametric] .section-description,[data-style=parametric] .publication-meta,[data-style=parametric] .metric-label{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .hero-copy,[data-style=parametric] .section-description,[data-style=parametric] .publication-meta,[data-style=parametric] .metric-label{color:color-mix(in oklab,var(--muted),var(--ink)18%)}}[data-style=parametric] .snapshot-list li{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-list li{border-color:color-mix(in oklab,var(--line),transparent 10%)}}[data-style=parametric] .snapshot-list li{background:linear-gradient(150deg,var(--panel-soft),var(--panel))}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-list li{background:linear-gradient(150deg,color-mix(in oklab,var(--panel-soft),var(--panel)44%),color-mix(in oklab,var(--panel),transparent 6%))}}[data-style=parametric] .snapshot-head{color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-head{color:color-mix(in oklab,var(--page-accent),var(--ink)26%)}}[data-style=parametric] .snapshot-body{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .snapshot-body{color:color-mix(in oklab,var(--muted),var(--ink)24%)}}[data-style=parametric] .mini-node{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-node{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=parametric] .mini-node{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-node{color:color-mix(in oklab,var(--ink),var(--muted)20%)}}[data-style=parametric] .mini-link{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-link{background:color-mix(in oklab,var(--page-accent),var(--line)40%)}}[data-style=parametric] .mini-link:after{border-top-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-link:after{border-top-color:color-mix(in oklab,var(--page-accent),var(--line)40%)}}[data-style=parametric] .mini-link:after{border-right-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .mini-link:after{border-right-color:color-mix(in oklab,var(--page-accent),var(--line)40%)}}[data-style=parametric] .focus-motif{opacity:.14}[data-style=parametric] .diag-card{border-color:var(--line)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-card{border-color:color-mix(in oklab,var(--line),transparent 8%)}}[data-style=parametric] .diag-node{border-color:var(--line);border-radius:.55rem}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-node{border-color:color-mix(in oklab,var(--line),transparent 12%)}}[data-style=parametric] .diag-node{background:var(--panel-soft)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-node{background:color-mix(in oklab,var(--panel-soft),var(--panel)48%)}}[data-style=parametric] .diag-node{font-family:var(--font-mono),monospace;letter-spacing:.01em;font-size:.7rem}[data-style=parametric] .diag-edge{background:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-edge{background:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .diag-edge:after{border-top-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-edge:after{border-top-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .diag-edge:after{border-right-color:var(--page-accent)}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .diag-edge:after{border-right-color:color-mix(in oklab,var(--page-accent),var(--line)36%)}}[data-style=parametric] .diag-edge:after{background:0 0}[data-style=parametric] .chip,[data-style=parametric] .status-badge,[data-style=parametric] .filter-chip{font-family:var(--font-mono),monospace;letter-spacing:.03em;border-radius:.62rem;font-size:.68rem}[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover,[data-style=parametric] .nav-link:hover,[data-style=parametric] .btn:hover,[data-style=parametric] .focus-card:hover .icon-inline,[data-style=parametric] .project-card:hover .icon-inline,[data-style=parametric] .detail-card:hover .icon-inline,[data-style=parametric] .nav-link:hover .icon-inline,[data-style=parametric] .text-link:hover .icon-inline{transform:none!important}[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 #ffffff1f;border-color:var(--page-accent)}@supports (color:lab(0% 0 0)){[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover{box-shadow:0 10px 24px var(--shadow),inset 0 1px 0 lab(100% -.0000298023 .0000119209/.12)}}@supports (color:color-mix(in lab, red, red)){[data-style=parametric] .project-card:hover,[data-style=parametric] .focus-card:hover,[data-style=parametric] .detail-card:hover,[data-style=parametric] .publication-card:hover{border-color:color-mix(in oklab,var(--page-accent),var(--line)44%)}}[data-style=parametric] .reveal,[data-style=parametric] .focus-grid>*,[data-style=parametric] .project-grid>*,[data-style=parametric] .skills-grid>*,[data-style=parametric] .publication-grid>*,[data-style=parametric] .media-grid>*,[data-style=parametric] .detail-grid>*{opacity:1!important;animation:none!important;transform:none!important}[data-style=parametric] .icon-inline,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .nav-link,[data-style=parametric] .btn{transition-duration:.12s}[data-style=parametric] .portfolio-chat-panel{clip-path:polygon(0 0,calc(100% - var(--notch-size))0,100% var(--notch-size),100% 100%,var(--notch-size)100%,0 calc(100% - var(--notch-size)));border-radius:0}@media (max-width:759px){.streamline-overlay{opacity:.13}[data-style=editorial] .site-frame{padding-top:.7rem}[data-style=editorial] .site-header{border-radius:0;padding:.42rem 0 .72rem}[data-style=editorial] .site-nav{justify-content:flex-start;gap:.28rem}[data-style=editorial] .nav-link{border:0;flex:none;width:auto;padding:.36rem .46rem}[data-style=lowlight] .glow{display:none}[data-style=lowlight] .site-header,[data-style=lowlight] .hero-panel,[data-style=lowlight] .hero-side-panel,[data-style=lowlight] .focus-card,[data-style=lowlight] .project-card,[data-style=lowlight] .list-card,[data-style=lowlight] .detail-card,[data-style=lowlight] .publication-card,[data-style=lowlight] .contact-banner,[data-style=lowlight] .nav-link,[data-style=schematic] .site-header,[data-style=schematic] .hero-panel,[data-style=schematic] .hero-side-panel,[data-style=schematic] .focus-card,[data-style=schematic] .project-card,[data-style=schematic] .list-card,[data-style=schematic] .detail-card,[data-style=schematic] .publication-card,[data-style=schematic] .contact-banner,[data-style=schematic] .nav-link{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=parametric] .glow{display:none}[data-style=parametric] .site-header,[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner,[data-style=parametric] .nav-link{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}[data-style=parametric] .hero-panel,[data-style=parametric] .hero-side-panel,[data-style=parametric] .focus-card,[data-style=parametric] .project-card,[data-style=parametric] .list-card,[data-style=parametric] .detail-card,[data-style=parametric] .publication-card,[data-style=parametric] .contact-banner,[data-style=parametric] .portfolio-chat-panel{--notch-size:9px}[data-style=parametric] .panel-label{font-size:.56rem}[data-style=parametric] .diag-flow{flex-direction:column;align-items:stretch;gap:.34rem}[data-style=parametric] .diag-edge{width:2px;height:.68rem;margin:0 auto}[data-style=parametric] .diag-edge:after{top:auto;bottom:-.02rem;right:50%;transform:translate(50%)rotate(135deg)}[data-performance=balanced] .glow{display:none}[data-performance=balanced] .mesh-overlay{opacity:.24}[data-performance=balanced] .site-header,[data-performance=balanced] .hero-panel,[data-performance=balanced] .hero-side-panel,[data-performance=balanced] .focus-card,[data-performance=balanced] .project-card,[data-performance=balanced] .list-card,[data-performance=balanced] .detail-card,[data-performance=balanced] .publication-card,[data-performance=balanced] .contact-banner{-webkit-backdrop-filter:blur(6px)saturate(112%);backdrop-filter:blur(6px)saturate(112%)}[data-style=liquid] .site-header,[data-style=liquid] .hero-panel,[data-style=liquid] .hero-side-panel,[data-style=liquid] .focus-card,[data-style=liquid] .project-card,[data-style=liquid] .list-card,[data-style=liquid] .detail-card,[data-style=liquid] .publication-card,[data-style=liquid] .contact-banner{-webkit-backdrop-filter:blur(12px)saturate(124%);backdrop-filter:blur(12px)saturate(124%)}.site-frame{padding:.8rem .72rem 2rem}.portfolio-chat-root{right:max(.7rem,env(safe-area-inset-right));bottom:max(.7rem,env(safe-area-inset-bottom));left:max(.7rem,env(safe-area-inset-left));align-items:stretch}.portfolio-chat-panel{width:100%;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1rem)}.portfolio-chat-root-open{top:max(.7rem,env(safe-area-inset-top))}.portfolio-chat-root-open .portfolio-chat-panel{height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.4rem)}.portfolio-chat-launcher{align-self:flex-end}.portfolio-chat-lib .aui-modal-anchor{left:max(.7rem,env(safe-area-inset-left));right:max(.7rem,env(safe-area-inset-right));bottom:max(.7rem,env(safe-area-inset-bottom));justify-content:flex-end;width:auto;height:2.9rem;display:flex}.portfolio-chat-modal-content{width:100%;height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.4rem);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 1.4rem);border-radius:.85rem}.portfolio-chat-modal-content .aui-thread-viewport{padding-top:.85rem;padding-left:.65rem;padding-right:.65rem}.portfolio-chat-modal-content .aui-thread-welcome-suggestions{grid-template-columns:1fr;align-items:stretch;gap:.5rem}.portfolio-chat-modal-content .aui-thread-welcome-suggestion{width:100%;max-width:none}.portfolio-chat-modal-content .aui-composer-input{font-size:16px}.site-header{padding:.78rem;position:static}.site-main{padding-top:.95rem}.site-nav{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.38rem;overflow-x:auto}.nav-link{text-align:left;flex:none;width:auto;padding:.45rem .6rem;font-size:.8rem}.page-stack{gap:1.5rem}.hero-panel,.hero-side-panel{padding:1.2rem}.hero-title{font-size:clamp(1.95rem,11vw,2.65rem);line-height:1.02}.hero-subtitle{font-size:.98rem;line-height:1.4}.cta-row{gap:.5rem}.cta-row .btn{width:100%}.snapshot-list li{padding:.52rem .58rem}.mini-pipeline{grid-template-columns:1fr;gap:.2rem;margin-top:.75rem}.mini-link{width:2px;height:.62rem;margin:0 auto}.mini-link:after{top:auto;bottom:-.03rem;right:50%;transform:translate(50%)rotate(135deg)}.btn{min-height:2.8rem}.focus-card,.project-card,.publication-card,.detail-card,.list-card,.contact-banner{padding:1rem}.contact-card h3{min-height:0}.focus-motif{opacity:.3;width:88%}[data-style=schematic] .cfd-bg-overlay{opacity:.46}.site-footer{text-align:center}.footer-controls{justify-content:center;display:flex}}@media (min-width:760px){.site-header{grid-template-columns:180px minmax(0,1fr);align-items:center}.site-nav{justify-content:center}.hero-grid{grid-template-columns:1.45fr 1fr}.focus-grid,.project-grid,.publication-grid,.media-grid,.detail-grid,.diag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1080px){.page-stack{gap:2.3rem}.focus-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diag-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.detail-grid-research,.detail-grid-triple,.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1440px){.hero-copy{max-width:68ch}.section-heading{max-width:84ch}.section-title{max-width:34ch}.contact-banner h2{max-width:32ch}.contact-banner p{max-width:72ch}[data-style=editorial] .section-heading{max-width:90ch}[data-style=editorial] .hero-copy,[data-style=editorial] .section-description,[data-style=editorial] .publication-meta{max-width:78ch}}@media (min-width:1800px){html{font-size:17px}:root{--content-width:1360px}[data-style=parametric] .site-frame{max-width:1400px}}@media (min-width:2560px){html{font-size:18px}:root{--content-width:1520px}[data-style=parametric] .site-frame{max-width:1560px}}@media (min-width:3200px){html{font-size:19px}:root{--content-width:1680px}[data-style=parametric] .site-frame{max-width:1720px}}@media (prefers-reduced-motion:reduce){.streamline-overlay{animation:none}.cfd-ambient-scene,.cfd-network-scene,.cfd-airfoil-scene,.cfd-jet-layer-low,.cfd-jet-layer-high{transform:none}.reveal,.focus-grid>*,.project-grid>*,.skills-grid>*,.publication-grid>*,.media-grid>*,.detail-grid>*{opacity:1;animation:none;transform:none}.btn,.project-card,.focus-card,.detail-card,.publication-card,.nav-link{transition:none}}.math-inline .katex{font-size:1em}.math-block .katex-display{margin:.5rem 0}
