:root{color-scheme:dark;--bg:#121413;--text:#ecefe8;--muted:#a5ada7;--accent:#9bef72}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.75 system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.site-header,main,footer{width:min(860px,calc(100% - 48px));margin:auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:30px 0;border-bottom:1px solid #303630}.brand{font-size:28px;font-weight:800;text-decoration:none}.brand span,h1>span{color:var(--accent)}nav{display:flex;gap:24px}nav a{text-decoration:none;font-size:14px;padding:10px 0}main{padding:70px 0 90px;min-height:70vh}h1{font-size:clamp(36px,7vw,66px);line-height:1.1;letter-spacing:-.045em;margin:20px 0 24px}h2{line-height:1.25;letter-spacing:-.025em}.eyebrow,.meta{font-size:12px;letter-spacing:.07em;color:var(--muted)}.eyebrow{color:var(--accent)}.intro{font-size:20px;color:var(--muted);max-width:650px}.note-list{margin-top:55px}.note-card{display:block;border-top:1px solid #303630;padding:28px 0;text-decoration:none}.note-card h2{font-size:27px;margin:12px 0}.note-card h2 span{float:right;color:var(--accent)}.note-card p{color:var(--muted);margin:0}.note-card:hover h2{color:var(--accent)}.back{display:inline-block;margin-bottom:40px;color:var(--muted);font-size:14px}article{max-width:720px}.prose{margin-top:40px}.prose h2{margin-top:42px;font-size:27px}.prose a,.source{color:var(--accent)}.prose blockquote{margin:24px 0;padding:10px 20px;border-left:2px solid var(--accent);background:#1b211b;color:var(--muted)}.prose img{max-width:100%;height:auto}.prose pre{overflow:auto;background:#202620;padding:20px;border-radius:8px}.prose code{font-size:.88em;overflow-wrap:anywhere}.prose table{display:block;overflow:auto;border-collapse:collapse}.prose th,.prose td{padding:8px 14px;border:1px solid #394139}.source{display:inline-block;margin-top:35px;font-size:14px}footer{border-top:1px solid #303630;padding:25px 0;color:var(--muted);font-size:13px}footer span{display:block}.skip{position:absolute;left:16px;top:-100px}.skip:focus{top:10px;background:var(--bg);padding:10px}@media(max-width:500px){.site-header,main,footer{width:calc(100% - 36px)}main{padding-top:45px}nav{gap:18px}.intro{font-size:18px}.note-card h2{font-size:24px}}
/* Shared pages: content stays in Markdown, layout stays here. */
nav{flex-wrap:wrap}nav a[aria-current=page]{color:var(--accent)}.profile{display:flex;align-items:center;gap:20px;margin-bottom:55px;flex-wrap:wrap}.profile img{border-radius:20px}.profile strong{font-size:24px}.profile details{margin-left:auto;font-size:14px}.profile summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--accent)}.profile address{font-style:normal;color:var(--muted)}.social-list{display:flex;gap:20px}.social-list a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.page-content{margin-top:38px}.page-content p,.about-text{color:var(--muted)}.page-content h3{font-size:25px;line-height:1.3;margin:38px 0 22px}.page-content h4{font-size:18px;margin:10px 0}.page-content ul,.page-content ol{list-style:none;padding:0}.page-content section{margin-bottom:48px}.page-content img{max-width:100%;height:auto}.service-list,.testimonials-list,.project-list,.blog-posts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-item,.testimonials-item{border-top:1px solid #303630;padding-top:24px}.service-icon-box img{width:32px}.testimonials-avatar-box{margin:0}.testimonials-avatar-box img{width:48px}.testimonials-text{color:var(--muted)}.clients-list{display:flex;gap:28px;flex-wrap:wrap}.clients-item{width:110px}.timeline-item{border-left:1px solid #394139;padding:0 0 30px 24px}.timeline-item span{color:var(--accent);font-size:14px}.timeline-text{color:var(--muted)}.title-wrapper{display:flex;align-items:center;gap:12px}.skill-progress-bg{height:5px;background:#303630}.skill-progress-fill{height:5px;background:var(--accent)}.skills-item{margin-bottom:24px}.skills-item .title-wrapper{justify-content:space-between}.project-item a,.blog-post-item a{text-decoration:none}.project-img,.blog-banner-box{margin:0;overflow:hidden;border-radius:8px}.project-img img,.blog-banner-box img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.project-item-icon-box{display:none}.project-title{margin-bottom:0!important}.project-category,.blog-meta,.blog-text{color:var(--muted);font-size:14px}.blog-meta{display:flex;gap:12px;margin-top:14px}.blog-item-title{margin-top:10px!important}.filter-list{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}.filter-list button{font:inherit;color:var(--muted);border:1px solid #394139;background:none;border-radius:20px;padding:8px 16px;cursor:pointer}.filter-list button.active{color:var(--accent);border-color:var(--accent)}[hidden]{display:none!important}.mapbox figure{margin:0}.mapbox iframe{width:100%;border:0;border-radius:8px;filter:grayscale(1)}.input-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-input{box-sizing:border-box;width:100%;background:#1b211b;color:var(--text);font:inherit;border:1px solid #394139;border-radius:6px;padding:14px;margin-bottom:16px}textarea{min-height:160px;resize:vertical}.form-btn{font:inherit;padding:12px 22px;background:var(--accent);color:#121413;border:0;border-radius:6px;cursor:pointer}.form-btn:disabled{opacity:.4;cursor:default}.page-content a:hover{color:var(--accent)}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:600px){.site-header{display:block;padding:18px 0}nav{gap:5px 18px;margin-top:12px}nav a{font-size:14px}.profile{margin-bottom:35px}.profile details{margin-left:0;width:100%}.service-list,.testimonials-list,.project-list,.blog-posts-list,.input-wrapper{grid-template-columns:1fr}.page-content h3{font-size:23px}.profile strong{font-size:22px}}

.resume .timeline > .title-wrapper{align-items:center;margin:38px 0 22px;gap:16px}.resume .timeline > .title-wrapper h3{margin:0}.resume .timeline > .title-wrapper .icon-box{display:flex;align-items:center;flex-shrink:0}
.resume .role-company{color:var(--text);font-weight:600;margin:4px 0 10px}.resume .role-meta{font-size:14px;margin:8px 0 18px;color:var(--muted)}.resume .timeline-item ul{list-style:disc;padding-left:20px;color:var(--muted)}.resume .timeline-item ul li{margin-bottom:10px}.resume .timeline-item{padding-bottom:36px;overflow-wrap:anywhere}
.recommendations-list{margin-top:40px}.recommendation{max-width:760px;border-top:1px solid #303630;padding:28px 0}.recommendation h2{font-size:24px;margin:0 0 8px}.recommendation .role-company{margin:0;color:var(--text);font-size:15px}.recommendation .role-meta{font-size:13px;color:var(--muted);margin:8px 0 22px}.recommendation blockquote{margin:0;padding-left:22px;border-left:2px solid var(--accent)}.recommendation blockquote p{margin:0 0 16px}.site-header{gap:24px}
.page-content .recommendation h3{font-size:24px;margin:0 0 8px}.recommendation-jumps{display:flex;gap:24px;margin:28px 0 40px}.recommendation-jumps a{color:var(--accent)}.recommendations #received,.recommendations #given{scroll-margin-top:24px;margin-top:48px}
footer{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-social{display:flex;align-items:center;gap:8px;flex-shrink:0}.footer-social a,.footer-social .social-pending{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--muted);font-size:22px}.footer-social svg{width:20px;height:20px}.footer-social a:hover{color:var(--accent)}@media(max-width:480px){footer{flex-wrap:wrap}.footer-social{margin-left:auto}}

/* Organization logos retain their original colors on a light surface. */
.clients .clients-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; overflow: visible; }
.clients .clients-item { width: auto; min-width: 0; }
.clients .clients-item a { display: flex; align-items: center; justify-content: center; height: 80px; padding: 14px; box-sizing: border-box; background: #fff; border-radius: 8px; transition: transform .2s ease; }
.clients .clients-item img { display: block; width: 100%; max-width: 120px; height: 44px; object-fit: contain; filter: none; }
.clients .clients-item a:hover { transform: translateY(-3px); }
.clients .clients-item a:focus-visible { outline: 2px solid var(--accent, #a4ff6b); outline-offset: 4px; }
@media (max-width: 600px) { .clients .clients-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .clients .clients-item a { height: 76px; padding: 12px; } }
@media (prefers-reduced-motion: reduce) { .clients .clients-item a { transition: none; } }

.clients .clients-item img[alt="MedCloud Depot"] { filter: brightness(0); }

@media (max-width: 360px) { .clients .clients-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.clients .clients-item img[src$="stanford.png"], .clients .clients-item img[src$="berkeley.png"], .clients .clients-item img[src$="upenn.png"] { height: 64px; }

.clients .clients-list + .clients-list { margin-top: 12px; }
.clients .clients-item a[href="https://www.oncobrain.ai/"] { flex-direction: column; gap: 5px; padding: 10px; text-decoration: none; color: #0057ff; }
.clients .oncobrain-symbol { display: block; width: 25px; height: 24px; overflow: hidden; flex-shrink: 0; }
.clients .oncobrain-symbol img { width: 152px; max-width: none; height: 24px; object-fit: fill; }
.clients .oncobrain-label { font-size: 14px; font-weight: 600; line-height: 1.2; text-align: center; }

@media (min-width: 601px) { .clients .clients-list[aria-label="Organizations"] { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

.clients .clients-item img[src$="berkeley.png"], .clients .clients-item img[src$="upenn.png"] { width: calc(100% + 24px); max-width: 144px; height: 76px; flex-shrink: 0; }

.clients .clients-item img[src$="nbc.svg"], .clients .clients-item img[src$="moffitt.svg"] { width: calc(100% + 16px); max-width: 136px; height: 52px; flex-shrink: 0; }

.clients .clients-item a[href="https://www.innovamontreal.com/"] { flex-direction: column; gap: 0; text-decoration: none; color: #397cff; }
.clients .clients-item img[alt="Innova"] { height: 24px; }
.clients .innova-label { font-family: "Arial Rounded MT Bold", "Nunito", ui-rounded, system-ui, sans-serif; font-size: 13px; font-weight: 900; letter-spacing: -.5px; line-height: 1.2; text-align: center; }

.clients .innova-label { display: block; width: 100%; max-width: 120px; height: auto; overflow: visible; fill: currentColor; flex-shrink: 0; }
.clients .innova-label text { font-size: 42px; letter-spacing: 0; }

.service-item-wide { grid-column: 1 / -1; }
