.resume-page{max-width:84rem;margin:0 auto;padding:2.4rem 0 3.4rem}.resume-sheet{background:0 0;position:relative;overflow:visible}.resume-sheet:before{content:"";pointer-events:none;background:0 0;position:absolute;inset:0}.resume-sheet__grid{z-index:1;gap:0;padding:clamp(1.3rem,2.2vw,2rem);display:grid;position:relative}.resume-header,.resume-intro,.resume-body{border-bottom:1px solid #12121217}.resume-header{gap:1rem;padding-bottom:1.5rem;display:grid}.resume-header__main{align-content:start;gap:1.45rem;display:grid}.resume-header__identity{align-content:start;gap:.6rem;display:grid}.resume-header__name{letter-spacing:-.05em;margin:0;font-size:clamp(3rem,8vw,5.25rem);line-height:.88}.resume-header__role{letter-spacing:.2em;text-transform:uppercase;max-width:40rem;color:var(--soft-ink);margin:0;font-size:.86rem;line-height:1.82}.resume-header__photo{background:#ffffffeb;border:1px solid #12121224;border-radius:.35rem;justify-self:start;width:min(100%,18rem);overflow:hidden;box-shadow:0 12px 26px #12121214,inset 0 1px #ffffffb8}.resume-header__photo img{aspect-ratio:4/5;object-fit:cover;object-position:center top;width:100%;height:auto;display:block}.resume-intro{gap:1rem;padding:.3rem 0;display:grid}.resume-facts{gap:.72rem;display:grid}.resume-facts--header{max-width:13rem}.resume-fact{border-top:1px solid #1212121a;gap:.2rem;padding-top:.52rem;display:grid}.resume-fact__label{letter-spacing:.22em;text-transform:uppercase;color:var(--annotation-gray);padding-left:.8rem;font-size:.64rem;line-height:1}.resume-fact__value{color:var(--ink);padding-left:.8rem;font-size:.9rem;line-height:1.55}.resume-intro__body{gap:.8rem;max-width:48rem;display:grid}.resume-intro__summary,.resume-intro__note{margin:0;font-size:1rem;line-height:1.9}.resume-intro__summary{color:var(--ink)}.resume-intro__note{color:var(--soft-ink)}.resume-body{border-bottom:none;grid-template-areas:"profile""sidebar""main";gap:1.5rem;padding:1.45rem 0 1.1rem;display:grid}.resume-main{grid-area:main;gap:1.7rem;display:grid}.resume-sidebar{grid-area:sidebar;align-content:start;gap:1rem;display:grid}.resume-profile{grid-area:profile}.resume-profile,.resume-section,.resume-sidecard{gap:.5rem;display:grid}.resume-profile__layout{gap:1rem;display:grid}.resume-block__head{gap:.4rem;display:grid}.resume-block__head--section{border-bottom:1px solid #12121214;padding-bottom:.45rem}.resume-block__title{margin:0;font-size:clamp(1.45rem,4vw,2.35rem);line-height:.96}.resume-profile__body,.resume-section__intro,.resume-sidecard__body,.resume-contact__line{color:var(--soft-ink);margin:0;padding-top:.4rem;font-size:.96rem;line-height:1.85}.resume-signals__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.25rem;display:grid}.resume-signal{background:linear-gradient(#ffffffd6,#faf9f6bd);border:1px solid #12121214;border-radius:.6rem;gap:.55rem;min-height:100%;padding:.9rem .9rem .85rem;display:grid}.resume-signal__top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.resume-signal__label,.resume-signal__link{letter-spacing:.18em;text-transform:uppercase;font-size:.68rem;line-height:1}.resume-signal__label{color:var(--annotation-gray)}.resume-signal__link{color:var(--ink);transition:color .18s}.resume-signal__link:hover{color:#121212a6}.resume-signal__value{color:var(--ink);margin:0;font-size:1.02rem;font-weight:600;line-height:1.42}.resume-signal__detail{color:var(--soft-ink);margin:0;font-size:.88rem;line-height:1.66}.resume-timeline{display:grid}.resume-entry{border-bottom:1px solid #12121214;gap:.8rem;padding:1.1rem 0;display:grid;position:relative}.resume-entry:last-child{border-bottom:none;padding-bottom:0}.resume-entry__aside{flex-wrap:wrap;align-items:baseline;gap:.45rem .9rem;display:flex}.resume-entry__period,.resume-entry__location,.resume-entry__tag{margin:0}.resume-entry__period{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:.82rem;line-height:1.46}.resume-entry__location,.resume-entry__tag{color:var(--annotation-gray);font-size:.8rem;line-height:1.46}.resume-entry__body{gap:.3rem;padding-left:.5rem;display:grid}.resume-entry__heading{gap:.28rem;display:grid}.resume-entry__title,.resume-entry__org{margin:0}.resume-entry__title{color:var(--ink);font-size:1.15rem;line-height:1.3}.resume-entry__title-link-wrap{align-items:center;display:inline-flex;position:relative}.resume-entry__title-link{color:inherit;border-bottom:1px solid #1212122e;transition:border-color .18s,color .18s}.resume-entry__title-link:hover{color:#121212b8;border-color:#12121273}.resume-entry__title-tooltip{z-index:2;letter-spacing:.08em;min-width:max-content;color:var(--ink);white-space:nowrap;opacity:0;pointer-events:none;background:#fffcf4f5;border:1px solid #1212121f;border-radius:999px;padding:.34rem .55rem;font-size:.68rem;line-height:1;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%,.3rem);box-shadow:0 10px 24px #12121214}.resume-entry__title-link-wrap:hover .resume-entry__title-tooltip,.resume-entry__title-link-wrap:focus-within .resume-entry__title-tooltip{opacity:1;transform:translate(-50%)}.resume-entry__org{color:var(--soft-ink);font-size:.92rem;line-height:1.65}.resume-entry__summary{color:var(--ink);margin:0;font-size:.94rem;line-height:1.82}.resume-entry__groups{gap:.6rem;display:grid}.resume-entry__group{gap:.28rem;display:grid}.resume-entry__group-summary{color:var(--soft-ink);margin:0;font-size:.95rem;font-weight:600;line-height:1.25}.resume-entry__bullets{gap:.02rem;margin:0;padding:0;list-style:none;display:grid}.resume-entry__tail{gap:.4rem 1rem;display:grid}.resume-entry__bullets li{color:var(--soft-ink);padding-left:1rem;font-size:.91rem;line-height:1.74;position:relative}.resume-entry__bullets li:before{content:"";background:#12121294;border-radius:999px;width:.34rem;height:.34rem;position:absolute;top:.58rem;left:0;box-shadow:0 0 0 1px #1212121f}.resume-entry__link,.resume-contact__link{letter-spacing:.16em;text-transform:uppercase;color:#121212d1;background:#fffcf400;border:1px solid #12121224;border-radius:0;justify-content:center;align-items:center;width:fit-content;padding:.48rem .82rem .44rem;font-size:.76rem;line-height:1;transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.resume-entry__link{place-self:end start}.resume-entry__link:hover,.resume-contact__link:hover{color:#121212eb;background:color-mix(in srgb, var(--accent) 34%, #fffcf4e0);border-color:#12121233;transform:translateY(-1px);box-shadow:0 8px 18px #12121214}.resume-strength-groups{gap:1.2rem;display:grid}.resume-strength-group{border-top:1px solid #12121214;gap:.62rem;padding-top:1rem;display:grid}.resume-strength-group:first-child{border-top:none;padding-top:0}.resume-strength-group__title{letter-spacing:.2em;text-transform:uppercase;color:var(--annotation-gray);margin:0;font-size:.68rem;line-height:1}.resume-strength-group__list{gap:.32rem;margin:0;padding:0;list-style:none;display:grid}.resume-strength-group__list li{color:var(--ink);padding-left:.82rem;font-size:.86rem;line-height:1.66;position:relative}.resume-strength-group__list li:before{content:"";background:#12121242;border-radius:999px;width:.28rem;height:.28rem;position:absolute;top:.73rem;left:0}.resume-highlight-list{gap:.75rem;display:grid}.resume-highlight{border-top:1px solid #12121214;gap:.16rem;padding-top:.72rem;display:grid}.resume-highlight:first-child{border-top:none;padding-top:0}.resume-highlight__label{letter-spacing:.16em;text-transform:uppercase;color:var(--annotation-gray);font-size:.68rem;line-height:1}.resume-highlight__value{color:var(--ink);font-size:.92rem;line-height:1.6}.resume-project-links{gap:.72rem;display:grid}.resume-project-link{border-top:1px solid #12121214;gap:.22rem;padding-top:.78rem;transition:transform .18s;display:grid}.resume-project-link:first-child{border-top:none;padding-top:0}.resume-project-link:hover{transform:translate(3px)}.resume-project-link__title{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:.82rem;line-height:1.3}.resume-project-link__detail{color:var(--soft-ink);font-size:.9rem;line-height:1.68}.resume-contact{gap:.55rem;display:grid}@media (min-width:760px){.resume-page{padding-top:2.8rem}.resume-signals__grid{gap:1rem 1.4rem}}@media (min-width:1040px){.resume-header{grid-template-columns:minmax(0,1.55fr) minmax(11rem,.42fr);align-items:start}.resume-header__main{grid-template-rows:auto 1fr;gap:1.7rem;min-height:100%}.resume-header__photo{justify-self:end}.resume-body{grid-template-columns:minmax(0,1.56fr) minmax(14.5rem,.56fr);grid-template-areas:"profile sidebar""main sidebar";align-items:start;gap:1.8rem}.resume-sidebar{border-left:1px solid #12121214;align-self:start;padding-left:1.35rem;position:sticky;top:6rem}.resume-sidecard{gap:.85rem}.resume-sidebar .resume-block__head{border-bottom:1px solid #12121214;padding-bottom:.5rem}.resume-sidebar .resume-block__title{letter-spacing:.12em;text-transform:uppercase;font-size:1.06rem;line-height:1.15}.resume-sidebar .resume-strength-groups{gap:1.35rem}.resume-sidebar .resume-strength-group{gap:.7rem;padding-top:1.15rem}.resume-entry{--resume-entry-aside-width:10.6rem;--resume-entry-column-gap:1.08rem;--resume-entry-axis-top:.7rem;grid-template-columns:minmax(10rem, var(--resume-entry-aside-width)) minmax(0, 1fr);column-gap:var(--resume-entry-column-gap);row-gap:.8rem}.resume-entry:before{top:1rem;bottom:-1px;left:calc(var(--resume-entry-aside-width) + (var(--resume-entry-column-gap) / 2));content:"";background:#12121214;width:1px;position:absolute;transform:translate(-50%)}.resume-entry:last-child:before{bottom:.65rem}.resume-entry__aside{align-content:start;gap:.42rem;padding-right:1.15rem;display:grid;position:relative}.resume-entry__aside:after{left:calc(100% + (var(--resume-entry-column-gap) / 2));top:var(--resume-entry-axis-top);content:"";background:#121212d1;border-radius:999px;width:.62rem;height:.62rem;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #fffcf4eb}.resume-entry__location,.resume-entry__tag{max-width:100%}.resume-entry__tail{grid-template-columns:minmax(0,1fr) auto;align-items:end}.resume-entry__tail .resume-entry__groups,.resume-entry__tail .resume-entry__bullets{min-width:0}.resume-entry__tail .resume-entry__link{justify-self:end}}
