@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Mono:wght@400;500&display=swap');
:root{--bg:#fafafa;--surface:#fff;--text:#202322;--muted:#626966;--faint:#767e7a;--line:#e3e7e5;--accent:#086b61;--soft:#edf5f2;--hover:#f0f3f1;--cover:#ecf4f1;--travel:#f0f1f6;--shadow:0 8px 28px #10251d05;color-scheme:light}
:root[data-theme=dark]{--bg:#111312;--surface:#181b19;--text:#edf1ee;--muted:#a2aaa5;--faint:#8f9993;--line:#2d332f;--accent:#81cbb5;--soft:#1c2c25;--hover:#202621;--cover:#192e26;--travel:#21252f;--shadow:none;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg{width:18px;height:18px;flex:none}p,h1,h2,h3{margin:0}strong{color:var(--text);font-weight:600}main,.topbar,footer{width:min(780px,calc(100% - 48px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--text);color:var(--bg);padding:10px}.skip:focus{top:10px}.topbar{height:86px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:28px}.wordmark{font-size:23px;font-weight:700;letter-spacing:-1.5px;margin-right:auto}.wordmark span,h1 span{color:var(--accent)}nav{display:flex;gap:25px;font-size:14px;color:var(--muted)}nav a:hover,.text-link:hover,footer a:hover{color:var(--accent)}.theme{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:50%;height:34px;width:34px;display:grid;place-items:center}.theme:hover{background:var(--hover)}.sun{display:none}[data-theme=dark] .sun{display:block}[data-theme=dark] .moon{display:none}.intro{padding-top:65px}.identity{display:flex;align-items:center;gap:24px}.portrait{width:94px;height:106px;object-fit:cover;object-position:50% 18%;border-radius:20px;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--line)}.eyebrow{font:12px/1.5 'DM Mono',monospace;letter-spacing:1.5px;color:var(--faint);margin-bottom:7px}h1{font-size:36px;line-height:1.2;font-weight:650;letter-spacing:-1.4px}.role{font-size:15px;color:var(--muted);margin-top:7px}.role span{color:var(--faint);padding:0 5px}.bio{margin-top:28px;color:var(--muted);max-width:680px}.bio p+p{margin-top:14px}.availability{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:14px;margin-top:22px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.socials{display:flex;gap:10px;align-items:center;margin-top:23px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:7px 13px;font-size:14px;font-weight:500;background:var(--surface)}.button:hover{background:var(--hover)}.button.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.button.primary:hover{opacity:.85}.text-link{font-size:14px;color:var(--muted);padding:8px 9px}.intro-note{display:flex;gap:20px;font-size:12px;color:var(--faint);margin-top:28px}.intro-note span+span:before{content:'·';margin-right:20px}.section{margin-top:65px;scroll-margin-top:30px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}h2{font-size:21px;font-weight:600;letter-spacing:-.6px;line-height:1.4}.count{font:11px 'DM Mono',monospace;margin-left:12px;color:var(--faint);vertical-align:middle}.section-note{font-size:12px;color:var(--faint)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow);transition:transform .2s,border-color .2s}.project:hover{transform:translateY(-3px);border-color:var(--faint)}.project-cover{height:196px;padding:20px;position:relative;border-bottom:1px solid var(--line)}.clinical{background:var(--cover)}.travel{background:var(--travel)}.cover-top{display:flex;justify-content:space-between;align-items:center}.mini-brand{font-size:18px;font-weight:700;letter-spacing:-1px}.mini-brand span{color:var(--accent)}.cover-label{font:8px 'DM Mono',monospace;letter-spacing:.7px;color:var(--muted)}.waveform{height:65px;display:flex;align-items:center;justify-content:center;gap:4px;margin-top:15px}.waveform i{height:15px;width:4px;border-radius:4px;background:var(--accent);opacity:.65}.waveform i:nth-child(3n){height:31px}.waveform i:nth-child(4n){height:47px}.waveform i:nth-child(7n){height:61px}.waveform i:nth-child(5n){height:23px}.pipeline{display:flex;justify-content:space-between;gap:10px;font:10px 'DM Mono',monospace;color:var(--muted)}.pipeline span{padding:5px 7px;background:var(--surface);border-radius:4px}.cover-caption{position:absolute;bottom:15px;left:20px;font-size:11px;color:var(--muted)}.travel-route{display:flex;align-items:center;margin-top:27px;gap:10px}.route-stop{font-size:10px;color:var(--muted);display:grid;gap:6px;text-align:center}.route-stop b{margin:auto;display:grid;place-items:center;border:1px solid var(--faint);width:29px;height:29px;border-radius:50%;font:10px 'DM Mono',monospace;color:var(--text)}.route-line{flex:1;height:1px;border-top:1px dashed var(--faint);margin-top:-20px}.finalist{margin-top:15px;font:8px 'DM Mono',monospace;letter-spacing:.3px;color:var(--accent)}.finalist span{color:var(--muted);margin-left:6px}.project-content{padding:21px}.project-meta{display:flex;justify-content:space-between;gap:8px;font:9px 'DM Mono',monospace;letter-spacing:.5px;color:var(--faint)}h3{font-size:16px;font-weight:600;line-height:1.5}.project h3{font-size:22px;letter-spacing:-.6px;margin-top:9px}.project-content>p{font-size:14px;line-height:1.75;color:var(--muted);margin-top:8px}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:16px}.tags span{font-size:11px;color:var(--muted);padding:2px 7px;background:var(--hover);border-radius:4px}details{margin-top:17px}summary{cursor:pointer;font-size:13px;color:var(--muted);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:18px;color:var(--faint)}details[open] summary:after{content:'−'}.detail-body{font-size:14px;color:var(--muted);margin-top:12px}.detail-body p+p{margin-top:10px}.repo-link{display:inline-block;font-size:13px;font-weight:500;color:var(--accent);margin-top:16px;border-bottom:1px solid transparent}.repo-link:hover{border-bottom-color:var(--accent)}.experience{display:flex;gap:17px;border-block:1px solid var(--line);padding:23px 0}.experience-icon{width:42px;height:42px;flex:none;background:var(--soft);border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--accent);font-size:12px;font-weight:700}.experience-main{flex:1;min-width:0}.experience-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.date{font-size:12px;color:var(--faint);white-space:nowrap}.institution{font-size:13px;color:var(--faint);margin-top:3px}.experience-main>p:not(.institution){font-size:15px;color:var(--muted);margin-top:12px}.detail-body ul{padding-left:17px;margin-top:0}.detail-body li+li{margin-top:8px}.mentor{font-size:12px;color:var(--faint)}.publications{margin-top:28px}.subheading{font:11px 'DM Mono',monospace;letter-spacing:1px;color:var(--faint);margin-bottom:14px}.publication{display:flex;align-items:flex-start;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.publication h3{font-size:14px;font-weight:500}.publication p{font-size:12px;color:var(--faint);margin-top:2px}.pub-index{font:11px 'DM Mono',monospace;color:var(--faint);padding-top:4px}.pub-type{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:0 6px;margin-left:auto;color:var(--muted)}.practice-card{display:flex;gap:30px;padding:24px 28px;border:1px solid var(--line);background:var(--soft);border-radius:10px;align-items:center}.practice-card:hover{border-color:var(--accent)}.practice-number{font-size:47px;font-weight:600;letter-spacing:-2px;line-height:1.1;color:var(--accent);padding-right:30px;border-right:1px solid var(--line)}.practice-number span{display:block;white-space:nowrap;font-size:12px;letter-spacing:0;font-weight:400;margin-top:10px;color:var(--muted)}.practice-copy p{font-size:14px;color:var(--muted);margin-top:5px}.practice-link{display:block;color:var(--accent);font-size:12px;margin-top:10px}.recognition{display:grid;grid-template-columns:1fr 1fr;gap:23px 28px}.award{display:flex;gap:13px}.award-mark{font:11px 'DM Mono',monospace;color:var(--accent);padding-top:5px}.award h3{font-size:14px}.award p{font-size:13px;color:var(--muted);margin-top:4px}.toolkit{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px}.toolkit h3{font:11px 'DM Mono',monospace;text-transform:uppercase;color:var(--faint);letter-spacing:.6px}.toolkit p{font-size:14px;color:var(--muted);margin-top:6px}.about>p{color:var(--muted);font-size:15px}.education{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:18px;color:var(--faint);font-size:12px}.cgpa{color:var(--accent)}.quote-section{margin-top:85px;position:relative;padding:35px 32px 27px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.quote-symbol{position:absolute;top:5px;left:22px;font:130px/1 Georgia,serif;color:var(--line);pointer-events:none}blockquote{position:relative;margin:0}blockquote p{font-size:19px;line-height:1.6;font-weight:450;font-style:italic;max-width:590px}blockquote cite{display:block;text-align:right;font-size:13px;color:var(--faint);font-style:normal;margin-top:16px}.contact{margin-top:65px;padding-bottom:50px}.contact>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:8px;max-width:560px}.email-link{display:inline-block;font-size:15px;color:var(--accent);margin-top:17px;border-bottom:1px solid var(--line)}#copy-email{background:transparent;border:0;color:var(--faint);padding:6px;margin-left:7px;vertical-align:middle}#copy-email:hover{color:var(--accent)}#copy-status{font-size:12px;color:var(--accent);margin-left:5px}footer{border-top:1px solid var(--line);padding:23px 0 28px;display:flex;justify-content:space-between;font-size:12px;color:var(--faint);gap:20px}footer div{display:flex;gap:19px}@keyframes idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes wave{0%,100%{transform:rotate(0)}50%{transform:rotate(8deg)}}
@media(min-width:1000px){body:before{content:'';position:fixed;top:0;bottom:0;left:calc(50% - 435px);right:calc(50% - 435px);border-inline:1px solid var(--line);pointer-events:none;opacity:.45;z-index:-1}}
@media(max-width:600px){main,.topbar,footer{width:calc(100% - 36px)}.topbar{height:72px;gap:16px}nav{gap:15px;font-size:13px}.intro{padding-top:40px}.identity{gap:16px}.portrait{width:72px;height:82px;border-radius:15px}h1{font-size:28px;letter-spacing:-1px}.eyebrow{font-size:10px}.role{font-size:12px}.bio{font-size:15px;margin-top:24px}.availability{font-size:12px}.intro-note{gap:12px;font-size:11px}.intro-note span+span:before{margin-right:12px}.section{margin-top:48px}.section-heading{align-items:baseline;margin-bottom:18px}h2{font-size:19px}.section-note{display:none}.project-grid{grid-template-columns:1fr}.project-cover{height:190px}.project-content{padding:20px}.project-content>p{font-size:15px}.project-meta{font-size:10px}.tags span{font-size:12px}.cover-label{font-size:9px}.experience-title{display:block}.date{display:block;margin-top:3px}.experience{gap:12px}.experience h3{font-size:15px}.pub-type{display:none}.practice-card{padding:21px 18px;gap:18px}.practice-number{font-size:40px;padding-right:18px}.practice-number span{font-size:10px}.practice-copy h3{font-size:14px}.practice-copy p{font-size:13px}.recognition{grid-template-columns:1fr;gap:21px}.toolkit{gap:23px 18px}.quote-section{margin-top:76px;padding:31px 23px 24px}blockquote p{font-size:18px}.contact{margin-top:45px}.email-link{font-size:14px}footer{flex-direction:column;gap:10px}.education{gap:8px 16px}.text-link{padding-inline:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;column-gap:36px;align-items:start}
.identity{display:contents}.identity>div:last-child{grid-column:1;grid-row:1}
.portrait{grid-column:2;grid-row:1/6;width:260px;height:auto;aspect-ratio:3/4;overflow:hidden;border-radius:18px;align-self:start;flex:none}
.portrait img{display:block;width:100%;height:100%;object-fit:contain;transform:none}
.bio,.availability,.socials,.intro-note{grid-column:1}
.bio{margin-top:20px}.availability{margin-top:18px}.socials{margin-top:18px}.intro-note{margin-top:22px}
@media(max-width:700px){.intro{display:block}.identity{display:flex;flex-direction:column;align-items:flex-start;gap:25px}.portrait{width:min(100%,300px);height:auto;aspect-ratio:3/4;align-self:center}.identity>div:last-child{width:100%}.bio{margin-top:24px}.socials{margin-top:22px}.intro-note{margin-top:25px}}

.quote-section{margin-top:132px;padding-top:42px}
.quote-avatar{position:absolute;top:-92px;left:26px;width:120px;height:120px;padding:0;border:1px solid var(--line);border-radius:24px;background:var(--surface);overflow:hidden;cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow);transform-origin:center bottom}
.quote-avatar img{position:absolute;display:block;width:180px;height:270px;max-width:none;left:-30px;top:-3px;object-fit:contain}
.quote-avatar.greeting{animation:avatar-greeting 650ms ease-in-out 1}
@keyframes avatar-greeting{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}60%{transform:rotate(4deg)}80%{transform:rotate(-2deg)}}
@media(max-width:600px){.quote-avatar{left:22px}footer div{flex-wrap:wrap;gap:10px 18px}}
@media(prefers-reduced-motion:reduce){.quote-avatar.greeting{animation:none}}
