:root{color:#20201e;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f4f2;font-family:Inter,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f4f4f2;scroll-padding-top:76px}body{background:#f4f4f2;min-width:320px;margin:0}a{color:inherit;text-decoration:none}.hero{place-items:center;min-height:100svh;padding:32px;display:grid;position:relative;overflow:hidden}.heroInner{text-align:center;justify-items:center;display:grid}.hero h1{letter-spacing:-.065em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.4rem,10.8vw,10.5rem);font-weight:400;line-height:.92}.hero h1 em{font-weight:400}.heroNickname{color:#686863;letter-spacing:-.01em;margin:22px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.5vw,1.3rem)}.heroNickname em{color:#20201e;font-weight:400}.socialLinks{flex-wrap:wrap;justify-content:center;gap:10px 26px;margin-top:30px;display:flex}.socialLinks a{color:#555550;letter-spacing:.055em;text-transform:uppercase;padding:5px 0;font-size:.72rem;position:relative}.socialLinks a:after{content:"";background:#20201e;height:1px;transition:right .22s;position:absolute;bottom:0;left:0;right:100%}.socialLinks a:hover:after,.socialLinks a:focus-visible:after{right:0}.heroContact{letter-spacing:.09em;text-transform:uppercase;border:1px solid #8d8d87;border-radius:999px;margin-top:34px;padding:12px 20px;font-size:.62rem;transition:color .18s,background .18s,border-color .18s}.heroContact:hover,.heroContact:focus-visible{color:#f4f4f2;background:#20201e;border-color:#20201e;outline:none}.scrollCue{color:#74746f;letter-spacing:.14em;text-transform:uppercase;justify-items:center;gap:11px;font-size:.58rem;display:grid;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scrollCue i{border-bottom:1px solid #20201e;border-right:1px solid #20201e;width:18px;height:18px;animation:1.8s ease-in-out infinite drift;transform:rotate(45deg)}@keyframes drift{50%{transform:translateY(6px)rotate(45deg)}}.sectionNav{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f4f2e6;border-top:1px solid #cececa;border-bottom:1px solid #cececa;justify-content:space-between;align-items:center;gap:30px;min-height:76px;padding:0 clamp(20px,4vw,58px);display:flex;position:sticky;top:0}.sectionNav>a{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-style:italic}.sectionNav div{gap:28px;display:flex}.sectionNav div a{color:#5e5e59;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;transition:color .16s}.sectionNav div a:hover,.sectionNav div a:focus-visible{color:#20201e}.resumeSection{align-content:center;padding:clamp(76px,11vw,150px) clamp(24px,7vw,110px);display:grid}.aboutSection{background:#ecece8;padding:clamp(76px,11vw,150px) clamp(24px,7vw,110px)}.aboutGrid{grid-template-columns:minmax(240px,.72fr) 1.28fr;align-items:center;gap:clamp(54px,9vw,140px);margin-top:clamp(64px,9vw,118px);display:grid}.aboutPortrait{aspect-ratio:.82;background:#d7d7d1;border-radius:48% 48% 3px 3px;width:min(100%,430px);margin:0;overflow:hidden}.aboutPortrait a{width:100%;height:100%;display:block}.aboutPortrait img{object-fit:cover;filter:grayscale(.82)contrast(.96);width:100%;height:100%;transition:filter .32s;display:block}.aboutPortrait a:hover img,.aboutPortrait a:focus-visible img{filter:grayscale(0)contrast()}.aboutPortrait a:focus-visible{outline-offset:-5px;outline:2px solid #20201e}.aboutCopy{max-width:760px}.aboutCopy blockquote{color:#20201e;letter-spacing:-.035em;max-width:650px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3.5vw,3.6rem);font-style:normal;line-height:1.25}.aboutCopy cite{color:#777771;letter-spacing:.1em;text-transform:uppercase;margin-top:28px;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:.62rem;font-style:normal;display:block}.educationSection{background:#e6e6e1}.sectionHeading{align-items:baseline;gap:22px;display:flex}.sectionHeading span{color:#777771;letter-spacing:.12em;font-size:.62rem}.sectionHeading h2{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,7vw,7.2rem);font-weight:400;line-height:1}.sectionHeading h2 em{font-weight:400}.resumeList{border-top:1px solid #8d8d87;margin-top:clamp(64px,9vw,118px)}.resumeEntry{border-bottom:1px solid #cececa;grid-template-columns:1.15fr .85fr;gap:clamp(40px,8vw,120px);padding:38px 0;display:grid}.entryLabel{color:#777771;letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:.6rem}.resumeEntry h3,.projectEntry h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.35rem,2.6vw,2.35rem);font-weight:400;line-height:1.25}.entryCompany{color:#555550;margin:9px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.5vw,1.32rem);font-style:italic}.educationLocation,.campusList{color:#555550;margin:10px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,1.5vw,1.32rem);font-style:italic;line-height:1.35}.campusList{gap:4px;display:grid}.entryDetails{align-self:end}.entryMeta{color:#555550;letter-spacing:.02em;margin:0;font-size:.72rem}.entryDescription{color:#444440;max-width:620px;margin:20px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.65}.skillList{flex-wrap:wrap;gap:7px;margin-top:22px;display:flex}.skillList span{color:#5e5e59;letter-spacing:.055em;text-transform:uppercase;border:1px solid #c3c3bd;border-radius:999px;padding:7px 10px;font-size:.56rem}.projectSection{color:#f1f1ed;background:#20201e;padding:clamp(76px,11vw,150px) clamp(24px,7vw,110px)}.projectSection .sectionHeading span,.projectSection .entryLabel{color:#96968f}.projectEntry{border-top:1px solid #74746e;border-bottom:1px solid #4d4d49;grid-template-columns:.9fr 1.1fr auto;align-items:end;gap:clamp(36px,7vw,100px);margin-top:clamp(64px,9vw,118px);padding:42px 0;transition:color .2s;display:grid}.projectEntry:hover,.projectEntry:focus-visible{color:#fff;outline:none}.projectEntry p:not(.entryLabel){color:#bdbdb6;max-width:620px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.65}.projectEntry>span{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid;padding-bottom:3px;font-size:.62rem}.siteFooter{color:#777771;letter-spacing:.09em;text-transform:uppercase;background:#f4f4f2;border-top:1px solid #cececa;justify-content:space-between;gap:24px;padding:30px clamp(24px,4vw,58px);font-size:.62rem;display:flex}.siteFooter a:hover,.siteFooter a:focus-visible{color:#20201e}.motion-ready .hero h1,.motion-ready .heroNickname,.motion-ready .socialLinks a,.motion-ready .heroContact{opacity:0;animation:.85s cubic-bezier(.2,.7,.2,1) forwards arrive;transform:translateY(24px)}.motion-ready .socialLinks a{animation-delay:calc(.43s + var(--link-index) * 70ms)}.motion-ready .heroNickname{animation-delay:.26s}.motion-ready .heroContact{animation-delay:.86s}.motion-ready .scrollCue{opacity:0;animation:.85s cubic-bezier(.2,.7,.2,1) .8s forwards arriveScroll;transform:translate(-50%,24px)}@keyframes arrive{to{opacity:1;transform:translateY(0)}}@keyframes arriveScroll{to{opacity:1;transform:translate(-50%)}}.motion-ready [data-reveal]{opacity:0;transition:opacity .78s,transform .78s cubic-bezier(.2,.7,.2,1);transform:translateY(34px)}.motion-ready [data-reveal].in-view{opacity:1;transform:none}@media (width<=700px){html{scroll-padding-top:66px}.hero{padding-inline:18px}.hero h1{max-width:580px;font-size:clamp(4rem,22vw,7rem)}.socialLinks{gap:9px 20px;max-width:390px;margin-top:28px}.sectionNav{min-height:66px}.sectionNav div{scrollbar-width:none;justify-content:flex-start;gap:20px;width:100%;overflow-x:auto}.sectionNav div::-webkit-scrollbar{display:none}.sectionNav>a{display:none}.sectionNav div a{font-size:.58rem}.resumeSection{min-height:68vh;padding-top:82px;padding-bottom:82px}.aboutSection{padding-top:82px;padding-bottom:82px}.aboutGrid{grid-template-columns:1fr;gap:44px}.aboutPortrait{width:min(82vw,390px)}.sectionHeading{gap:14px}.resumeEntry{grid-template-columns:1fr;gap:34px}.projectEntry{grid-template-columns:1fr;gap:30px}.projectEntry>span{width:max-content}.siteFooter{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.motion-ready .hero h1,.motion-ready .heroNickname,.motion-ready .socialLinks a,.motion-ready .heroContact,.motion-ready .scrollCue,.motion-ready [data-reveal]{opacity:1;transform:none}}
