@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@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")}:root{color:#18211f;font-synthesis:none;--bg:#f8f8f6;--surface:#fff;--ink:#18211f;--muted:#59655f;--line:#dee3df;--accent:#285e50;--accent-soft:#e9f0eb;--dark:#17221f;--dark-ink:#f4f5f1;--radius:10px;--content-width:1120px;background:#f8f8f6;font-family:IBM Plex Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;font-size:16px;line-height:1.6}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a,button{transition:color .15s,background .15s,border-color .15s}a:hover{color:var(--accent)}:focus-visible{outline-offset:5px;outline:3px solid #578576}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;font-weight:500;line-height:1.13}p{color:var(--muted)}h2{font-size:40px}h3{font-size:25px}button{color:inherit}.shell{max-width:1168px;margin-inline:auto;padding-inline:24px}.mono,.eyebrow,.tags,.sync-note{font-family:IBM Plex Mono,monospace}.eyebrow{letter-spacing:.09em;color:var(--muted);font-size:11px;font-weight:400;line-height:1.6}.eyebrow>span:first-child{color:var(--accent)}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:94px;display:flex}.wordmark{letter-spacing:-.055em;font-size:23px;font-weight:600}.wordmark span{color:var(--accent);margin-left:5px}.header nav{gap:30px;font-size:14px;display:flex}.header nav a:hover{text-underline-offset:6px;text-decoration:underline}.menu-toggle{display:none}.hero{grid-template-columns:1.6fr 1fr;align-items:center;gap:56px;padding-block:98px 84px;display:grid}.hero h1{letter-spacing:-.065em;margin:23px 0;font-size:104px;line-height:1.05}.hero h1>span{color:var(--accent)}.hero-intro{color:#47534e;letter-spacing:-.02em;font-size:22px;line-height:1.5}.hero-actions{gap:12px;margin-top:32px;display:flex}.button{border:1px solid var(--line);border-radius:5px;justify-content:space-between;align-items:center;gap:24px;min-height:48px;padding:13px 20px;font-size:14px;font-weight:500;display:inline-flex}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover{color:#fff;background:#1c473c}.secondary:hover{background:var(--accent-soft);border-color:#b1c3b9}.hero-footnote{letter-spacing:.025em;margin-top:43px;font-size:10px}.hero-footnote span{color:#a7b3ab;padding-inline:7px}.focus-panel{background:var(--dark);color:var(--dark-ink);border-radius:8px;padding:27px 28px 20px;transform:translateY(5px)}.panel-heading{letter-spacing:.08em;color:#a5b9ad;justify-content:space-between;font-size:10px;display:flex}.focus-panel>p{letter-spacing:-.025em;color:var(--dark-ink);margin:28px 0 23px;font-size:22px;line-height:1.35}.focus-panel>p>span{color:#a5b9ad}.focus-row{border-top:1px solid #34423b;align-items:baseline;gap:17px;padding:14px 0;display:flex}.focus-row>span{color:#a5b9ad;font-family:IBM Plex Mono,monospace;font-size:10px}.focus-row strong{font-size:14px;font-weight:400}.focus-row small{color:#a5b9ad;margin-top:3px;font-size:12px;display:block}.panel-footer{color:#b7c9bd;border-top:1px solid #34423b;align-items:center;gap:8px;padding-top:18px;font-size:9px;display:flex}.status-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.hero .eyebrow>.status-dot{vertical-align:middle;margin-right:6px}.focus-panel .status-dot{background:#99b9a6}.status-dot.saved{background:#7c8170}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:32px;padding-block:21px;display:flex}.intro-strip .mono{white-space:nowrap;color:var(--accent);font-size:10px}.intro-strip p{font-size:13px}.intro-strip>span:last-child{margin-left:auto}.section{padding-top:88px;padding-bottom:0}.section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.section-heading .eyebrow{margin-bottom:13px}.text-link{white-space:normal;border-bottom:1px solid #aabbaf;align-items:center;gap:20px;padding-bottom:4px;font-size:13px;display:inline-flex}.work-intro{max-width:28ch;font-size:14px;line-height:1.6}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.project{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.project-top{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 8px;display:flex}.project-top .mono{letter-spacing:.035em;font-size:10px}.project-top>span:last-child{font-size:22px}.project-art{background:#edf1eb;border:1px solid #e2e8df;border-radius:4px;justify-content:center;align-items:center;min-height:190px;margin:14px 26px 0;padding:24px;display:flex}.project-copy{flex-direction:column;flex:1;min-width:0;padding:28px 26px;display:flex}.project-image{width:100%;margin:0}.project-image img{object-fit:contain;border-radius:3px;width:100%;height:auto;max-height:240px;display:block}.project-image figcaption,.competition-photographs figcaption{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.6}.project-image figcaption a{text-underline-offset:3px;text-decoration:underline;display:inline-block}.project-0 .project-image img{max-height:360px}.project-1 .project-art,.project-2 .project-art{min-height:0;padding:16px}.competition-event{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:1.1fr 1fr;gap:40px;padding:36px;display:grid}.competition-archive{gap:24px;display:grid}.competition-copy h3{letter-spacing:-.035em;margin:10px 0;font-size:34px}.competition-organizer{font-size:16px}.competition-results{margin:28px 0 0}.competition-results>div{border-top:1px solid var(--line);grid-template-columns:1fr 1.25fr;gap:16px;padding:15px 0;display:grid}.competition-results dt{font-weight:500}.competition-results dd{color:var(--muted);margin:0}.competition-photographs{align-self:center;gap:20px;min-width:0;display:grid}.competition-photographs figure{margin:0}.competition-photographs img{border-radius:4px;width:100%;height:auto;display:block}.photo-placeholder{aspect-ratio:4/3;background:var(--accent-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex}@media (width<=960px){.competition-event{gap:24px;padding:26px}.competition-results>div{grid-template-columns:1fr;gap:5px}}@media (width<=680px){.competition-event{grid-template-columns:1fr;padding:22px}.competition-copy h3{font-size:30px}}.project-copy h3{letter-spacing:-.035em;font-size:27px;line-height:1.2}.project-copy>p{margin-top:16px;font-size:16px;line-height:1.75}.engineering-note{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.engineering-note h4{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 10px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400}.engineering-note p{font-size:15px;line-height:1.8}.tags{flex-wrap:wrap;gap:7px;margin-top:24px;margin-bottom:22px;display:flex}.tags span{color:#44584c;background:#f3f5f2;border:1px solid #e7ece6;border-radius:3px;padding:3px 7px;font-size:10px}.project-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.project-actions a{align-items:center;gap:12px;min-height:30px;font-size:13px;font-weight:500;display:flex}.project-updated{color:var(--muted);font-size:9px;line-height:1.7}.project-0{grid-column:1/-1;grid-template-columns:1fr 1.2fr;display:grid}.project-0 .project-top{background:#e9f0eb;grid-area:1/1;padding:24px 28px}.project-0 .project-art{background:#e9f0eb;border:0;border-radius:0;grid-area:2/1;min-height:320px;margin:0;padding:24px 28px 38px}.project-0 .project-copy{grid-area:1/2/3;padding:36px}.project-0 h3{max-width:15ch;font-size:35px}.project-3{grid-column:1/-1;grid-template-columns:280px 1fr;display:grid}.project-3 .project-top{grid-column:1/-1}.project-3 .project-art{background:#f2f4ef;grid-area:2/1;min-height:0;margin:16px 0 26px 26px;padding:16px}.project-3 .project-copy{grid-area:2/2;padding-top:18px}.project-3 .engineering-note{margin-top:18px;padding-top:16px}.watcher-diagram{color:var(--accent);align-items:center;gap:10px;display:flex}.watcher-diagram span{font-family:IBM Plex Mono,monospace;font-size:10px}@media (width<=960px){.project-0{grid-template-columns:1fr 1.1fr}.project-0 .project-copy{padding:28px}.project-0 .project-art{padding:20px}.project-3{grid-template-columns:220px 1fr}.watcher-diagram{gap:6px}.watcher-diagram span{font-size:9px}}@media (width<=680px){.work-intro{max-width:34ch;margin-top:16px}.project-grid{grid-template-columns:1fr;gap:22px}.project-0,.project-3{flex-direction:column;display:flex}.project-top{padding:20px 22px 8px}.project-top .mono{font-size:8px;line-height:1.7}.project-0 .project-top{padding:22px}.project-art{min-height:180px;margin:12px 22px 0;padding:20px}.project-0 .project-art{min-height:280px;padding:18px 22px 30px}.project-0 .project-copy,.project-copy{padding:26px 22px}.project-copy h3{font-size:26px}.project-0 h3{max-width:none;font-size:32px}.project-copy>p{font-size:16px}.engineering-note p{font-size:15px}.project-actions{flex-direction:column;align-items:flex-start;gap:9px}.project-updated{font-size:8px}.project-3 .project-art{min-height:90px;margin:12px 22px 0;padding:24px}.project-3 .project-copy{padding:26px 22px}.watcher-diagram{gap:18px}.watcher-diagram span{font-size:11px}}.sync-note{color:var(--muted);align-items:center;gap:8px;margin-top:20px;font-size:10px;line-height:1.7;display:flex}.interests{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.interests article{border-top:1px solid var(--line);padding-top:23px}.interests .mono{color:var(--accent);font-size:10px}.interests h3{margin:18px 0 13px;font-size:22px}.interests p{max-width:35ch;font-size:16px;line-height:1.75}.academics-grid{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr 2fr;display:grid;overflow:hidden}.academic-summary{border-right:1px solid var(--line);background:#f0f3ed;padding:30px}.gpa{letter-spacing:-.06em;margin:12px 0 0;font-size:76px;line-height:1.3}.gpa>span{letter-spacing:-.02em;color:#63715f;font-family:IBM Plex Mono,monospace;font-size:15px}.provenance{max-width:27ch;font-size:11px}.academic-school{border-top:1px solid #d7dfd3;margin-top:28px;padding-top:22px;font-size:14px}.academic-school strong{font-weight:500}.academic-school p{margin-top:5px;font-size:13px}.academic-detail{flex-direction:column;justify-content:space-between;min-width:0;padding:32px;display:flex}.academic-empty{padding:0 8px}.record-symbol{border:1px solid var(--line);text-align:center;width:34px;height:36px;color:var(--accent);border-radius:4px;margin-bottom:22px;font-family:IBM Plex Mono,monospace;font-size:24px;line-height:32px;display:block}.academic-empty h3{font-size:23px}.academic-empty>p{max-width:56ch;margin:13px 0 21px;font-size:16px;line-height:1.7}.academic-empty .mono{color:var(--muted);letter-spacing:.06em;font-size:9px}.academic-detail>.sync-note{border-top:1px solid var(--line);margin-top:28px;padding-top:16px;font-size:9px}.semester-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;font-size:13px;display:flex}.semester-heading label{gap:6px;display:grid}.semester-heading strong{color:var(--ink);margin-left:10px;font-size:20px}.semester-heading select{background:#fff;border:1px solid #a8b8ad;border-radius:4px;max-width:100%;padding:8px}.table-wrap{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}td,th{border-bottom:1px solid var(--line);padding:12px 8px}th{color:var(--muted);font-weight:500}.cp-section,.about-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1.25fr;gap:70px;margin-top:88px;padding-block:64px;display:grid}.cp-section h2,.about-section h2{margin-top:16px}.large-copy{letter-spacing:-.02em;color:var(--ink);margin-bottom:19px;font-size:23px;line-height:1.45}.cp-section>div>p:not(.eyebrow):not(.large-copy),.about-copy>p:not(.large-copy){max-width:60ch;font-size:16px;line-height:1.8}.badminton-photo{margin:0 0 28px}.badminton-photo img{border-radius:5px;width:100%;height:auto;display:block}.project-3 .project-image img{max-height:320px}.cp-topics{color:var(--accent);flex-wrap:wrap;gap:20px;padding-block:24px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.cp-topics span:before{content:"·";margin-right:8px}.cp-section .text-link{margin-top:5px}.about-section{border-top:0;margin-top:0;padding-block:64px}.about-signature{letter-spacing:.06em;margin-top:28px;font-size:10px;display:block}.notes-section{padding-top:64px;padding-bottom:80px}.notes-empty{border:1px solid var(--line);background:#f0f2ed;border-radius:5px;align-items:center;gap:50px;padding:28px 32px;display:flex}.notes-empty .mono{color:var(--muted);font-size:10px}.notes-empty p{font-size:14px;line-height:1.7}.notes-empty>span:last-child{color:#82967f;margin-left:auto;font-size:38px}.contact-section{background:var(--accent-soft);border-block:1px solid #dae2d9}.contact-links{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.contact-links .text-link{overflow-wrap:anywhere}.contact-inner{justify-content:space-between;align-items:center;gap:32px;padding-block:52px;display:flex}.contact-inner h2{margin:12px 0;font-size:40px}.contact-inner p:not(.eyebrow){font-size:15px}.footer{justify-content:space-between;align-items:center;gap:24px;min-height:108px;display:flex}.footer .wordmark{font-size:20px}.footer p,.footer>a:last-child{font-size:11px}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:12px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.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}.recovery{padding-block:100px}.recovery p{margin:24px 0}@media (width>=1400px){.hero{padding-block:108px 94px}.hero h1{font-size:112px}}@media (width<=960px){.hero{grid-template-columns:1.3fr 1fr;gap:24px;padding-block:64px}.hero h1{font-size:80px}.hero-intro{font-size:19px}.desktop-break{display:none}.hero-actions{flex-wrap:wrap}.hero-footnote{font-size:9px}.focus-panel{padding:24px}.academics-grid{grid-template-columns:1fr 1.7fr}.cp-section,.about-section{gap:40px}.interests{gap:20px}}@media (width<=680px){.shell{padding-inline:18px}.header{min-height:76px;position:relative}.wordmark{font-size:21px}.menu-toggle{border:1px solid var(--line);background:0 0;border-radius:4px;align-items:center;gap:16px;min-height:44px;padding:8px 12px;font-size:13px;display:flex}.header nav{background:var(--bg);z-index:5;border-bottom:1px solid var(--line);padding:12px 18px 18px;display:none;position:absolute;top:75px;left:0;right:0;box-shadow:0 12px 20px #17221f08}.header nav.is-open{flex-direction:column;gap:0;display:flex}.header nav a{padding:10px 0}.hero{padding-block:52px 36px;display:block}.hero h1{margin:22px 0;font-size:76px}.hero .eyebrow{letter-spacing:.045em;font-size:9px}.hero-intro{max-width:30ch;font-size:20px}.hero-actions{flex-wrap:nowrap;gap:10px;margin-top:27px}.button{gap:14px;padding:12px 14px;font-size:12px}.hero-footnote{margin-top:28px;font-size:8px}.focus-panel{margin-top:36px;padding:24px;transform:none}.focus-panel>p{margin:23px 0;font-size:23px}.focus-row{padding:12px 0}.panel-footer{font-size:9px}.intro-strip{flex-wrap:wrap;gap:12px;padding-block:18px}.intro-strip .mono{font-size:9px}.intro-strip p{max-width:32ch;font-size:12px}.intro-strip>span:last-child{position:absolute;right:18px}.section{padding-top:56px}.section-heading{margin-bottom:24px;display:block}.section-heading .text-link{margin-top:20px}h2{font-size:32px}.eyebrow{font-size:10px}.sync-note{align-items:baseline;font-size:9px}.interests{display:block}.interests article{margin-top:24px;padding-top:20px}.interests h3{margin-block:14px 10px}.interests p{max-width:45ch}.academics-grid{grid-template-columns:1fr}.academic-summary{border-right:0;border-bottom:1px solid var(--line);padding:26px}.gpa{font-size:70px}.provenance{max-width:none}.academic-school{margin-top:22px;padding-top:18px}.academic-detail{padding:26px 22px}.academic-empty{padding:0}.academic-empty h3{font-size:22px}.academic-empty>p{font-size:15px}.semester-heading{flex-direction:column;align-items:flex-start}.cp-section,.about-section{margin-top:56px;padding-block:40px;display:block}.cp-section>div+div,.about-section>div+div{margin-top:28px}.cp-section h2 br,.about-section h2 br{display:none}.large-copy{font-size:22px}.about-section{margin-top:0}.cp-topics{gap:12px;font-size:9px}.notes-section{padding-top:44px;padding-bottom:52px}.notes-empty{flex-wrap:wrap;gap:18px;padding:24px}.notes-empty .mono{width:100%}.notes-empty p{font-size:13px}.notes-empty>span:last-child{font-size:26px}.contact-inner{padding-block:40px;display:block}.contact-inner h2{font-size:34px}.contact-inner>.button{margin-top:24px;font-size:13px}.footer{flex-wrap:wrap;gap:16px;padding-block:28px}.footer p{order:3;width:100%;font-size:10px}.footer>a:last-child{margin-left:auto}td,th{padding:10px 6px;font-size:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.semester-cgpa{margin:0 0 18px;font-size:12px;line-height:1.6}.grade-pending{color:var(--accent);white-space:nowrap;font-size:11px}.academic-detail td:nth-child(2){overflow-wrap:anywhere;min-width:130px}@media (width<=680px){.academic-detail td:first-child{font-size:10px}.academic-detail td:nth-child(2){min-width:100px}.grade-pending{white-space:normal}}
