:root{--page-margin:0%;--font-body:"Noto Serif N", sans-serif;--text-primary:#222;--text-secondary:#666;--text-blue:#112d46;--back-ground:#f7f6f1}body{font-family:var(--font-body);color:var(--text-primary);background-image:url(/background_image3.png);background-color:var(--back-ground)}html,body,#root{min-height:100%;margin:0;padding:0}@font-face{font-family:Handjet;src:url(/fonts/handjet/Handjet-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Handjet;src:url(/fonts/handjet/Handjet-Medium.ttf)format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Handjet;src:url(/fonts/handjet/Handjet-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Noto Serif;src:url(/fonts/noto-serif/NotoSerif-VariableFont_wdth,wght.ttf)format("truetype");font-weight:100 900;font-style:normal}@font-face{font-family:Noto Serif N;src:url(/fonts/noto-serif/NotoSerif-VariableFont_wdth,wght.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:In Serif;src:url(/fonts/instrumental-serif/InstrumentSerif-Italic.ttf)format("truetype");font-weight:600;font-style:italic}@font-face{font-family:In Serif N;src:url(/fonts/instrumental-serif/InstrumentSerif-Regular.ttf)format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant_garamond/CormorantGaramond-VariableFont_wght.ttf)format("truetype");font-weight:300 700;font-style:normal}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant_garamond/CormorantGaramond-Italic-VariableFont_wght.ttf)format("truetype");font-weight:300 700;font-style:italic}.header{width:calc(100% - (var(--page-margin) * 2));margin:0 auto;padding-top:.8rem}.header__inner{justify-content:space-between;align-items:center;display:flex}.header__name{color:var(--text-blue);font-family:Cormorant Garamond,serif;font-size:2.4rem;font-style:italic;font-weight:700;text-decoration:none}.header__name:hover{text-decoration:underline}.header__nav{gap:1.5rem;display:flex}.header__nav a{color:gray;font-size:1.1rem;font-weight:400;text-decoration:none}.header__nav a.active{text-underline-offset:3px;text-decoration:underline}@media (width<=600px){.header__nav{gap:.8rem}.header__nav a{font-size:1rem}}.footer{border-top:1px solid #ddd;flex-shrink:0;width:100%}.footer__inner{box-sizing:border-box;justify-content:space-between;align-items:flex-end;width:100%;padding:.2rem 0;display:flex}.footer__contact{flex-direction:column;gap:.45rem;display:flex}.footer__email{color:#555;align-items:center;gap:.4rem;font-size:.85rem;text-decoration:none;display:flex}.footer__email img{opacity:.65;width:16px;height:16px}.footer__links{align-items:center;gap:.8rem;display:flex}.footer__links a{color:#777;align-items:center;gap:.35rem;font-size:.7rem;text-decoration:none;display:flex}.footer__links img{opacity:.6;width:15px;height:15px}.footer__email:hover,.footer__links a:hover{color:var(--text-blue)}.footer__email:hover img,.footer__links a:hover img{opacity:1}.footer__links a[aria-label]:has(img:only-child){padding:.1rem}.footer__right{align-self:flex-end}.footer__right p{color:#aaa;margin:0;font-size:.65rem}.app-shell{flex-direction:column;width:80%;max-width:840px;min-height:100vh;margin:0 auto;display:flex}.app-shell>main{flex:1;min-height:0}@media (width<=600px){.app-shell{width:90%}}.home_outer{padding:0 .7rem}.home_intro{margin-top:1.5rem}.home_inner{margin-bottom:1.2rem}.home_left{max-width:44rem}.home_left p{color:#413446;margin:0;font-size:.95rem;font-weight:300;line-height:1.55}.home_left p+p{margin-top:.6rem}.home_now{margin-top:1.6rem;margin-bottom:1.8rem}.home_now h2{color:#777;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem;font-weight:600}.home_now p{color:#555;max-width:44rem;margin:0;font-size:.85rem;line-height:1.5}@media (width<=600px){.home_intro{margin-top:1rem}.home_left p{font-size:.85rem}.home_left p+p{margin-top:.5rem}.home_now{margin-top:1.5rem;margin-bottom:1.5rem}}.contact-bar{justify-content:center;align-items:center;gap:1.5rem;padding-top:0;display:flex}.contact-bar a{color:gray;align-items:center;gap:.4rem;font-size:.8rem;text-decoration:none;display:flex}.contact-bar img{opacity:.6;width:18px;height:18px}.contact-bar a:hover{color:#333}.contact-bar a:hover img{opacity:1}@media (width<=600px){.contact-bar a{font-size:.6rem}.contact-bar img{opacity:.6;width:18px;height:18px}}.projects{padding-top:1rem}.project-title{color:#413446;margin:0;font-size:1.15rem;font-weight:500}.project-intro{color:#5a505b;padding-top:.35rem;font-size:.9rem;line-height:1.5}.project-item-container{align-items:flex-start;gap:1rem;padding-top:.75rem;display:flex}.project-item-left{flex-shrink:0}.project-item__image{width:100px;height:auto;display:block}.project-item-right{flex:1;min-width:0}.project-item__content{flex-direction:column;gap:.2rem;display:flex}.project-item__title{color:#413446;margin:0;font-size:.9rem;font-weight:600}.project-item__description{color:#413446;margin:0;font-size:.95rem;font-weight:500;line-height:1.4}.project-item__description a{color:#1248dd;text-underline-offset:2px;font-weight:500;text-decoration:underline}.project-item__content>a{color:#666;width:fit-content;margin-top:.2rem;font-size:.8rem;text-decoration:none}.project-item__content>a:hover{text-decoration:underline}.project-item__image-link,.project-item__title-link{color:inherit;text-decoration:none}.project-item__image-link{display:block}.project-item__title-link{width:fit-content}@media (width<=600px){.project-item-container{gap:.65rem;padding-top:.55rem}.project-item__image{object-fit:contain;width:80px;max-height:90px}.project-item__title{font-size:.85rem}.project-item__description{font-size:.75rem;line-height:1.4}.project-item__content>a{font-size:.75rem}}@media (width<=400px){.project-item__image{width:65px;max-height:75px}.project-item-container{gap:.6rem}.project-item__description{font-size:.75rem}}.blog_outer{flex-direction:column;align-items:center;margin-top:2rem;display:flex}.post-item{align-items:baseline;gap:4rem;text-decoration:none;display:flex}.post-item__title{width:400px;color:var(--text-blue);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;margin:0;font-size:1.5rem;font-weight:500;overflow:hidden}.post-item__date{color:#777;margin:0;font-size:.85rem;font-weight:700}@media (width<=600px){.post-item{gap:1rem}.post-item__title{width:220px;font-size:1rem}.post-item__date{font-size:.75rem}}.resume_outer{width:calc(100% + 4rem);padding-top:1rem}.resume_header{justify-content:space-between;align-items:flex-start;padding:0;display:flex}.resume_header__text{flex-direction:column;display:flex}.first_rubrics{color:#413446;margin:0;font-size:1.5rem;font-weight:500;line-height:1.1}.resume-subtitle{color:#888;margin:.15rem 0 0;font-size:.82rem;font-weight:400;line-height:1.3}.resume_header__contact{flex-direction:column;display:flex}.resume_header__contact a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #ccc;text-decoration:underline #ccc}.resume_header__contact a:hover{color:var(--text-blue);-webkit-text-decoration-color:var(--text-blue);text-decoration-color:var(--text-blue)}@media (width<=700px){.resume_header{justify-content:flex-start}.resume_header__contact{flex-wrap:wrap;gap:.5rem 1rem}}.resume-pdf{color:#555;border:1px solid #ccc;border-radius:4px;align-items:center;gap:.4rem;margin-bottom:.2rem;padding:.45rem .8rem;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.resume-pdf:hover{border-color:var(--text-blue);color:var(--text-blue)}.pdf_contact a:not(.resume-pdf){color:#666;align-items:center;gap:.5rem;font-size:.85rem;font-weight:400;text-decoration:none;display:flex}.pdf_contact a:not(.resume-pdf):hover{color:var(--text-blue)}.pdf_contact img{opacity:.65;width:17px;height:17px}.pdf_contact a:hover img{opacity:.9}@media (width<=700px){.resume_outer{width:100%}.resume_header{flex-direction:column;gap:1rem}.first_rubrics{font-size:1.6rem}.resume-subtitle{font-size:.85rem;line-height:1.4}.pdf_contact{gap:.5rem;width:100%}@media (width<=700px){.resume-pdf{width:5rem}}}.resume_inner{box-sizing:border-box;grid-template-columns:1.75fr 1fr;gap:2.5rem;width:100%;padding-top:.6rem;display:grid}.left_pane,.right_pane{min-width:0}.right_pane .resume-section{margin-bottom:2rem}.resume-about-me{color:#413446;margin:0;font-size:.82rem;line-height:1.55}.resume-coursework__intro{color:#413446;margin:0 0 .6rem;font-size:.9rem;line-height:1.4}.resume-coursework__list{flex-direction:column;gap:.35rem;display:flex}.resume-coursework__list a{color:#666;font-size:.75rem;line-height:1.4;text-decoration:none}.resume-coursework__list a:before{color:#aaa;margin-right:.4rem;display:inline-block}.resume-coursework__list a:hover{color:var(--text-blue);text-underline-offset:2px;text-decoration:underline}.resume-tech__intro{color:#413446;font-size:.85rem;line-height:1.5}.resume-tech__groups{flex-direction:column;gap:.65rem;display:flex}.resume-tech__groups>div{flex-direction:column;gap:.1rem;display:flex}.resume-tech__label{color:#413446;font-size:.72rem;font-weight:600}.resume-tech__groups p{color:#777;margin:0;font-size:.75rem;line-height:1.45}.resume-education{flex-direction:column;gap:.8rem;display:flex}.resume-education__item{flex-direction:column;gap:.1rem;display:flex}.resume-education__degree{color:#413446;margin:0;font-size:.82rem;font-weight:500}.resume-education__school a{color:inherit;text-decoration:none}.resume-education__school a:hover{color:var(--text-blue);text-underline-offset:2px;text-decoration:underline}.resume-education__school{color:#888;margin:.1rem 0 0;font-size:.73rem;line-height:1.4}@media (width<=700px){.resume_inner{flex-direction:column;gap:1.5rem;padding-top:.5rem;display:flex}.right_pane{order:1;margin:0}.left_pane{order:2;margin-top:-.6rem}.resume-about-me{font-size:.85rem;line-height:1.45}.resume-coursework__intro{margin-bottom:.5rem;font-size:.85rem}.resume-coursework__list{gap:.3rem}.resume-coursework__list a{font-size:.75rem;line-height:1.35}.resume-tech__intro{font-size:.8rem;line-height:1.45}.resume-tech__groups{gap:.2rem}.resume-tech__label{font-size:.75rem}.resume-tech__groups p{font-size:.75rem;line-height:1.45}.right_pane .resume-section{margin-bottom:1.25rem}}.resume-section{margin-bottom:2rem}.resume-section__title{color:#999;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:600}.resume-section__content{border-top:1px solid #00000026}.resume-work__content{width:100%;min-width:0}.resume-work{position:relative}.resume-work__header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.resume-work__company{color:#413446;margin:0;font-size:1.15rem;font-weight:500;text-decoration:none;transition:color .15s}.resume-work__company:hover{color:#3157b7!important}.resume-work__company--compact{font-size:1.1rem}.resume-work__role{color:#777;text-align:right;margin:0;font-size:.72rem;font-weight:600}.resume-work__image{width:40px;height:40px;position:absolute;top:.3rem;right:calc(100% + 1rem)}.resume-work__image img{object-fit:contain;width:100%;height:100%;display:block}.resume-work__description{margin-top:.5rem;padding-left:.9rem;font-size:.76rem;line-height:1.5}@media (width<=700px){.resume-work__header{gap:.75rem}.resume-work__company{font-size:1.2rem}.resume-work__company--compact{font-size:1.05rem}.resume-work__role{font-size:.7rem}.resume-work__description{font-size:.75rem;line-height:1.45}.resume-work__image{display:none}}.resume-project{margin-bottom:1rem;position:relative}.resume-project__content{width:100%;min-width:0}.resume-project__title{color:#413446;margin:0;font-size:1rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-block}.resume-project__title:hover{color:#3157b7}.resume-project__description{color:#555;font-size:.75rem;line-height:1.45}.resume-project__description ul{margin-left:0;padding-left:1rem}.resume-project__image{width:90px;height:90px;position:absolute;top:.1rem;right:calc(100% + 1rem)}.resume-project__image img{object-fit:contain;width:100%;height:100%;display:block}@media (width<=700px){.resume-project{margin-bottom:.9rem}.resume-project__title{font-size:.9rem}.resume-project__description{font-size:.7rem;line-height:1.45}.resume-project__image{display:none}}.resume-project__link{color:inherit;text-decoration:none;display:block}.resume-project__link:hover .resume-project__title{color:#3157b7}.blog-post{max-width:700px;margin:0 auto;padding:2rem 1rem 4rem}.blog-post__title{color:var(--text-blue);margin:0;font-size:2rem;font-weight:500}.blog-post__date{color:#999;margin:.3rem 0 2rem;font-size:.8rem;font-weight:600}.blog-post__content{color:#413446;font-size:1rem;line-height:1.7}.blog-post__content p{margin:0 0 1rem}
