/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}article,aside,footer,header,nav,section{display:block}h1{margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects;text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button;-moz-appearance:button;appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}code[class*=language-],pre[class*=language-]{hyphens:none;-moz-tab-size:2;-o-tab-size:2;tab-size:2;white-space:pre;white-space:pre-wrap;word-wrap:normal;color:#76d9e6;font-family:Menlo,Monaco,Courier New,monospace;font-size:16px;text-shadow:none}pre>code[class*=language-]{font-size:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2a2a2a}pre[class*=language-]{border:1px solid #e1e1e8;border-radius:var(--border-radius);overflow:auto;padding:15px;position:relative}pre[class*=language-] code{display:block;white-space:pre}:not(pre)>code[class*=language-]{border:.13em solid #7a6652;border-radius:.3em;box-shadow:inset 1px 1px .3em -.1em #000;padding:.15em .2em .05em}.token.namespace{opacity:.7}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#6f705e}.token.boolean,.token.number,.token.operator{color:#a77afe}.language-css .token.string,.style .token.string,.token.attr-name,.token.entity,.token.string,.token.url{color:#e6d06c}.token.inserted,.token.selector{color:#a6e22d}.token.atrule,.token.attr-value,.token.deleted,.token.important,.token.keyword{color:#ef3b7d}.token.regex,.token.statement{color:#76d9e6}.token.placeholder,.token.variable{color:#fff}.token.bold,.token.important,.token.statement{font-weight:700}.token.punctuation{color:#bebec5}.token.entity{cursor:help}.token.italic{font-style:italic}code.language-markup{color:#f9f9f9}code.language-markup .token.tag{color:#ef3b7d}code.language-markup .token.attr-name{color:#a6e22d}code.language-markup .token.attr-value{color:#e6d06c}code.language-markup .token.script,code.language-markup .token.script .token.keyword,code.language-markup .token.style{color:#76d9e6}.line-highlight.line-highlight{background:hsla(0,0%,100%,.08);padding:0}.line-highlight.line-highlight:before,.line-highlight.line-highlight[data-end]:after{background-color:hsla(0,0%,100%,.4);box-shadow:0 1px 1px hsla(0,0%,100%,.7);color:#000;height:1em;line-height:1em;padding:.2em .5em}:root{--font-family-base:"Hanken Grotesk",system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-heading:"Inter",system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-ui:"Inter",system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--site-width:850px;--header-height:66px;--header-height-lg:76px;--border-radius:12px;--border-radius-sm:5px;--tc-shadow:6px;--tc-fold-size:56px;--tc-line-thickness:3px;--tc-diagonal:calc(sqrt(2)*var(--thickness));--tc-card-width:384px;--tc-card-height:256px;--bg:#fff;--bg-alt:#fff;--bg-muted:#f7f7f7;--bg-accent:#aeb6e1;--bg-hover:#f3f4f6cc;--text:#222;--text-heading:#222;--text-inverted:#fff;--text-muted:#6b7280;--highlight:#2f5bc2;--link:#2f5bc2;--border:rgb(0 0 0/6%);--danger:#e03e3e;--shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgb(0 0 0/5%);--tc-outline:#b8b8b8;--tc-line:#b8b8b8}body.dark{--bg:#000;--bg-alt:#18181b;--bg-muted:#2a2a2b;--bg-accent:#083344;--bg-hover:#2a2a2b;--text:#a1a1aa;--text-heading:#ddd;--text-inverted:#222;--text-muted:#a1a1aa;--highlight:#164e63;--link:#0891b2;--border:#27272a;--shadow:0 10px 15px -3px hsla(0,0%,100%,.2),0 4px 6px -2px hsla(0,0%,100%,.1);--tc-outline:#333;--tc-line:#333}html{font-family:var(--font-family-base);font-size:62.5%;scroll-padding-top:100px;scrollbar-gutter:stable}body{background-color:var(--bg);color:var(--text);display:flex;flex-direction:column;font-size:1.8rem;line-height:1.618;margin:0;min-height:100vh}main{padding:var(--header-height) 13px 13px}@media (min-width:1024px){main{padding-top:var(--header-height-lg)}}footer{margin-top:auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:800;line-height:1.1;margin-bottom:1.5rem;margin-top:3rem;overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{border-bottom:none;opacity:1}h1{font-size:2em}h2{font-size:1.75em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1em}h6{font-size:.8em}p{margin-bottom:2.5rem;margin-top:0}small,sub,sup{font-size:75%}hr{border:none;border-bottom:2px solid var(--border)}a{text-decoration:none}a,a:hover{color:var(--link)}a:hover{border-bottom:2px solid var(--link)}ul{margin-bottom:2.5rem;margin-top:0;padding-left:1.4em}li{margin-bottom:.4em}blockquote{background-color:var(--bg-muted);border-left:5px solid var(--text-heading);margin-bottom:2.5rem;margin-left:0;margin-right:0;padding:.8em .8em .8em 1em}blockquote h1,blockquote h2,blockquote h3,blockquote h4,blockquote h5,blockquote h6{margin:.4em 0}blockquote p{margin-bottom:0}img,video{height:auto;max-width:100%}img,pre,video{margin-bottom:2.5rem;margin-top:0}pre{display:block;overflow-x:auto;padding:1em}code,pre{background-color:var(--bg-muted)}code{font-size:.9em;padding:0 .5em;white-space:pre-wrap}pre>code{background-color:transparent;padding:0;white-space:pre}table{border-collapse:collapse;text-align:justify;width:100%}td,th{border-bottom:1px solid var(--bg-muted);padding:.5em}input,textarea{border:1px solid var(--text)}input:focus,textarea:focus{border:1px solid var(--text-heading)}textarea{max-width:100%;min-height:35px;width:100%}.btn,button,input[type=button],input[type=reset],input[type=submit]{background-color:var(--link);border-radius:1px;box-sizing:border-box;color:var(--text-heading);cursor:pointer;display:inline-block;padding:5px 10px;text-align:center;text-decoration:none;white-space:nowrap}.btn[disabled],button[disabled],input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default;opacity:.5}.btn:focus:enabled,.btn:hover:enabled,button:focus:enabled,button:hover:enabled,input[type=button]:focus:enabled,input[type=button]:hover:enabled,input[type=reset]:focus:enabled,input[type=reset]:hover:enabled,input[type=submit]:focus:enabled,input[type=submit]:hover:enabled{outline:0}input,select,textarea{background-color:var(--bg-muted);border:1px solid var(--bg-muted);border-radius:4px;box-shadow:none;box-sizing:border-box;color:var(--text);font-family:var(--font-family-base);margin-bottom:10px;padding:6px 10px}input:focus,select:focus,textarea:focus{border:1px solid var(--text-heading);outline:0}input[type=checkbox]:focus{outline:1px dotted var(--text-heading)}fieldset,label,legend{display:block;font-weight:600;margin-bottom:.5rem}.page-container{margin-left:auto;margin-right:auto;max-width:var(--site-width);padding:1rem}.page-container img{margin:24px;width:75%}.shadow{box-shadow:var(--shadow)}.gradient-text{background:linear-gradient(130deg,#5183f5,#af002d 41.07%,#c79191 76.05%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn{background-color:var(--link);border:none;border-radius:var(--border-radius-sm);color:var(--text-inverted);font-size:14px;padding:10px 15px;white-space:nowrap}.btn:focus,.btn:hover{border:none;color:var(--text-inverted);filter:brightness(90%)}.btn--sm{padding:6px 8px}.btn--outline{background-color:var(--bg-muted);border:1px solid var(--border);color:var(--text)}.btn--outline:focus,.btn--outline:hover{background-color:var(--bg-alt);border:1px solid var(--link);color:var(--text-heading);filter:none}.btn--danger,.btn--danger:focus,.btn--danger:hover{background-color:var(--danger);color:var(--text-inverted)}.btn--danger:focus,.btn--danger:hover{border:none;filter:brightness(90%)}.header-anchor{float:left;font-size:.85em;margin-top:.125em;padding-right:.23em}@media (min-width:1024px){.header-anchor{margin-left:-.87em;opacity:0}}img.left{display:block;margin-left:0}img.left.wrap{float:left}img.right{display:block;margin-right:0}img.right.wrap{float:right}img.center{display:block;margin-left:auto;margin-right:auto}img.rounded{border-radius:32px}img.bordered{border:2px solid var(--text-heading)}img.shadowed{box-shadow:var(--shadow)}img.full-width{height:auto;width:100%}img.half-width{height:auto;width:50%}img.third-width{height:auto;width:33.3333333333%}img.quarter-width{height:auto;width:25%}.home-page{margin:0 auto 60px;max-width:var(--site-width);padding:0 20px 20px}@media (min-width:1024px){.home-page{padding:20px 40px}}.hero{-moz-column-gap:72px;column-gap:72px;display:grid;grid-auto-columns:1fr;grid-template-rows:auto auto;margin-top:48px;max-width:1100px}@media (min-width:1024px){.hero{grid-template-columns:2fr 3fr;margin:48px auto}}.hero__col{display:flex;flex-direction:column;justify-content:center}.hero__image{border-radius:var(--border-radius);max-width:300px;transition:filter .4s ease-out}@media (min-width:1024px){.hero__image{margin-bottom:0}.hero__title{color:var(--text-heading);font-size:3em;margin-top:0}}.hero__body{font-size:19px;margin-bottom:1rem}.hero__body,.hero__body>:first-child{margin-top:0}.list-header{align-items:center;border-top:2px solid var(--border);display:flex;gap:20px;justify-content:space-between;margin-bottom:20px;padding-top:20px}.list-header__title{margin:0}.article-card{border-radius:var(--border-radius);margin-top:20px;padding:4px 6px}.article-card:hover{background-color:var(--bg-hover);color:var(--text)}.article-card--tags{border-bottom:2px solid var(--border);border-radius:0}.article-card--tags:last-child{border-bottom:none}.article-card--tags:hover{background-color:transparent}.article-card__link,.article-card__link:hover{color:var(--text)}.article-card--tags .article-card__link:hover{color:var(--link)}.article-card__title{margin:5px 0}.article-card__summary{color:var(--text-muted);margin-bottom:0}.tag-list,.tag-list--no-wrap{display:flex;flex-wrap:wrap}.tag-list--no-wrap{align-items:center;border-bottom:2px solid var(--border);padding:40px 0 30px}@media (min-width:1024px){.tag-list--no-wrap{flex-wrap:nowrap;justify-content:space-between}}.tag-list__title{line-height:1.4em;margin-bottom:20px;margin-right:20px;margin-top:0;width:100%}@media (min-width:1024px){.tag-list__title{margin-bottom:0}}.tag{background-color:var(--bg-muted);border-radius:var(--border-radius-sm);color:var(--link);font-size:13px;font-weight:500;margin:10px 10px 0 0;padding:6px 8px;white-space:nowrap}.tag:hover{border:none}.tag:first-child{margin-left:0}.pagination__list{align-items:center;display:flex;gap:25px;justify-content:center;list-style:none;margin:0}.pagination__link{color:var(--text)}.pagination__link[aria-current]{color:var(--link)}@media (min-width:1024px){.coursework-container{-moz-columns:2;column-count:2;-moz-column-fill:balance;column-fill:balance;-moz-column-gap:64px;column-gap:64px}}.subject-section{-moz-column-break-inside:avoid;break-inside:avoid}.subject-section caption{font-weight:700;margin-bottom:.5rem;text-align:center}.subject-section table{border-collapse:collapse;margin-bottom:32px;width:100%}@media (min-width:1024px){.subject-section table{table-layout:fixed}}.subject-section td,.subject-section th{border:1px solid var(--text);font-size:14px;padding:4px;text-align:left}.subject-section th{background-color:var(--bg-muted);font-weight:700;text-align:center}.subject-section td:first-child,.subject-section th:first-child{width:80px}.subject-section td:nth-child(2),.subject-section th:nth-child(2){width:auto}.subject-section td:nth-child(3),.subject-section th:nth-child(3){text-align:center;width:16px}.subject-section tr.ongoing{font-style:italic}.subject-section .course-row{cursor:pointer}#course-tooltip{background-color:var(--bg-muted);border:1px solid var(--text);border-radius:8px;box-shadow:0 8px 16px rgba(0,0,0,.3);font-size:13px;font-style:italic;max-width:320px;opacity:0;padding:8px;pointer-events:none;position:fixed;transition:opacity .4s ease;z-index:100}#course-tooltip.visible{opacity:1}.certifications-container{display:grid;grid-template-columns:repeat(2,1fr);place-items:center}.certifications-container a{align-items:center;border-bottom:0;display:flex;justify-content:center}.certifications-container a:hover img{box-shadow:0 8px 16px rgba(0,0,0,.3)}.scholarship-chart-container svg{max-width:600px;width:100%}.site-header{position:fixed;width:100%;z-index:10}.site-header a:hover{border:none;color:var(--text-heading)}.site-header li{list-style:none}.site-header__container{align-items:center;background-color:var(--bg-muted);border:1px solid var(--border);border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;font-family:var(--font-family-ui);font-size:16px;font-weight:525;justify-content:space-between;margin:6px 12px 0;padding:8px 10px}.site-header__monogram{align-items:center;border:none;border-radius:var(--border-radius-sm);color:var(--text-heading);display:flex;justify-content:center;padding:8px}.site-header__monogram svg{height:auto;width:36px}.site-header__monogram:hover{background-color:var(--bg-alt)}.site-header__site-interaction{align-items:center;background-color:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--text-muted);display:flex;padding:8px}.site-header__site-interaction svg{height:auto;width:22px}.site-header__site-interaction:hover{background-color:var(--bg-alt)}.site-header__nav{justify-content:center;padding:0}.site-header__nav,.site-header__nav li{align-items:center;display:flex;margin:0}.site-header__nav-link{color:var(--text-heading);margin:0 16px;position:relative}.site-header__nav-link:after{background-color:var(--text-heading);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.site-header__nav-link:hover:after,.site-header__nav-link[aria-current]:after{width:100%}.site-header__actions{align-items:center;display:flex;gap:8px}.site-header__socials{align-items:center;display:flex;margin:0;padding:0}.site-header__socials li{margin:0;padding:0}.site-header__social-link{align-items:center;color:var(--text-muted);display:flex;padding:7px}.site-header__social-link svg{height:auto;width:22px}.site-header__social-link:hover{color:var(--social-color)!important}.site-header__separator{background-color:var(--text-muted);border-radius:1px;height:26px;margin-left:1px;width:2px}@media (min-width:1024px){.site-header__container{display:grid;grid-template-columns:1fr auto 1fr;margin:6px auto 0;max-width:var(--site-width)}.site-header__section--left{justify-self:start}.site-header__section--center{justify-self:center}.site-header__section--right{justify-self:end}.site-header__menu-button{display:none}}@media (max-width:1023.5px){.site-header__nav,.site-header__theme-toggle{display:none}}.drawer{display:none}.drawer__overlay{background-color:#000;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;will-change:opacity;z-index:200}.drawer__header{border-bottom:1px solid var(--border);justify-content:flex-end;padding:2.5rem}.drawer__close,.drawer__header{align-items:center;display:flex}.drawer__close{background-color:transparent;border:none;color:var(--text);cursor:pointer;flex-shrink:0;height:18px;margin:0 0 0 1rem;padding:0;width:18px}.drawer__close svg{width:100%}.drawer__wrapper{background-color:var(--bg-alt);bottom:0;box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%;max-width:340px;overflow:auto;position:fixed;right:0;top:0;transform:translate3d(103%,0,0);transition:transform .3s;width:100%;will-change:transform;z-index:9999}.drawer__content{flex-grow:1;height:100%;overflow-x:hidden;overflow-y:auto;padding:1.5rem;position:relative}.drawer--left .drawer__wrapper{left:0;right:auto;transform:translate3d(-100%,0,0)}.drawer.is-active{display:block}.drawer.is-visible .drawer__wrapper{transform:translateZ(0)}.drawer.is-visible .drawer__overlay{opacity:.5}.drawer__nav{list-style:none;padding-left:0}.drawer__nav-item{border-bottom:1px solid var(--border);font-size:1.75em;font-weight:700;margin:0;padding:15px 0}.timeline{isolation:isolate;overflow-x:clip;padding:16px 0 40px;position:relative;width:100%}.timeline a:hover{border:none;color:var(--text)}.timeline__card{background-color:var(--bg);border:var(--tc-line-thickness) solid var(--tc-outline);box-shadow:var(--tc-shadow) var(--tc-shadow) var(--tc-outline);clip-path:polygon(-999% -999%,999% 0,calc(100% - var(--tc-fold-size)) 0,calc(100% - var(--tc-fold-size)) 0,100% var(--tc-fold-size),100% calc(var(--tc-fold-size) + var(--tc-shadow)),calc(100% + var(--tc-shadow)) calc(var(--tc-fold-size) + var(--tc-shadow)*2),calc(100% + var(--tc-shadow)) calc(100% + var(--tc-shadow)),-999% calc(100% + var(--tc-shadow)));color:var(--text);height:var(--tc-card-height);overflow:visible;position:relative;width:var(--tc-card-width)}.timeline__card:before{background:var(--tc-outline);content:"";height:var(--tc-fold-size);position:absolute;right:0;top:0;width:var(--tc-fold-size)}@media (min-width:1024px){.timeline__card:not(:first-child){margin-top:calc(var(--tc-card-height)/-4)}.timeline__card:not(:first-child):after{border-top:2px dashed var(--tc-line);bottom:calc(100% + var(--tc-line-thickness));content:"";height:calc(var(--tc-card-height)/4);position:absolute;width:var(--tc-card-width)}.timeline__card--left{margin-left:0;margin-right:auto}.timeline__card--left:not(:first-child):after{border-left:2px dashed var(--tc-line);left:calc(50% + var(--tc-line-thickness) + var(--tc-shadow) - 1px)}.timeline__card--right{margin-left:auto;margin-right:var(--tc-shadow)}.timeline__card--right:not(:first-child):after{border-right:2px dashed var(--tc-line);right:calc(50% + var(--tc-line-thickness) + var(--tc-shadow) - 1px)}}@media (max-width:1023.5px){.timeline__card{height:auto!important;width:calc(100% - var(--tc-shadow) - var(--tc-line-thickness)*2)!important}.timeline__card:not(:first-child){margin-top:56px}.timeline__card:not(:first-child):after{border-left:2px dashed var(--tc-line);content:"";height:56px;left:calc(50% + var(--tc-line-thickness) + var(--tc-shadow) - 1px);position:absolute;top:-56px;width:var(--tc-card-width)}}.timeline__card-body{font-size:16px;margin:12px 24px}.timeline__logo{align-items:center;display:flex;justify-content:center;min-height:64px}.timeline__logo img{margin:0;max-height:64px;max-width:208px}.timeline__logo-dark,body.dark .timeline__logo-light{display:none}body.dark .timeline__logo-dark{display:block}.timeline__role{font-size:20px;text-align:center}.timeline__dates{font-size:14px;text-align:center}