.resume-wrap{width:min(1120px,calc(100% - 80px));margin:auto}.resume-top{display:flex;justify-content:space-between;align-items:center;padding:32px 0;font-size:14px}.resume-top>a{border-bottom:1px solid}.resume-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center;padding:44px 0 56px}.resume-hero-copy{min-width:0}.resume-portrait{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px;background:#e7e1ef}.resume-label{font:12px/1.5 Arial,sans-serif;letter-spacing:1.5px}.resume-page h1{font:clamp(44px,6vw,76px)/1.2 Anton,sans-serif;margin:24px 0}.resume-page em{font:1.1em/1.3 Playlist,cursive}.resume-deck{font:22px/1.6 Arial,sans-serif;color:#535d72;max-width:720px}.resume-contact{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:32px;font:14px/1.5 Arial,sans-serif}.resume-contact a{border-bottom:1px solid #d6d9e3;overflow-wrap:anywhere}.resume-nav{display:flex;justify-content:center;gap:32px;border-block:1px solid #d6d9e3;padding:20px 0}.resume-nav a{padding:6px 0;border-bottom:1px solid transparent}.resume-nav a:hover,.resume-nav a:focus-visible{border-color:currentColor}.resume-section{padding:64px 0;scroll-margin-top:120px}.resume-section h2{font:clamp(30px,4vw,44px)/1.3 Anton,sans-serif;margin:18px 0 32px}.resume-jobs{display:grid;gap:14px}.resume-job{border:1px solid #d6d9e3;border-radius:22px;background:#f0ede7;overflow:hidden}.resume-job[open]{background:#e7e1ef}.resume-job summary{list-style:none;display:grid;grid-template-columns:1fr auto 24px;gap:24px;align-items:center;padding:26px 30px;cursor:pointer}.resume-job summary::-webkit-details-marker{display:none}.resume-job summary:focus-visible{outline:2px solid #4b1732;outline-offset:-5px;border-radius:22px}.resume-job-title{display:grid;gap:8px}.resume-job-title strong{font:25px/1.25 Anton,sans-serif}.resume-job-title>span{font:16px/1.5 Arial,sans-serif;color:#535d72}.resume-date{font:14px/1.5 Arial,sans-serif;color:#535d72}.resume-toggle{font:28px/1 Arial,sans-serif}.resume-job[open] .resume-toggle{transform:rotate(45deg)}.resume-job-body{padding:0 30px 30px}.resume-location{font:14px/1.5 Arial,sans-serif;margin-bottom:20px;color:#535d72}.resume-description{font:18px/1.75 Arial,sans-serif;color:#535d72;white-space:pre-line;max-width:900px}.resume-education{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.resume-education article{display:flex;gap:24px;padding:28px 0;border-top:1px solid #d6d9e3}.resume-number{font:13px/1.5 Arial,sans-serif;color:#535d72}.resume-education h3{font:23px/1.35 Anton,sans-serif;margin-bottom:14px}.resume-education p{font:15px/1.6 Arial,sans-serif;color:#535d72}.resume-education .resume-date{margin-top:10px}.resume-page .project-actions{padding:0 0 70px}
@media(max-width:760px){.resume-wrap{width:calc(100% - 40px)}.resume-hero{grid-template-columns:1fr;gap:28px;padding:24px 0 36px}.resume-portrait{aspect-ratio:1;max-height:480px}.resume-deck{font-size:19px}.resume-contact{flex-direction:column;align-items:flex-start;gap:12px}.resume-job summary{grid-template-columns:1fr 24px;gap:14px;padding:22px}.resume-job summary>.resume-date{grid-column:1;grid-row:2}.resume-toggle{grid-column:2;grid-row:1}.resume-job-body{padding:0 22px 24px}.resume-description{font-size:17px}.resume-section{padding:44px 0}.resume-education{grid-template-columns:1fr}}

.resume-education .resume-degree-featured{grid-column:1/-1;background:#e7e1ef;border:1px solid #d6d9e3;border-radius:24px;padding:32px;margin-bottom:28px}.resume-degree-featured .resume-label{font:12px/1.5 Arial,sans-serif;letter-spacing:1.5px;color:#131313;margin-bottom:14px}.resume-degree-featured h3{font-size:clamp(26px,3vw,36px)}.resume-degree-featured>div{min-width:0}@media(max-width:760px){.resume-education .resume-degree-featured{padding:24px;gap:18px}}
/* Keep the resume sections accessible beneath the floating header. */
.resume-wrap{--resume-header-offset:100px;--resume-nav-height:76px}
.resume-nav{position:sticky;top:var(--resume-header-offset);z-index:90;isolation:isolate;background:#faf9f6;box-shadow:0 8px 16px -16px rgba(21,21,21,.35)}
.resume-nav::before{content:"";position:absolute;inset:0 calc((100% - 100vw)/2);background:#faf9f6;z-index:-1;pointer-events:none}
.resume-nav a[aria-current]{border-bottom-color:currentColor;font-weight:700}
.resume-section{scroll-margin-top:calc(var(--resume-header-offset) + var(--resume-nav-height) + 20px)}
.resume-pdf-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;border-top:1px solid #d6d9e3;padding-top:72px}
.resume-pdf-copy h2{margin-bottom:24px}
.resume-pdf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}
.resume-pdf-note{font:13px/1.6 Arial,sans-serif;color:#535d72;margin-top:24px}
.resume-pdf-preview{display:block;padding:20px;background:#e7e1ef;border-radius:24px;box-shadow:0 12px 32px rgba(19,19,19,.08)}
.resume-pdf-preview img{display:block;width:100%;height:auto;border-radius:4px}
.resume-pdf-preview:focus-visible{outline:3px solid #535d72;outline-offset:6px}
@media(max-width:760px){.resume-pdf-section{grid-template-columns:1fr;gap:32px;padding-top:40px}.resume-pdf-preview{padding:12px}.resume-pdf-actions{gap:18px}.resume-pdf-copy .resume-deck{font-size:18px}}

/* Bound hero photos independently of their intrinsic image dimensions. */
.resume-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.resume-hero>div{min-width:0}
.hero-portrait-frame{position:relative;width:100%;max-width:420px;aspect-ratio:3/4;margin-inline:auto;overflow:hidden;border-radius:28px;background:#e7e1ef}
.resume-hero .hero-portrait-frame>img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0}
@media(max-width:760px){.resume-hero{grid-template-columns:minmax(0,1fr)}.hero-portrait-frame{max-width:300px}}
