@font-face{font-family:Newsreader;src:url(./newsreader-latin-T5L87s1n.woff2)format("woff2");font-style:normal;font-weight:300 600;font-display:swap}:root{color:#1a1a1a;font-synthesis:none;-webkit-font-smoothing:antialiased;background:#fff;font-family:Newsreader,Georgia,Times New Roman,serif;font-weight:400}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,p{margin:0}a:focus-visible,button:focus-visible{outline-offset:5px;outline:2px solid #777}::selection{background:#e5e5e5}.site-shell{max-width:1500px;margin:0 auto;padding:0 56px}.site-header{justify-content:space-between;align-items:center;gap:24px;padding:18px 0 22px;display:flex}.pill-nav{border:1px solid #eee;border-radius:10px;align-items:center;padding:3px;display:flex;box-shadow:0 2px 7px #00000012}.pill-nav a{color:#767676;border-radius:7px;padding:9px 13px 7px;font-size:15px;transition:background .25s,color .25s}.pill-nav a[aria-current=page]{color:#1a1a1a;background:#f5f5f5;font-weight:500}.pill-nav a:hover{color:#1a1a1a;background:#f7f7f7}.external-nav{color:#767676;gap:23px;font-size:15px;display:flex}.external-nav a{transition:color .25s}.external-nav a:hover{color:#1a1a1a}main{min-height:65vh}.home-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.home-column{flex-direction:column;gap:16px;min-width:0;display:flex}.intro{padding:0 1px 23px}.greeting{letter-spacing:-.02em;white-space:nowrap;min-height:1.2em;font-size:56px;font-weight:300;line-height:1.2}.caret{vertical-align:-.05em;opacity:1;border-right:1px solid #1a1a1a;height:.96em;margin-left:2px;animation:.8s step-end infinite blink;display:inline-block}.intro p{color:#767676;font-size:32px;font-weight:300;line-height:1.45}.school-line{align-items:center;gap:10px;display:flex}.waterloo-crest{object-fit:contain;flex-shrink:0;width:.78em;height:.9em;display:block}.card{background:#f9f9f8;border-radius:8px;transition:transform .35s cubic-bezier(.25,.46,.45,.94),background .35s,box-shadow .35s;overflow:hidden}.arrow{color:#bbb;flex-shrink:0;width:12px;height:12px;transition:transform .35s,color .35s}.experience-card{align-items:center;gap:16px;min-height:90px;padding:17px 20px;display:flex}.company-logo{object-fit:contain;border-radius:5px;flex-shrink:0;width:56px;height:56px;transition:transform .4s;display:block}.company-initial{color:#999;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:32px;display:flex}.experience-copy{flex:1;min-width:0}.card-label{color:#767676;font-size:13px;line-height:1.4}.experience-copy h2{margin-top:4px;font-size:18px;font-weight:500;line-height:1.25}.project-card{flex-direction:column;min-width:0;display:flex}.card-heading{color:#767676;justify-content:space-between;align-items:center;gap:15px;padding:21px 20px 12px;font-size:14px;line-height:1.4;display:flex}.project-image{justify-content:center;align-items:center;height:345px;padding:18px 30px 17px;display:flex}.project-image img{object-fit:contain;filter:drop-shadow(0 7px 5px #00000010);width:100%;height:100%;transition:transform .4s cubic-bezier(.25,.46,.45,.94);display:block}.featured-projects .project-card{flex:none}.featured-projects .project-image{flex:none;height:345px;min-height:0}.electric-go-kart img,.oxidizer-tank-tower img{width:98%;height:94%}.iron-man-helmet img,.heart-led-pcb img{width:84%;height:91%}.page-title{margin:9px 0 29px;font-size:32px;font-weight:300;line-height:1.3}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.projects-grid .project-image{height:310px;padding:14px 20px 10px}.experience-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.detail-experience{align-items:flex-start;padding:25px}.detail-experience .experience-copy p{color:#767676;margin-top:14px;font-size:16px;line-height:1.55}.project-detail{max-width:850px;margin:10px auto 0}.back-link{color:#767676;margin-bottom:20px;font-size:16px;display:inline-block}.project-detail .page-title{margin-top:0;font-size:40px}.detail-image{justify-content:center;align-items:center;height:520px;padding:30px;display:flex}.detail-image img{object-fit:contain;filter:drop-shadow(0 8px 5px #00000010);width:100%;height:100%;display:block}.project-description{max-width:700px;margin-top:28px;font-size:21px;line-height:1.6}.project-status{color:#767676;margin-top:14px;font-size:16px}.motion-toggle{color:#888;cursor:pointer;background:0 0;border:0;margin:20px 0 0 auto;padding:5px 0;font-size:12px;display:block}footer{color:#888;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:32px 0 25px;font-size:14px;display:flex}.webring{align-items:center;gap:12px;display:flex}.webring a{align-items:center;display:flex}.webring img{object-fit:contain;opacity:.65;display:block}.skip-link{z-index:10;background:#fff;padding:10px;position:fixed;top:-100px}.skip-link:focus{top:12px}.enter{animation:.65s both enter;animation-delay:var(--delay,0s)}@keyframes enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}::view-transition-group(*){animation-duration:.8s;animation-timing-function:cubic-bezier(.22,1,.36,1)}@media (hover:hover){a.card:hover{background:#fafaf9;transform:translateY(-2px);box-shadow:0 6px 18px #00000005}a.card:hover .arrow{color:#888;transform:translate(2px,-2px)}a.card:hover .project-image img{transform:scale(1.05)}a.card:hover .company-logo{transform:scale(1.08)}}@media (width>=1600px){.site-shell{max-width:1680px}.project-image{height:390px}.featured-projects .project-image{min-height:360px}}@media (width<=1050px){.site-shell{padding:0 32px}.greeting{font-size:48px}.intro p{font-size:28px}.experience-card{gap:12px;padding:16px}.company-logo{width:44px;height:44px}.experience-copy h2{font-size:17px}.project-image,.featured-projects .project-image{height:300px;min-height:275px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-list{grid-template-columns:1fr}}@media (width<=650px){.site-shell{padding:0 24px}.site-header{gap:12px;padding:17px 0 25px}.pill-nav a{padding:8px 10px 6px;font-size:14px}.external-nav{gap:13px;font-size:14px}.external-nav a:first-child{display:none}.home-layout{grid-template-columns:1fr;gap:16px}.intro{padding-bottom:18px}.greeting{font-size:44px}.intro p{font-size:27px}.experience-card{min-height:84px}.experience-copy h2{font-size:18px}.project-image,.featured-projects .project-image{flex:auto;height:300px;min-height:0}.projects-grid{grid-template-columns:1fr}.projects-grid .project-image{height:320px}.page-title{margin-bottom:24px;font-size:30px}.project-detail .page-title{font-size:34px}.detail-image{height:360px;padding:18px}.project-description{font-size:19px}footer{font-size:13px}}@media (width<=360px){.site-shell{padding:0 17px}.external-nav{display:none}.greeting{font-size:40px}.intro p{font-size:25px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.caret{display:none}a.card:hover,a.card:hover .project-image img,a.card:hover .company-logo{transform:none}}
