.resume-bar{z-index:10;padding:12px var(--gutter);border-bottom:1px solid var(--hairline);backdrop-filter:blur(12px);background:#090a0ddb;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.resume-bar__back{min-height:44px;color:var(--ivory-muted);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.resume-bar__back svg{width:16px;height:10px}.resume-bar__back:hover,.resume-bar__back:focus-visible{color:var(--ivory)}.resume-bar__actions{gap:10px;display:flex}.resume-bar__button{border:1px solid var(--hairline-strong);border-radius:var(--radius-sm);min-height:42px;color:var(--ivory);cursor:pointer;transition:border-color var(--dur-ui), background-color var(--dur-ui);background:0 0;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.resume-bar__button:hover,.resume-bar__button:focus-visible{border-color:var(--ivory);background:#f3f1ea0f}.resume-bar__button--primary{background:var(--ivory);border-color:var(--ivory);color:var(--void)}.resume-bar__button--primary:hover,.resume-bar__button--primary:focus-visible{background:var(--brilliance);color:var(--void)}@media (width<=520px){.resume-bar__button:not(.resume-bar__button--primary){display:none}}.resume{width:100%;max-width:980px;padding:56px var(--gutter) 72px;color:var(--ivory-body);margin:0 auto;font-size:17px}.resume__head{border-bottom:1px solid var(--hairline);flex-direction:column;gap:12px;padding-bottom:36px;display:flex}.resume__name{letter-spacing:.2em;text-transform:uppercase;color:var(--ivory);font-size:34px;font-weight:400;line-height:1.15}.resume__title{letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-muted);font-size:13px;font-weight:500}.resume__contact{flex-wrap:wrap;gap:6px 22px;margin-top:10px;font-size:15px;display:flex}.resume__contact a{color:var(--ivory);text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:4px}.resume__contact a:hover{text-decoration-color:var(--ivory)}.resume__print-only{display:none}.resume__section{border-bottom:1px solid var(--hairline);gap:18px;padding:34px 0;display:grid}.resume__label{font-family:var(--font-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--ash-light);font-size:12px;font-weight:500}.resume__label--spaced{margin-top:26px}.resume__summary{font-family:var(--font-serif);color:var(--ivory-body);max-width:46rem;font-size:clamp(17px,1rem + .2vw,19px);line-height:1.62}.resume__entries{flex-direction:column;gap:30px;display:flex}.entry{gap:6px 32px;display:grid}.entry__dates{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ash-light);padding-top:4px;font-size:12px}.entry__title{color:var(--ivory);font-size:20px;font-weight:500}.entry__org{color:var(--ivory-muted);margin-top:2px;font-size:15px}.entry__roles{flex-direction:column;gap:16px;margin-top:16px;display:flex}.entry__role{color:var(--ivory-strong);margin-top:16px;font-size:16px;font-weight:500}.entry__roles .entry__role{margin-top:0}.entry__role-dates{font-family:var(--font-mono);color:var(--ash-light);margin-left:10px;font-size:12px;font-weight:400}.entry__points{flex-direction:column;gap:8px;margin-top:10px;line-height:1.55;display:flex}.entry__points li{padding-left:20px;position:relative}.entry__points li:before{content:"";background:var(--ash);width:8px;height:1px;position:absolute;top:.72em;left:2px}.entry__list-label{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ash-light);margin-top:12px;font-size:11px}.entry__tags{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.entry__tags li{border:1px solid var(--hairline);border-radius:var(--radius-sm);color:var(--ivory-body);padding:5px 11px;font-size:14px}.skills{gap:26px 32px;display:grid}.skills__title{color:var(--ivory);margin-bottom:8px;font-size:15px;font-weight:500}.skills__list{flex-direction:column;gap:4px;font-size:15px;line-height:1.5;display:flex}.resume__section--split{grid-template-columns:1fr;gap:30px}.honors{flex-direction:column;gap:14px;margin-top:12px;display:flex}.honors__name{color:var(--ivory);font-size:16px;font-weight:500}.honors__detail{color:var(--ivory-muted);margin-top:3px;font-size:15px}.honors__year{font-family:var(--font-mono);color:var(--ash-light);margin-left:8px;font-size:12px}.resume__foot{color:var(--ash-light);justify-content:space-between;gap:16px;padding-top:30px;display:flex}.resume__foot a{color:var(--ivory-muted);text-decoration:none}.resume__foot a:hover{color:var(--ivory)}@media (width>=720px){.resume{padding-top:72px}.resume__name{font-size:44px}.resume__section{gap:24px;padding:40px 0}.entry{grid-template-columns:10rem 1fr}.skills{grid-template-columns:repeat(2,minmax(0,1fr))}.resume__section--split{grid-template-columns:1fr 1fr}}@media (width>=1000px){.skills{grid-template-columns:repeat(3,minmax(0,1fr))}}@page{size:letter;margin:.55in .6in}@media print{:root{color-scheme:light;--void:#fff;--ivory:#111316;--ivory-strong:#16181c;--ivory-body:#24272d;--ivory-muted:#3c4048;--ash:#8a8f98;--ash-light:#5d626b;--hairline:#d9dade;--hairline-strong:#b9bbc1}html,body{color:var(--ivory-body);background:#fff!important}.entry__points li,.entry__roles>li,.honors li,.skills__group,.resume__head{break-inside:avoid}.resume__label,.entry__title,.entry__org,.entry__role,.entry__list-label{break-after:avoid}.entry__points{orphans:2;widows:2}.resume-bar,.skip-link,.resume__foot{display:none}.resume{max-width:none;padding:0;font-size:10pt}.resume__head{gap:4pt;padding-bottom:10pt}.resume__name{letter-spacing:.16em;font-size:21pt}.resume__title{font-size:8.5pt}.resume__contact{gap:2pt 13pt;margin-top:3pt;font-size:8.6pt}.resume__contact a{text-decoration:none}.resume__print-only{list-style:none;display:list-item}.resume__section{padding:7pt 0;display:block}.resume__label{margin-bottom:5pt;font-size:7.5pt}.resume__summary{font-size:9.6pt;line-height:1.42}.resume__entries{gap:7pt}.entry{display:block;position:relative}.entry__dates{padding:0;position:absolute;top:2pt;right:0}.entry__title{padding-right:8rem}.entry__roles{gap:5pt;margin-top:6pt}.entry__dates,.entry__role-dates{font-size:8pt}.entry__title{font-size:11.5pt}.entry__org{font-size:9.5pt}.entry__role{margin-top:6pt;font-size:9.8pt}.entry__points{gap:1.5pt;margin-top:3pt;font-size:9.2pt;line-height:1.33}.entry__list-label{margin-top:5pt;font-size:7.5pt}.entry__tags{gap:0;margin-top:3pt}.entry__tags li{border:0;padding:0;font-size:9pt}.entry__tags li:not(:last-child):after{content:"·";color:var(--ash);margin:0 5pt}.skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:7pt 14pt}.skills__title{margin-bottom:2pt;font-size:9pt}.skills__list{gap:0;font-size:8.6pt;line-height:1.38}.resume__section--split{break-inside:avoid;border-bottom:0;grid-template-columns:2.4fr 1fr;gap:16pt;display:grid}.honors{gap:3pt;margin-top:0}.resume__label--spaced{margin-top:6pt}.honors__name{font-size:8.8pt}.honors__detail{margin-top:0;font-size:8.4pt}a{color:inherit}}
