@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:Anthropic Serif;src:url(/fonts/anthropic-serif-roman.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Anthropic Serif;src:url(/fonts/anthropic-serif-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}svg{vertical-align:middle;flex-shrink:0}button{background:0 0;border:0}}@layer base{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a1618;--surface:#0e1c1e;--paper:#f2ebdd;--muted:#a6b6af;--quiet:#8a9e97;--teal:#2cc6af;--amber:#f6b85b;--violet:#a997e8;--line:#263736;--body:"Anthropic Serif", Georgia, "Times New Roman", serif;--mono:"IBM Plex Mono", monospace}html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--bg);color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}::selection{color:#0a1618;background:#2cc6af}:focus-visible{outline:2px solid var(--amber);outline-offset:5px;border-radius:3px}button,a{touch-action:manipulation}button{transition:color .18s,background .18s,border-color .18s}h2{letter-spacing:-1.7px;font-size:clamp(34px,4vw,50px);font-weight:400;line-height:1.14}.mono,.eyebrow{font-family:var(--mono)}.eyebrow{color:var(--teal);letter-spacing:1.7px;margin-bottom:20px;font-size:10px;line-height:1.7}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--paper);color:var(--bg);padding:14px;position:fixed;top:10px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:none}}@layer layout{.site-header,main,.site-footer{max-width:1512px;margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:104px;margin-inline:48px;display:flex}.hero{min-height:690px;margin-inline:48px;padding-top:58px;position:relative}.hero-copy{z-index:20;pointer-events:none;width:47%;max-width:600px;position:relative}.hero-copy a,.hero-copy button{pointer-events:auto}.hero-graph{width:64%;height:calc(100% - 44px);position:absolute;top:2px;right:-18px}.hero-bottom{z-index:20;justify-content:space-between;align-items:center;height:72px;margin-top:44px;padding-top:14px;display:flex;position:relative}.graph-directory-wrap{border-block:1px solid var(--line);z-index:25;justify-content:space-between;align-items:flex-start;gap:20px;margin-inline:48px;display:flex;position:relative}.content-section{padding:94px 48px}.section-heading{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:42px;display:flex}.section-intro{max-width:360px;color:var(--muted);font-size:15px;line-height:1.7}.project-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.experience-section,.foundations-section{border-block:1px solid var(--line);background:#0d1a1c}.site-footer{align-items:center;gap:24px;padding:48px;display:flex}}@layer components{.brand{color:var(--teal);align-items:center;gap:14px;display:inline-flex}.brand>span{color:var(--paper);letter-spacing:1.7px;font-size:15px}.brand-subtitle{color:var(--quiet);font:8px/2 var(--mono);letter-spacing:1.1px;display:block}.site-header nav{align-items:center;gap:30px;font-size:13px;display:flex}.site-header nav a,.site-header nav button{align-items:center;gap:9px;min-height:44px;padding:0;display:flex}.site-header nav a:hover,.site-header nav button:hover{color:var(--teal)}.nav-dot{background:var(--teal);border-radius:50%;width:4px;height:4px}.header-location{color:var(--quiet);font:9px var(--mono);letter-spacing:1px}.availability{color:var(--teal);font:9px/1 var(--mono);letter-spacing:.8px;border:1px solid #21463f;border-radius:3px;align-items:center;gap:9px;margin-bottom:32px;padding:10px 12px;display:inline-flex}.status-dot{background:var(--teal);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #2cc6af50}.hero-kicker{color:var(--quiet);letter-spacing:1.3px;margin-bottom:18px;font-size:9px}h1{letter-spacing:-4.3px;font-size:clamp(64px,6.6vw,98px);font-weight:400;line-height:.98}.name-period{color:var(--teal)}.hero-title{letter-spacing:-.3px;margin-top:23px;font-size:17px}.hero-location{color:var(--quiet);flex-wrap:wrap;align-items:center;gap:6px;margin-top:9px;font-size:11px;line-height:1.6;display:flex}.hero-location>span{opacity:.7;padding:0 3px}.hero-statement{letter-spacing:-.5px;margin-top:29px;font-size:23px;line-height:1.35}.hero-statement em{color:var(--teal);font-style:normal}.hero-description{color:var(--muted);max-width:330px;margin-top:17px;font-size:14px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:28px;display:flex}.button{border-radius:3px;justify-content:space-between;align-items:center;gap:20px;min-height:44px;font-size:12px;display:inline-flex}.button-primary{background:var(--teal);color:var(--bg);padding:14px 18px;font-weight:500;transition:background .18s}.button-primary:hover{background:#5fd5c3}.button-link{color:var(--muted);gap:10px;padding:12px 0;font-size:11px}.button-link:hover{color:var(--paper)}.scroll-cue{color:var(--quiet);font:8px var(--mono);letter-spacing:1px;align-items:center;gap:14px;min-height:44px;display:inline-flex}.scroll-cue>span{font:20px var(--body);color:var(--paper)}.hero-bottom-note,.hero-index{color:var(--quiet);font:8px var(--mono);letter-spacing:1.3px}.hero-bottom-note{margin-left:20%}.graph-shell{isolation:isolate;height:100%;position:relative}.graph-shell:before{content:"";pointer-events:none;background:radial-gradient(#2cc6af08,#0000 68%);position:absolute;inset:12%}.graph-grid{pointer-events:none;background-image:radial-gradient(#769d8e44 .65px,#0000 .65px);background-size:22px 22px;position:absolute;inset:20px 0;-webkit-mask-image:radial-gradient(#000 20%,#0000 70%);mask-image:radial-gradient(#000 20%,#0000 70%)}.canvas-container{position:absolute;inset:0}.graph-coordinate{color:var(--quiet);font:8px var(--mono);letter-spacing:1.7px;pointer-events:none;position:absolute}.graph-coordinate-top{top:46px;right:28px}.graph-coordinate-bottom{bottom:20px;right:26px}.graph-label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.projected-label{pointer-events:auto;visibility:hidden;position:absolute;top:0;left:0}.projected-tooltip{z-index:3}.central-label{text-align:center;white-space:nowrap;flex-direction:column;align-items:center;padding:8px;display:flex}.central-label-kicker{color:var(--teal);font:7px var(--mono);letter-spacing:1.7px}.central-label strong{letter-spacing:-1px;color:var(--paper);margin-top:4px;font-size:27px;font-weight:400}.graph-label{white-space:nowrap;min-height:38px;color:var(--paper);background:#0a1618cd;border-radius:3px;padding:10px 8px;font-size:11px}.graph-label-number{color:var(--cluster-color);font:8px var(--mono);margin-right:4px}.graph-label:hover,.graph-label.is-active{color:var(--cluster-color);background:#132624}.node-tooltip{border:1px solid var(--teal);background:var(--surface);color:var(--paper);white-space:nowrap;border-radius:4px;padding:12px 16px;font-size:12px;transform:translateY(-38px);box-shadow:0 8px 24px #0006}.node-tooltip span{font:8px var(--mono);color:var(--teal);margin-top:6px;display:block}.scene-loading,.graph-fallback{height:100%;color:var(--muted);font:11px var(--mono);justify-content:center;align-items:center;display:flex}.graph-fallback{text-align:center;flex-direction:column;gap:24px;padding:40px 24px}.graph-fallback>svg{width:64px;height:64px;color:var(--teal)}.graph-fallback>span{font:12px/1.6 var(--body);max-width:280px}.fallback-clusters{flex-wrap:wrap;justify-content:center;gap:8px;max-width:330px;display:flex}.fallback-clusters button{border:1px solid var(--line);color:var(--paper);min-height:44px;font:12px var(--body);padding:12px}.fallback-clusters button:hover{border-color:var(--teal)}.node-directory{flex:1;min-width:245px}.node-directory summary{cursor:pointer;align-items:center;gap:12px;min-height:62px;font-size:12px;list-style:none;display:flex}.node-directory summary::-webkit-details-marker{display:none}.directory-symbol{color:var(--teal);font-size:18px}.directory-count{font:9px var(--mono);color:var(--quiet);border:1px solid var(--line);border-radius:3px;padding:3px 6px}.directory-chevron{color:var(--quiet);font-size:16px}details[open] .directory-chevron{transform:rotate(45deg)}.directory-content{padding-bottom:28px}.directory-person{color:var(--teal);margin-bottom:20px;padding:8px 0;font-size:14px}.directory-group{margin:18px 0}.directory-group-title{color:var(--paper);padding:8px 0;font-size:13px}.directory-group>div{flex-wrap:wrap;gap:6px;display:flex}.directory-group>div button{border:1px solid var(--line);min-height:44px;color:var(--muted);border-radius:3px;padding:10px 12px;font-size:12px}.directory-group>div button:hover{color:var(--teal);border-color:var(--teal)}.scene-controls{flex-shrink:0;align-items:center;gap:18px;min-height:62px;display:flex}.scene-controls button{font:9px var(--mono);color:var(--quiet);min-height:44px;padding:4px 0}.scene-controls button:hover,.scene-controls button[aria-pressed=true]{color:var(--teal)}.project-card{border:1px solid var(--line);--project-color:var(--teal);background:linear-gradient(135deg,#14232150,#0000 55%);flex-direction:column;padding:24px;display:flex;position:relative}.project-microgrid{--project-color:var(--amber)}.project-commerce{--project-color:var(--violet)}.project-card:before{content:"";background:var(--project-color);width:32px;height:1px;position:absolute;top:-1px;left:24px}.project-card-top{color:var(--quiet);justify-content:space-between;align-items:center;gap:12px;display:flex}.project-card-top .mono{font-size:9px}.project-category{text-align:right;font-size:10px}.project-glyph{width:100%;height:155px;color:var(--project-color);margin:12px 0 16px}.project-card h3{letter-spacing:-.5px;font-size:21px;font-weight:400;line-height:1.3}.project-card h3 button{text-align:left;align-items:flex-start;gap:12px;width:100%;padding:0;display:flex}.project-card h3 svg{color:var(--project-color);margin-top:5px}.project-card>p{color:var(--muted);margin-top:16px;font-size:13px;line-height:1.7}.project-evidence{flex-wrap:wrap;align-items:baseline;gap:10px;padding:22px 0;display:flex}.project-evidence strong{letter-spacing:-.5px;color:var(--project-color);font-size:24px;font-weight:400}.project-evidence span{color:var(--quiet);font:9px/1.6 var(--mono)}.story-link{border-top:1px solid var(--line);text-align:left;min-height:44px;color:var(--paper);justify-content:space-between;align-items:center;gap:20px;margin-top:auto;padding:17px 0 0;font-size:11px;display:flex}.story-link:hover{color:var(--project-color)}.project-commerce .story-link{margin-top:24px}.experience-list{margin-top:40px}.experience-row{border-top:1px solid var(--line);grid-template-columns:145px minmax(0,1fr) 230px;gap:24px;padding-block:36px;display:grid}.experience-period{color:var(--quiet);padding-top:6px;font-size:10px;line-height:1.6}.experience-row h3{letter-spacing:-.6px;font-size:27px;font-weight:400}.experience-row h3 button{text-align:left;align-items:center;gap:20px;padding:0;display:flex}.experience-row h3 svg{color:var(--teal)}.experience-role{color:var(--teal);margin-top:8px;font-size:12px}.experience-summary{color:var(--muted);margin-top:18px;font-size:14px;line-height:1.7}.experience-details{color:var(--quiet);margin-top:12px;padding-left:17px;font-size:12px;line-height:1.8}.experience-details li{margin-block:8px;padding-left:4px}.experience-evidence{border-left:1px solid var(--line);padding:4px 0 0 28px}.experience-evidence:empty{border:0}.experience-evidence .mono{color:var(--quiet);font-size:9px}.experience-evidence strong{color:var(--teal);flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:29px;font-weight:400;display:flex}.experience-evidence strong>span:first-child{color:var(--quiet);font-size:21px}.metric-arrow{color:var(--teal);font-size:19px}.skill-categories{grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.skill-category h3{font:10px var(--mono);color:var(--quiet);border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:16px}.skill-category>div{flex-wrap:wrap;gap:8px;display:flex}.skill-chip{border:1px solid var(--line);border-radius:3px;align-items:center;gap:12px;min-height:44px;padding:11px 13px;font-size:12px;display:flex}.skill-chip span{color:var(--quiet);font-size:10px}.skill-chip:hover{color:var(--teal);background:#112823;border-color:#2cc6af99}.foundations-grid{grid-template-columns:1fr 1.2fr .7fr;gap:40px;margin-top:40px;display:grid}.foundations-grid>div>.mono{color:var(--quiet);margin-bottom:24px;font-size:10px;display:block}.foundations-grid h3{letter-spacing:-.3px;font-size:19px;font-weight:400;line-height:1.5}.foundations-grid h3 button{text-align:left;align-items:baseline;gap:12px;padding:0;display:flex}.foundations-grid h3 svg{width:14px;height:14px;color:var(--violet)}.education-block p{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6}.certifications-block>div+div{margin-top:24px}.certifications-block>div>span{font:9px var(--mono);color:var(--violet);margin-bottom:6px;display:block}.languages-block p{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-block:12px;font-size:12px;display:flex}.languages-block strong{font-weight:400}.languages-block p>span{color:var(--quiet);text-align:right;font-size:10px}.site-footer>svg{color:var(--teal)}.site-footer>div{flex:1}.site-footer p{letter-spacing:-.3px;font-size:17px}.site-footer div>span{color:var(--quiet);max-width:530px;margin-top:8px;font-size:11px;line-height:1.7;display:block}.site-footer>.mono{color:var(--quiet);text-align:right;max-width:230px;font-size:9px;line-height:1.8}.detail-panel{background:var(--surface);width:min(480px,100%);max-width:100%;height:100dvh;max-height:100dvh;color:var(--paper);border:0;border-left:1px solid #2b4b43;margin:0 0 0 auto;padding:0;inset:0;box-shadow:-30px 0 100px #0004}.detail-panel[open]{flex-direction:column;animation:.28s cubic-bezier(.2,.7,.2,1) panel-in;display:flex}.detail-panel::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06101280}.detail-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 28px;display:flex}.detail-topline>.mono{color:var(--teal);text-transform:uppercase;letter-spacing:1px;font-size:9px}.close-panel{width:44px;height:44px;color:var(--muted);border:1px solid var(--line);border-radius:50%;font-size:29px}.close-panel:hover{color:var(--paper);background:#21332f}.detail-body{overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:34px 32px;overflow-y:auto}.detail-body h2{letter-spacing:-1px;outline:none;font-size:35px;line-height:1.15}.detail-period{color:var(--quiet);margin-top:16px;font-size:10px}.detail-summary{color:var(--muted);margin-top:23px;font-size:15px;line-height:1.75}.detail-metrics{background:#112622;border:1px solid #285248;margin-top:28px;padding:22px}.detail-metrics span{color:var(--teal);font-size:9px;display:block}.detail-metrics strong{letter-spacing:-1px;color:var(--paper);margin-top:10px;font-size:31px;font-weight:400;display:block}.detail-metrics p{color:var(--muted);margin-top:9px;font-size:11px;line-height:1.6}.detail-section{margin-top:32px}.detail-section h3{color:var(--quiet);font:10px var(--mono);text-transform:uppercase;letter-spacing:.7px;margin-bottom:18px}.detail-section ul{color:var(--muted);padding-left:18px;font-size:13px;line-height:1.8}.detail-section li{margin-block:14px;padding-left:5px}.detail-tags{flex-wrap:wrap;gap:8px;display:flex}.detail-tags button{border:1px solid var(--line);border-radius:3px;align-items:center;gap:10px;min-height:44px;padding:10px 12px;font-size:12px;display:flex}.detail-tags svg{width:12px;height:12px;color:var(--teal)}.detail-tags button:hover{color:var(--teal);border-color:var(--teal)}.detail-member-list{flex-direction:column;display:flex}.detail-member-list button{text-align:left;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:15px 0;font-size:13px;display:flex}.detail-member-list button svg{color:var(--teal)}.connection-list{flex-direction:column;display:flex}.connection-list button{text-align:left;border-bottom:1px solid var(--line);grid-template-columns:100px 1fr 18px;align-items:center;gap:10px;min-height:44px;padding:14px 0;font-size:12px;display:grid}.relation-label{color:var(--teal);text-transform:uppercase;font-size:8px;line-height:1.7}.connection-list svg{color:var(--quiet);width:13px}.connection-list button:hover,.detail-member-list button:hover{color:var(--teal)}.detail-note{color:var(--quiet);margin-top:24px;font-size:12px;line-height:1.7}.detail-source{color:var(--quiet);margin-top:32px;font-size:8px}.detail-footer{border-top:1px solid var(--line);padding:18px 32px}.detail-footer button{width:100%;min-height:44px;color:var(--teal);justify-content:space-between;align-items:center;font-size:12px;display:flex}.performance-output{z-index:40;color:var(--teal);font:9px var(--mono);pointer-events:none;background:#000b;padding:8px;position:absolute;bottom:0;left:12px}.debug-overlay{z-index:100;color:#d5eee5;max-width:min(440px,100vw - 16px);max-height:45vh;font:10px/1.7 var(--mono);pointer-events:auto;background:#071012f5;border:1px solid #2cc6af;flex-direction:column;padding:10px;display:flex;position:fixed;bottom:8px;left:8px;overflow:auto}.debug-overlay strong>span{color:#2cc6af;margin-left:8px}.debug-overlay button{text-align:left;border:1px solid #365449;margin-top:6px;padding:8px;font-size:10px}.debug-overlay pre{white-space:pre-wrap;font-size:9px}#portfolio-static{max-width:1000px;margin:40px auto;padding:32px}#portfolio-static h1{letter-spacing:-1px;font-size:54px}#portfolio-static h2,#portfolio-static h3{margin-top:30px}#portfolio-static p,#portfolio-static li{margin-top:10px;line-height:1.8}@keyframes panel-in{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:none}}}@layer responsive{@media (width>=1608px){.site-header{max-width:1416px;margin-inline:auto}.hero{min-height:790px;padding-top:78px}.hero-copy{width:43%}.hero-graph{width:65%}.hero-description{max-width:365px;font-size:15px}.hero-actions{margin-top:32px}.hero-bottom{margin-top:64px}}@media (width<=1100px){.site-header,.hero,.graph-directory-wrap{margin-inline:32px}.header-location{display:none}.hero{padding-top:44px}h1{font-size:72px}.hero-title{max-width:270px;font-size:15px;line-height:1.5}.hero-location,.hero-description{max-width:275px}.hero-graph{width:65%;right:-30px}.hero-actions{gap:4px 16px}.hero-bottom-note{display:none}.content-section{padding:76px 32px}.project-grid{gap:16px}.project-card{padding:20px}.project-category{font-size:9px}.project-card h3{font-size:18px}.experience-row{grid-template-columns:110px minmax(0,1fr) 190px;gap:20px}.experience-evidence{padding-left:20px}.experience-evidence strong{font-size:25px}.skill-categories{gap:24px}.foundations-grid{grid-template-columns:1fr 1.2fr;gap:24px}.languages-block{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:28px;display:flex}.languages-block>.mono{margin:0!important}.languages-block p{gap:16px}.site-footer{padding:36px 32px}}@media (width<=760px){.site-header{gap:16px;height:76px;margin-inline:20px}.brand{gap:8px}.brand>svg{width:27px;height:27px}.brand>span{white-space:nowrap;font-size:12px}.brand-subtitle{display:none}.site-header nav{gap:14px;font-size:11px}.site-header nav a,.site-header nav button{gap:5px}.hero{flex-direction:column;min-height:0;margin-inline:20px;padding-top:28px;display:flex}.hero-copy{width:100%;max-width:100%}.availability{margin-bottom:24px;padding:9px 11px;font-size:8px}.hero-kicker{margin-bottom:14px;font-size:8px}h1{letter-spacing:-3px;font-size:clamp(58px,15vw,82px);line-height:1.02}.hero-title{max-width:none;margin-top:19px;font-size:15px}.hero-location{gap:5px;max-width:none;margin-top:7px;font-size:10px}.hero-statement{margin-top:23px;font-size:22px}.hero-description{max-width:360px;margin-top:13px;font-size:13px;line-height:1.7}.hero-actions{gap:14px;margin-top:22px}.button-primary{gap:16px;padding:13px 15px;font-size:11px}.button-link{gap:6px;font-size:10px}.hero-graph{width:calc(100% + 40px);height:440px;margin:12px -20px 0;position:relative;right:auto}.graph-coordinate-top{font-size:7px;top:14px;right:20px}.graph-coordinate-bottom{letter-spacing:1px;font-size:6px;bottom:8px;right:20px}.graph-label{min-height:44px;padding:10px 5px;font-size:10px}.graph-label-number{margin-right:2px;font-size:7px}.central-label strong{font-size:23px}.central-label-kicker{font-size:6px}.hero-bottom{height:60px;margin-top:0;padding-top:0}.hero-index{font-size:7px}.graph-directory-wrap{flex-wrap:wrap;align-items:center;gap:8px;margin-inline:20px}.node-directory{flex-basis:100%;min-width:0}.node-directory summary{min-height:52px}.directory-content{padding-bottom:16px}.scene-controls{gap:22px;min-height:44px;padding-bottom:7px}.scene-controls button{font-size:8px}.content-section{padding:60px 20px}.section-heading{margin-bottom:28px;display:block}.eyebrow{letter-spacing:1.4px;margin-bottom:16px;font-size:8px}h2{letter-spacing:-1.2px;font-size:34px}.section-intro{max-width:400px;margin-top:18px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:20px}.project-card{padding:24px}.project-category{font-size:10px}.project-glyph{height:150px;margin-block:8px 16px}.project-card h3{font-size:23px}.project-card>p{margin-top:13px;font-size:13px}.experience-list{margin-top:28px}.experience-row{grid-template-columns:1fr;gap:14px;padding-block:28px}.experience-period{padding:0;font-size:9px}.experience-row h3{font-size:26px}.experience-summary{margin-top:16px;font-size:13px}.experience-details{font-size:12px}.experience-evidence{border:0;border-top:1px solid var(--line);padding:18px 0 0}.experience-evidence strong{margin-top:8px;font-size:28px}.skill-categories{grid-template-columns:1fr;gap:28px}.skill-category h3{margin-bottom:14px;padding-bottom:14px}.skill-chip{font-size:12px}.foundations-grid{grid-template-columns:1fr;gap:32px;margin-top:30px}.foundations-grid>div>.mono{margin-bottom:18px}.languages-block{grid-column:auto;display:block}.languages-block>.mono{margin-bottom:12px!important}.site-footer{flex-wrap:wrap;align-items:flex-start;gap:14px;padding:32px 20px}.site-footer>svg{width:25px;height:25px}.site-footer>div{flex-basis:calc(100% - 40px)}.site-footer p{font-size:15px}.site-footer>.mono{text-align:left;max-width:none;margin-left:39px;font-size:8px}.detail-panel{border-top:1px solid #2b4b43;border-left:0;border-radius:16px 16px 0 0;width:100%;height:91dvh;max-height:91dvh;margin:auto 0 0}.detail-topline{padding:12px 20px}.detail-body{padding:25px 22px}.detail-body h2{font-size:30px}.detail-summary{font-size:14px}.detail-footer{padding:12px 22px}.detail-metrics{padding:18px}.detail-metrics strong{font-size:29px}.connection-list button{grid-template-columns:90px 1fr 14px;font-size:11px}.performance-output{font-size:8px;bottom:24px}#portfolio-static{padding:20px}}@media (width<=360px){.site-header{margin-inline:16px}.site-header nav{gap:9px;font-size:10px}.hero-actions{gap:4px 12px}.button-link{font-size:9px}.hero-graph{height:400px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}}.recruiter-toggle{min-height:44px;color:var(--teal);white-space:nowrap;border:1px solid #36544b;border-radius:3px;align-items:center;gap:14px;padding:11px 14px;font-size:11px;display:flex}.recruiter-toggle:hover{background:#132a24}.recruiter-toggle-short{display:none}.has-ask .site-header{z-index:75;background:var(--bg);position:fixed;inset:0 0 auto}.has-ask .hero-copy,.has-ask .hero-bottom,.has-ask .graph-directory-wrap,.has-ask main>.content-section,.has-ask .site-footer{visibility:hidden}.has-ask .hero-graph{z-index:40;background:var(--bg);width:60%;height:auto;position:fixed;top:106px;bottom:24px;right:24px}.has-ask main>.ask-section{z-index:60;overscroll-behavior:contain;scrollbar-width:thin;background:#0e1d1c;border:1px solid #2b4a40;border-radius:5px;width:min(480px,40%);margin:0;padding:28px;position:fixed;top:120px;bottom:28px;left:32px;overflow-y:auto}.has-ask .ask-heading{padding-right:24px;display:block}.has-ask .ask-heading h2{font-size:32px}.has-ask .ask-heading>p{max-width:none;margin-top:15px}.has-ask .ask-form{flex-wrap:wrap;gap:8px;padding:12px}.has-ask .ask-form input{flex-basis:calc(100% - 28px);font-size:14px}.has-ask .ask-form .button{justify-content:space-between;width:100%}.has-ask .ask-suggestions button{flex:45%;font-size:10px}.has-ask .ask-answer{padding:18px}.has-ask .ask-answer-top{gap:8px}.has-ask .ask-answer-top h3{font-size:9px}.has-ask .replay-toolbar .replay-start{text-align:left;flex-basis:100%}.ask-close{z-index:3;width:44px;height:44px;color:var(--muted);background:#0e1d1c;border-radius:50%;margin-bottom:-44px;margin-left:calc(100% - 44px);font-size:26px;display:block;position:sticky;top:0}.has-ask .ask-answer-top{padding-right:42px}.ask-section{border-bottom:1px solid var(--line);margin:0 48px;padding:54px 0 60px}.ask-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:25px;display:flex}.ask-heading h2{letter-spacing:-1px;font-size:36px}.ask-heading .eyebrow{margin-bottom:12px}.ask-heading>p{max-width:330px;color:var(--muted);font-size:13px;line-height:1.7}.ask-form{background:#0f201f;border:1px solid #3b5751;border-radius:4px;align-items:center;gap:16px;padding:8px 8px 8px 20px;display:flex}.ask-form:focus-within{border-color:var(--teal)}.ask-prompt-sign{color:var(--teal);font:24px var(--mono)}.ask-form input{min-width:0;color:var(--paper);font:14px var(--body);background:0 0;border:none;flex:1;min-height:44px}.ask-form input::placeholder{color:var(--quiet)}.ask-form input:focus-visible{outline-offset:3px}.ask-form .button{flex-shrink:0;min-height:44px;padding:12px 16px}.ask-form button:disabled{opacity:.65;cursor:default}.ask-suggestions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.ask-suggestions button{border:1px solid var(--line);min-height:44px;color:var(--muted);text-align:left;border-radius:3px;align-items:center;gap:14px;padding:11px 12px;font-size:11px;display:flex}.ask-suggestions button>span{color:var(--teal)}.ask-suggestions button:hover{border-color:var(--teal);color:var(--paper)}.ask-answer{background:#10221e;border:1px solid #35594e;border-radius:4px;margin-top:24px;padding:28px}.ask-answer-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.ask-answer-top h3{font:11px var(--mono);color:var(--teal);text-transform:uppercase;letter-spacing:.7px}.ask-answer-top button{color:var(--muted);min-height:44px;padding:4px 0;font-size:10px}.ask-answer-summary p{color:var(--paper);font-size:14px;line-height:1.8}.ask-answer-summary p+p{margin-top:10px}.ask-match-terms{flex-wrap:wrap;align-items:center;gap:8px;margin-top:19px;display:flex}.ask-match-terms .mono{color:var(--quiet);margin-right:6px;font-size:9px}.ask-match-terms>span:not(.mono){color:var(--teal);font:9px var(--mono);border:1px solid #285b4b;border-radius:3px;padding:4px 7px}.ask-result-nodes{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.ask-result-nodes button{border:1px solid #3a554b;border-radius:3px;align-items:center;gap:14px;min-height:44px;padding:11px 13px;font-size:12px;display:flex}.ask-result-nodes button:hover{border-color:var(--teal)}.ask-result-nodes svg{color:var(--teal);width:13px;height:13px}.query-preview{border-block:1px solid #2f443b;margin-top:24px;padding:16px 0}.query-preview summary{color:var(--quiet);font:10px var(--mono);cursor:pointer;min-height:28px;padding:4px 0}.query-preview pre{color:#88d6b5;font:11px/1.9 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#091a16;border:1px solid #244339;margin:12px 0;padding:17px}.query-preview p{color:var(--quiet);font-size:11px;line-height:1.7}.replay-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;display:flex}.replay-toolbar button{border:1px solid #35594b;border-radius:3px;min-height:44px;padding:10px 12px;font-size:11px}.replay-toolbar .replay-start{color:var(--teal);border-color:#32745e;margin-right:auto}.replay-start span{margin-left:14px}.replay-toolbar button:disabled{opacity:.55;cursor:default}.reasoning-replay{border-left:2px solid var(--teal);background:#0b1b17;margin-top:22px;padding:20px}.reasoning-replay>.mono{color:var(--teal);font-size:9px}.reasoning-replay>p{color:var(--paper);margin-top:10px;font-size:13px;line-height:1.8}.reasoning-replay ol{flex-direction:column;gap:5px;margin:18px 0 0;padding:0;list-style:none;display:flex}.reasoning-replay ol button{text-align:left;width:100%;min-height:44px;color:var(--muted);border:1px solid #0000;padding:8px 10px;font-size:11px;line-height:1.7}.reasoning-replay ol button[aria-current=step]{color:var(--paper);background:#1a332a;border-color:#36795e}.replay-motion-note{color:var(--muted);margin-top:15px;font-size:11px}.recruiter-page{background:var(--paper);color:#172e28;min-height:100vh}.recruiter-page :focus-visible{outline-color:#116757}.recruiter-page .detail-panel :focus-visible{outline-color:var(--amber)}.recruiter-page .site-header{border-color:#b9c8bb}.recruiter-page .brand,.recruiter-page .recruiter-toggle{color:#116757}.recruiter-page .brand>span{color:#172e28}.recruiter-page .brand-subtitle{color:#52685b}.recruiter-page .recruiter-toggle{border-color:#93b0a0}.recruiter-page .recruiter-toggle:hover{background:#dde5d9}.recruiter-page .site-header nav a:hover{color:#116757}.cv-page{max-width:1040px;margin:0 auto;padding:54px 48px 70px}.cv-profile{border-bottom:2px solid #2a725e;justify-content:space-between;gap:30px;padding-bottom:34px;display:flex}.cv-profile h1{letter-spacing:-1.8px;font-size:46px;line-height:1.2}.cv-profile .eyebrow{color:#116757}.cv-title{margin-top:12px;font-size:18px;font-weight:500}.cv-profile p:not(.eyebrow,.cv-title){color:#425e4f;margin-top:9px;font-size:13px;line-height:1.8}.cv-profile .cv-objective{max-width:690px}.cv-print{color:#116757;white-space:nowrap;border:1px solid #93b0a0;align-self:flex-start;min-height:44px;padding:12px;font-size:11px}.cv-ask{border-bottom:1px solid #b9c8bb}.cv-ask>summary{color:#116757;cursor:pointer;justify-content:space-between;align-items:center;min-height:54px;font-size:12px;list-style:none;display:flex}.cv-ask>summary::-webkit-details-marker{display:none}.cv-ask .ask-section{color:var(--paper);background:var(--bg);border-radius:5px;margin:0 0 24px;padding:24px}.cv-ask .ask-section :focus-visible{outline-color:var(--amber)}.cv-ask .ask-heading h2{font-size:29px}.cv-ask .ask-heading>p{font-size:12px}.cv-section{border-bottom:1px solid #b9c8bb;padding:30px 0}.cv-section h2{color:#116757;font:11px var(--mono);text-transform:uppercase;letter-spacing:1.4px;margin-bottom:24px}.cv-entry+.cv-entry{margin-top:32px}.cv-entry-heading{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.cv-page h3{letter-spacing:-.3px;font-size:18px;font-weight:500;line-height:1.5}.cv-entry h3 button{text-align:left;padding:0}.cv-entry h3 button:hover{color:#116757}.cv-entry-heading>span{color:#425e4f;white-space:nowrap;font-size:10px}.cv-page .cv-entry-role{color:#116757;margin-top:6px;font-size:12px}.cv-page p,.cv-page li{font-size:13px;line-height:1.75}.cv-entry>p:not(.cv-entry-role){margin-top:12px}.cv-entry ul{color:#344c40;margin:12px 0;padding-left:19px}.cv-entry li{margin-top:7px;padding-left:3px}.cv-page .cv-technologies{color:#425e4f;font-size:11px}.cv-technologies strong{color:#172e28;font-weight:500}.cv-skill-groups{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.cv-skill-groups h3{color:#116757;margin-bottom:10px;font-size:12px}.cv-skill-groups p{color:#344c40;font-size:12px}.cv-foundations{grid-template-columns:1fr 1fr;gap:36px;display:grid}.cv-certificate+.cv-certificate{margin-top:22px}.cv-foundations h3{font-size:15px}.cv-foundations p{color:#425e4f;margin-top:6px;font-size:12px}.cv-contact code{font:10px var(--mono);overflow-wrap:anywhere}@media (width<=1100px){.ask-section{margin-inline:32px}.ask-heading>p{max-width:280px}.cv-page{padding-inline:32px}.recruiter-toggle{padding-inline:10px;font-size:10px}.site-header nav{gap:20px}}@media (width<=760px){.has-ask .hero-graph{width:100%;height:var(--ask-mobile-graph-height,250px);border-bottom:1px solid var(--line);margin:0;inset:76px 0 auto}.has-ask main>.ask-section{top:calc(76px + var(--ask-mobile-graph-height,250px));height:calc(var(--ask-visible-height,100dvh) - 76px - var(--ask-mobile-graph-height,250px));border-inline:0;border-radius:0;width:100%;padding:22px 20px;bottom:auto;left:0}.has-ask .graph-coordinate,.has-ask .graph-label-layer .projected-label:not(.projected-tooltip){display:none}.has-ask .graph-fallback{gap:10px;padding:10px}.has-ask .graph-fallback>svg{width:32px;height:32px}.has-ask .graph-fallback>span{display:none}.has-ask .ask-heading h2{font-size:28px}.has-ask .ask-form input{font-size:16px}.site-header .desktop-nav-link{display:none}.site-header nav{gap:14px}.recruiter-toggle-full{display:none}.recruiter-toggle-short{display:inline}.recruiter-toggle{gap:8px;padding:10px;font-size:10px}.ask-section{margin-inline:20px;padding-block:35px 42px}.ask-heading{margin-bottom:20px;display:block}.ask-heading h2{font-size:30px}.ask-heading>p{max-width:none;margin-top:16px;font-size:12px}.ask-form{flex-wrap:wrap;gap:8px;padding:12px}.ask-prompt-sign{font-size:18px}.ask-form input{flex-basis:calc(100% - 28px);width:calc(100% - 28px);font-size:16px}.ask-form .button{justify-content:space-between;width:100%;font-size:12px}.ask-suggestions{gap:6px}.ask-suggestions button{flex:45%;justify-content:space-between;padding:10px;font-size:10px;line-height:1.6}.ask-answer{margin-top:20px;padding:18px}.ask-answer-top{gap:10px;margin-bottom:14px}.ask-answer-top h3{font-size:9px;line-height:1.6}.ask-answer-summary p{font-size:13px}.ask-result-nodes button{padding:10px;font-size:11px}.query-preview pre{padding:12px;font-size:9px}.query-preview p{font-size:10px}.replay-toolbar{gap:6px}.replay-toolbar .replay-start{text-align:left;flex-basis:100%;margin:0}.replay-toolbar button{padding:9px;font-size:10px}.reasoning-replay{padding:15px}.reasoning-replay>p{font-size:12px}.reasoning-replay ol button{font-size:10px}.cv-page{padding:30px 20px 40px}.cv-profile{padding-bottom:25px;display:block}.cv-profile h1{letter-spacing:-1px;font-size:35px}.cv-title{font-size:16px}.cv-profile p:not(.eyebrow,.cv-title){font-size:12px}.cv-print{margin-top:20px}.cv-section{padding-block:26px}.cv-section h2{margin-bottom:19px;font-size:10px}.cv-entry-heading{display:block}.cv-entry-heading>span{margin-top:6px;display:block}.cv-page h3{font-size:17px}.cv-page p,.cv-page li{font-size:12px}.cv-skill-groups{grid-template-columns:1fr;gap:20px}.cv-skill-groups h3{font-size:12px}.cv-foundations{grid-template-columns:1fr;gap:0}.cv-ask .ask-section{padding:16px}.cv-ask .ask-heading h2{font-size:27px}}@media (width<=360px){.recruiter-toggle{gap:6px;padding:8px;font-size:9px}.site-header nav{gap:9px}}@media print{@page{margin:16mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body,.recruiter-page{color:#111!important;background:#fff!important}.site-header,.skip-link,.cv-print,.cv-ask,.debug-overlay,.detail-panel{display:none!important}.cv-page{max-width:none;padding:0}.cv-profile{border-color:#555;display:block}.cv-profile h1{font-size:30px}.cv-section{border-color:#aaa;padding:17px 0}.cv-page h2,.cv-page h3,.cv-page p,.cv-page li,.cv-page span{color:#111!important}.cv-page p,.cv-page li{font-size:10px;line-height:1.6}.cv-page h3{font-size:13px}.cv-entry,.cv-certificate{break-inside:avoid}.cv-page h2{break-after:avoid}.cv-entry-heading{display:flex}.cv-foundations{grid-template-columns:1fr 1fr}}.hero-identity{align-items:center;gap:16px;margin-bottom:28px;display:flex}.hero-identity img{object-fit:cover;border:1px solid #42645c;border-radius:5px;width:72px;height:76px}.hero-identity .availability{margin:0 0 10px;padding:8px 10px}.hero-identity>div>.mono{color:var(--quiet);letter-spacing:.65px;font-size:7px;display:block}.hero-kicker{margin-top:0}.hero{padding-top:42px}.hero-copy{max-width:620px}.selected-work .section-heading h2{max-width:650px}.archive-toolbar{border-block:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:22px;display:flex}.archive-filters{flex-wrap:wrap;gap:6px;display:flex}.archive-filters button{min-height:44px;color:var(--muted);border:1px solid #0000;border-radius:3px;align-items:center;gap:12px;padding:11px 12px;font-size:12px;display:flex}.archive-filters button span{font:9px var(--mono);color:var(--quiet)}.archive-filters button[aria-pressed=true]{color:var(--teal);background:#142b24;border-color:#3a5c4d}.archive-search{border:1px solid var(--line);border-radius:3px;align-items:center;min-width:220px;padding:0 12px;display:flex}.archive-search:focus-within{border-color:var(--teal)}.archive-search input{width:100%;color:var(--paper);background:0 0;border:none;min-height:44px;font-size:12px}.archive-search input::placeholder{color:var(--quiet)}.archive-search>span:last-child{color:var(--teal);font-size:25px}.archive-caption{justify-content:space-between;align-items:center;gap:20px;padding-block:24px;display:flex}.archive-caption p{color:var(--quiet);letter-spacing:1px;font-size:9px}.archive-caption a{color:var(--teal);align-items:center;gap:10px;min-height:44px;font-size:11px;display:flex}.project-card{flex-direction:column;min-width:0;transition:border-color .2s,background .2s,transform .2s;display:flex;position:relative}.project-card:hover{background:#122322;border-color:#587364;transform:translateY(-3px)}.project-card h3{font-size:24px}.project-card h3 button{line-height:1.28}.project-card h3 svg{width:17px;min-width:17px}.project-card-top{gap:12px;min-height:28px}.project-category{text-align:right;font-size:10px;line-height:1.7}.project-status{font:8px/1.8 var(--mono);color:var(--quiet);flex-wrap:wrap;justify-content:space-between;gap:7px 12px;margin-bottom:14px;display:flex}.project-status>span:first-child:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:4px;height:4px;margin-right:7px;display:inline-block}.project-skill-preview{flex-wrap:wrap;gap:5px;margin-top:20px;display:flex}.project-skill-preview button{border:1px solid var(--line);color:var(--muted);font:9px/1.4 var(--mono);border-radius:3px;min-height:32px;padding:7px 8px}.project-skill-preview button:hover{color:var(--teal);border-color:#456153}.project-card .story-link{margin-top:auto;padding-top:22px}.project-card .project-evidence{margin-top:22px;margin-bottom:4px}.project-card .project-evidence strong{font-size:22px}.project-image-button{border:1px solid var(--line);background:#091513;border-radius:3px;width:100%;margin:16px 0 20px;padding:0;display:block;overflow:hidden}.project-image{aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;transition:transform .3s;display:block}.project-image-button:hover img{transform:scale(1.025)}.project-card.project-microgrid{border-color:#76613c}.project-card.project-microgrid .project-glyph{color:var(--amber)}.project-card.project-darija .project-glyph{color:var(--teal)}.project-card.project-call-intelligence .project-glyph,.project-card.project-ensakh-chatbot .project-glyph{color:var(--violet)}.archive-empty{text-align:center;border:1px solid var(--line);color:var(--muted);padding:64px 20px}.archive-empty button{color:var(--teal);min-height:44px;margin-top:18px}.archive-footnote{color:var(--quiet);margin-top:28px;font-size:12px;line-height:1.8}.research-section{background:#121b23;border-block:1px solid #3b3a4c}.research-section .eyebrow{color:var(--violet)}.research-section h2 em{color:var(--violet);font-style:normal}.research-feature{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,6vw,90px);display:grid}.research-status{color:var(--violet);font-size:9px;line-height:1.8}.research-story h3{letter-spacing:-.8px;margin-top:20px;font-size:31px;font-weight:400}.research-story h3 button{text-align:left;align-items:center;gap:18px;padding:0;display:flex}.research-story h3 svg{width:19px;color:var(--violet)}.research-story>p{color:var(--muted);margin-top:18px;font-size:15px;line-height:1.8}.research-story blockquote{border-left:2px solid var(--violet);margin:24px 0;padding-left:20px;font-size:19px;line-height:1.6}.research-story .button-primary{background:var(--violet);margin-top:4px}.research-loop{background:radial-gradient(at 100% 0,#a997e810,#0000 70%),#111b22;border:1px solid #444355;border-radius:4px;padding:32px}.loop-heading{letter-spacing:1px;color:var(--violet);margin-bottom:26px;font-size:9px;line-height:1.8}.loop-step{border-top:1px solid #2e3440;grid-template-columns:30px 1fr 18px;align-items:start;gap:16px;padding:22px 0;display:grid}.loop-step>.mono{color:var(--violet);margin-top:4px;font-size:10px}.loop-step h4{margin:0;font-size:19px;font-weight:400}.loop-step p{color:var(--quiet);margin-top:9px;font-size:12px;line-height:1.8}.loop-step>span:last-child{color:var(--violet);font-size:20px}.loop-return{color:var(--violet);border-top:1px solid #444355;align-items:center;gap:15px;padding-top:20px;font-size:9px;line-height:1.8;display:flex}.loop-return>span{font-size:26px}.source-links{flex-direction:column;gap:8px;margin-top:24px;display:flex}.source-links a{border:1px solid #3c504a;border-radius:3px;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:14px 16px;display:flex}.source-links a:hover{border-color:var(--teal)}.source-links strong{font-size:12px;font-weight:400;line-height:1.7;display:block}.source-links small{font:9px var(--mono);color:var(--quiet);margin-top:5px;display:block}.source-links svg{color:var(--teal);width:15px}.detail-status{color:var(--teal);margin-top:15px;font-size:9px;line-height:1.8}.detail-role{color:var(--quiet);margin-top:12px;font-size:12px;line-height:1.8}.detail-approach{color:var(--teal);font:12px/1.8 var(--mono);padding-left:22px}.detail-approach strong{font:15px var(--body);color:var(--paper)}.detail-approach p{font:12px/1.8 var(--body);color:var(--muted);margin-top:8px}.detail-takeaway{border-left:2px solid var(--amber);color:var(--paper);margin:30px 0;padding:0 0 0 20px;font-size:17px;line-height:1.7}.detail-portrait{border-radius:4px;width:120px;height:auto;margin-bottom:26px;display:block}.detail-project-image{margin:28px 0}.detail-project-image img{border:1px solid var(--line);border-radius:3px;width:100%;height:auto;display:block}.detail-project-image figcaption{color:var(--quiet);margin-top:10px;font-size:10px;line-height:1.7}.about-section{grid-template-columns:minmax(220px,.8fr) 1.2fr;align-items:center;gap:clamp(36px,7vw,100px);display:grid}.about-portrait{max-width:420px;margin:0;position:relative}.about-portrait:before{content:"";z-index:-1;border:1px solid #436151;position:absolute;inset:16px -16px 48px 16px}.about-portrait img{border-radius:4px;width:100%;height:auto;display:block}.about-portrait figcaption{color:var(--quiet);letter-spacing:.5px;margin-top:18px;font-size:8px;line-height:1.8}.about-copy h2{font-size:clamp(32px,3.5vw,48px)}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:600px;margin-top:22px;font-size:15px;line-height:1.9}.about-focus{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.about-focus>span{color:var(--teal);letter-spacing:.6px;font-size:9px}.about-focus p{margin-top:12px;font-size:15px;line-height:1.8}.about-links{flex-wrap:wrap;gap:24px;margin-top:24px;display:flex}.about-links a{min-height:44px;color:var(--teal);align-items:center;gap:12px;font-size:12px;display:flex}.about-links svg{width:15px}.volunteer-section{border-bottom:1px solid var(--line);background:#0d1a1c}.volunteer-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;display:grid}.volunteer-card{border:1px solid var(--line);border-radius:4px;padding:30px}.volunteer-card>.mono{color:var(--teal);letter-spacing:.7px;font-size:9px}.volunteer-card h3{letter-spacing:-.7px;margin-top:18px;font-size:26px;font-weight:400}.volunteer-card h3 button{text-align:left;padding:0}.volunteer-role{color:var(--paper);margin-top:9px;font-size:14px}.volunteer-card .volunteer-period{color:var(--quiet);font:10px var(--mono);margin-top:12px}.volunteer-card>p:last-of-type{color:var(--muted);margin-top:20px;font-size:14px;line-height:1.8}.volunteer-card .story-link{margin-top:18px}.certification-list{grid-template-columns:repeat(2,1fr);gap:0 30px;margin-top:34px;display:grid}.credential-row{border-top:1px solid var(--line);align-items:flex-start;gap:18px;padding:24px 0;display:flex}.credential-mark{width:46px;height:46px;color:var(--violet);font:10px var(--mono);border:1px solid #50465f;border-radius:4px;flex-shrink:0;place-items:center;display:grid}.credential-row h3{font-size:18px;font-weight:400;line-height:1.5}.credential-row h3 button{text-align:left;padding:0}.credential-row p{color:var(--muted);margin-top:7px;font-size:12px}.credential-row .mono{color:var(--quiet);margin-top:9px;font-size:9px}.foundations-grid{grid-template-columns:1.3fr 1fr}.cv-headshot{border-radius:4px;align-self:flex-start;width:104px;height:auto}.cv-entry .source-links{margin-top:15px}.cv-entry .source-links a{border-color:#b9c8bb}.cv-entry .source-links small{color:#425e4f}.cv-entry .source-links svg{color:#116757}.cv-entry .cv-entry-status{color:#425e4f;font-size:11px}.cv-entry .cv-entry-takeaway{border-left:2px solid #93b0a0;padding-left:12px;font-style:italic}@media (width>=1101px){.project-card{padding:26px}}@media (width<=1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-identity>div>.mono{max-width:190px;line-height:1.8}.hero-identity .availability{letter-spacing:.3px;font-size:8px}.hero-identity{gap:10px}.hero-identity img{width:56px;height:auto}}@media (width<=760px){.hero-identity{gap:14px;margin-bottom:24px}.hero-identity img{width:64px}.hero-identity>div>.mono{max-width:none;font-size:6px}.hero-identity .availability{margin-bottom:8px;font-size:8px}.hero-bottom .hero-index{text-align:right;max-width:125px;font-size:6px;line-height:1.8}.archive-toolbar{align-items:stretch;gap:14px;padding-block:18px}.archive-filters{grid-template-columns:1fr 1fr;gap:5px;width:100%;display:grid}.archive-filters button{border-color:var(--line);justify-content:space-between;padding:10px;font-size:11px}.archive-search{width:100%}.archive-search input{font-size:16px}.archive-caption{padding-block:14px}.archive-caption p{font-size:8px}.archive-caption a{font-size:10px}.project-grid{grid-template-columns:1fr}.project-card h3{font-size:25px}.project-category{font-size:9px}.research-feature{grid-template-columns:1fr;gap:32px}.research-section h2{font-size:31px}.research-story h3{font-size:27px}.research-story>p{font-size:14px}.research-story blockquote{font-size:18px}.research-loop{padding:24px 20px}.loop-step{grid-template-columns:22px 1fr 14px;gap:12px}.loop-step h4{font-size:18px}.loop-return{font-size:8px}.about-section{grid-template-columns:1fr;gap:36px}.about-portrait{max-width:340px;margin-inline:auto}.about-copy>p:not(.eyebrow){font-size:14px}.about-links{gap:20px}.volunteer-grid,.certification-list,.foundations-grid{grid-template-columns:1fr}.volunteer-card{padding:24px}.credential-row{padding-block:22px}.credential-row h3{font-size:17px}.cv-headshot{width:80px;margin-bottom:22px}}@media print{.cv-headshot{float:right;width:72px}.cv-entry .source-links{display:none}}.constellation-shell{background:radial-gradient(at 48% 49%,#203e3026,#0000 62%);border-radius:12px}.constellation-shell .graph-grid{opacity:.25;background-size:34px 34px}.constellation-shell .canvas-container{inset:72px 0 142px}.constellation-shell .graph-coordinate-bottom{letter-spacing:1.4px;opacity:.6;font-size:7px;bottom:14px}.constellation-controls{pointer-events:none;z-index:5;position:absolute;inset:0}.constellation-controls button{pointer-events:auto}.constellation-shell canvas{touch-action:none;cursor:grab}.constellation-shell canvas.is-orbiting{cursor:grabbing}.constellation-navigation{pointer-events:auto;flex-direction:column;gap:5px;display:flex;position:absolute;top:135px;right:18px}.constellation-navigation button{width:38px;height:38px;color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1b1dec;border:1px solid #355449;border-radius:6px;place-items:center;display:grid}.constellation-navigation button>span{font-family:var(--body);font-size:24px;line-height:1}.constellation-navigation button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.constellation-navigation button[aria-pressed=true]{color:var(--teal);border-color:#2cc6af66}.constellation-navigation button:hover{color:var(--paper);border-color:var(--teal);background:#183c36}.constellation-navigation button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.constellation-shell.is-expanded .constellation-navigation{flex-direction:row;top:auto;bottom:54px;right:32px}.constellation-shell.is-expanded .constellation-navigation button{width:44px;height:44px}.constellation-topbar{justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;top:25px;left:25px;right:25px}.constellation-caption{color:var(--muted);letter-spacing:1.8px;align-items:center;gap:8px;font-size:8px;display:flex}.constellation-caption>span{background:var(--teal);border-radius:50%;width:4px;height:4px;box-shadow:0 0 14px #2cc6afaa}.constellation-expand{min-height:40px;color:var(--muted);background:#0a1618c9;border:1px solid #355449;border-radius:3px;align-items:center;gap:14px;padding:9px 12px;font-size:11px;display:flex}.constellation-expand:hover{color:var(--paper);border-color:var(--teal)}.constellation-expand>span{color:var(--teal)}.constellation-lenses{z-index:4;flex-wrap:wrap;gap:4px;display:flex;position:absolute;top:82px;left:25px}.constellation-lenses button{color:var(--quiet);background:#0a1618bd;border:1px solid #0000;border-radius:30px;align-items:center;gap:7px;min-height:36px;padding:9px 10px;font-size:10px;display:flex}.constellation-lenses button>span{background:var(--lens-color);opacity:.5;border-radius:50%;width:4px;height:4px}.constellation-lenses button[aria-pressed=true]{color:var(--paper);background:#17352bcc;border-color:#345b4f}.constellation-lenses button[aria-pressed=true]>span{opacity:1}.constellation-insight{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:linear-gradient(120deg,#132922ed,#0d1d1ee6);border:1px solid #2d4a40;border-radius:5px;width:min(390px,100% - 50px);padding:16px 19px;position:absolute;bottom:28px;left:25px}.constellation-insight>.mono,.constellation-insight-head>.mono{color:var(--teal);letter-spacing:1px;font-size:7px}.constellation-insight>p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.7}.constellation-instruction{color:var(--quiet);margin-top:9px;font-size:10px;display:block}.constellation-insight-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.constellation-insight-head button{width:28px;height:28px;color:var(--muted);place-items:center;margin:-6px -8px -4px 0;font-size:22px;display:grid}.constellation-insight h3{letter-spacing:-.5px;margin-top:9px;font-size:24px;font-weight:400;line-height:1.15}.constellation-insight.has-focus>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.constellation-insight-footer{border-top:1px solid #284237;justify-content:space-between;align-items:center;gap:15px;margin-top:12px;padding-top:10px;display:flex}.constellation-insight-footer>span{color:var(--quiet);font-size:7px}.constellation-insight-footer button{color:var(--teal);align-items:center;gap:9px;min-height:30px;font-size:11px;display:flex}.constellation-insight-footer svg{width:13px;height:13px}.constellation-work-links{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.constellation-work-links button{color:var(--paper);border:1px solid #344e44;border-radius:3px;align-items:center;gap:7px;min-height:34px;padding:8px;font-size:10px;display:flex}.constellation-work-links svg{width:11px;height:11px;color:var(--teal)}.constellation-shell .central-label{padding:4px 8px}.core-portrait{background:#0a1618;border:1px solid #4f9780;border-radius:50%;width:54px;height:56px;padding:3px;display:block;box-shadow:0 0 0 5px #2cc6af06,0 0 28px #2cc6af22}.core-portrait img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.constellation-shell .central-label strong{margin-top:5px;font-size:28px;line-height:1.2}.constellation-shell .central-label-kicker{color:var(--quiet);letter-spacing:1px;margin-top:5px;font-size:6px}.constellation-shell .graph-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1818e8;border:1px solid #355c4b80;border-radius:30px;padding:9px 13px;font-size:13px;box-shadow:0 8px 24px #020a0922}.constellation-shell .graph-label-number{font-size:7px}.constellation-shell .node-tooltip{border-color:#446b56;border-radius:4px;padding:10px 13px;font-size:13px;transform:translateY(-36px)}.constellation-shell .node-tooltip span{letter-spacing:.7px;font-size:6px}.constellation-star-label{color:var(--amber);white-space:nowrap;background:#0a1618e8;border:1px solid #74613d66;border-radius:3px;align-items:center;gap:7px;padding:6px 9px;font-size:11px;display:flex}.constellation-star-label strong{font-weight:400}.constellation-star-label>span:first-child{background:var(--amber);border-radius:50%;width:3px;height:3px}.constellation-star-label>span:last-child{color:var(--quiet);font-size:10px}.hero-graph:has(.constellation-shell.is-expanded){z-index:150;width:100%;height:100%;margin:0;position:fixed;inset:0}.constellation-shell.is-expanded{background:radial-gradient(at 60% 45%,#17352a80,#0000 55%),#071417;border-radius:0;width:100%;height:100dvh;position:fixed;inset:0}.constellation-shell.is-expanded .canvas-container{inset:65px 0 70px 180px}.constellation-shell.is-expanded .constellation-topbar{top:24px;left:32px;right:32px}.constellation-shell.is-expanded .constellation-lenses{top:25px;left:50%;transform:translate(-50%)}.constellation-shell.is-expanded .constellation-insight{width:360px;bottom:40px;left:32px}.constellation-shell.is-expanded .constellation-insight h3{font-size:30px}.constellation-shell.is-expanded .constellation-insight>p{font-size:14px}.constellation-shell.is-expanded .graph-coordinate-bottom{bottom:22px;right:32px}.constellation-directory{scrollbar-width:thin;pointer-events:auto;width:190px;position:absolute;top:120px;bottom:310px;left:32px;overflow-y:auto}.constellation-directory>.mono{color:var(--quiet);letter-spacing:1px;margin-bottom:17px;font-size:7px;display:block}.constellation-directory button{text-align:left;width:100%;min-height:35px;color:var(--muted);align-items:baseline;gap:9px;padding:6px 0;font-size:13px;line-height:1.5;display:flex}.constellation-directory button>span{color:var(--amber)}.constellation-directory button:hover,.constellation-directory button.is-current{color:var(--teal)}.constellation-directory .directory-secondary{margin-top:27px}.has-ask .constellation-shell .canvas-container{inset:0}@media (width<=1100px) and (width>=761px){.constellation-caption{letter-spacing:1px;font-size:6px}.constellation-expand{gap:8px;padding:8px;font-size:9px}.constellation-topbar{gap:10px;left:15px;right:15px}.constellation-lenses{gap:0;left:15px;right:15px}.constellation-lenses button{padding:7px;font-size:9px}}@media (width<=760px){.constellation-navigation{gap:4px;top:109px;right:10px}.constellation-navigation button{width:40px;height:40px}.constellation-shell.is-expanded .constellation-navigation{flex-direction:column;top:123px;bottom:auto;right:10px}.constellation-shell .graph-coordinate-bottom{letter-spacing:.7px}.hero-graph{height:650px;margin-top:22px}.constellation-shell .canvas-container{inset:100px 0 150px}.constellation-topbar{gap:8px;top:6px;left:20px;right:20px}.constellation-caption{letter-spacing:1px;font-size:6px}.constellation-expand{gap:8px;padding:8px;font-size:9px}.constellation-lenses{justify-content:center;gap:0;top:58px;left:15px;right:15px}.constellation-lenses button{padding:9px;font-size:9px}.constellation-insight{width:auto;padding:16px;bottom:27px;left:20px;right:20px}.constellation-insight>p{font-size:13px}.constellation-insight h3{font-size:24px}.constellation-insight-footer>span{font-size:6px}.constellation-shell .graph-coordinate-bottom{font-size:6px;bottom:9px;right:20px}.constellation-shell .graph-label{padding:9px 10px;font-size:11px}.constellation-shell .graph-label-number{display:none}.core-portrait{width:39px;height:41px}.constellation-shell .central-label strong{font-size:22px}.constellation-shell .central-label-kicker{font-size:5px}.constellation-star-label{gap:5px;padding:6px;font-size:9px}.constellation-shell.is-expanded .canvas-container{inset:115px 0 220px}.constellation-shell.is-expanded .constellation-topbar{top:18px;left:20px;right:20px}.constellation-shell.is-expanded .constellation-lenses{top:77px;left:10px;right:10px;transform:none}.constellation-shell.is-expanded .constellation-insight{width:auto;bottom:32px;left:20px;right:20px}.constellation-shell.is-expanded .constellation-insight h3{font-size:25px}.constellation-shell.is-expanded .constellation-insight>p{font-size:13px}.constellation-directory{display:none}.has-ask .hero-graph{height:var(--ask-mobile-graph-height,250px);margin:0}}
