.resume-header{padding:3.2rem 0 1.5rem;background:linear-gradient(115deg,rgba(70,38,120,.18),transparent 55%);border-bottom:1px solid var(--border)}
.resume-header-grid{display:grid;grid-template-columns:1fr 290px;gap:4rem;align-items:end}.resume-header h1{margin-bottom:1rem}.resume-summary{max-width:760px;color:var(--muted);font-size:1.04rem}.resume-contact{display:grid;gap:.35rem;margin:0;padding-left:1.2rem;border-left:1px solid var(--border);font-style:normal}.resume-contact a{color:var(--purple-bright)}
.resume-actions{display:flex;gap:1.4rem;padding-top:1.7rem}.resume-actions a{color:#ddd8e8;text-decoration:none;font:700 .84rem ui-monospace,monospace}.resume-actions a:hover{text-decoration:underline;color:#fff}
.resume-document{padding-bottom:4rem}.resume-block{display:grid;grid-template-columns:180px 1fr;gap:3rem;padding:3rem 0;border-bottom:1px solid var(--border)}.resume-label .eyebrow{position:sticky;top:90px}.resume-content{min-width:0}.resume-job{padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--border)}.resume-job:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.resume-job header,.resume-extra header{display:flex;justify-content:space-between;gap:1.5rem}.resume-job h2{font-size:1.3rem;margin-bottom:.2rem;letter-spacing:-.015em}.resume-job header p{color:var(--purple-bright);margin:0}.resume-job time,.resume-extra time{color:var(--muted);white-space:nowrap}.resume-job ul{padding-left:1.2rem;margin:1rem 0}.resume-job li{color:var(--muted);margin:.5rem 0}
.resume-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.resume-section-heading h2{font-size:1.3rem;margin:0}.resume-project-list article{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--border)}.resume-project-list h3{margin-bottom:.15rem}.resume-project-list p{margin:0;color:var(--muted);font-size:.88rem}.resume-project-list article>a{align-self:center;color:var(--purple-bright);white-space:nowrap;text-decoration:none;font-weight:700}.resume-project-list article>a:hover{text-decoration:underline}
.resume-education{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--border)}.resume-education:first-of-type{border-top:0;padding-top:0}.resume-education h3{margin-bottom:.2rem}.resume-education p{margin:0;color:var(--muted)}.resume-education>div:last-child{display:flex;flex-direction:column;text-align:right;color:var(--muted);white-space:nowrap}
.resume-skills{margin:0}.resume-skills>div{display:grid;grid-template-columns:160px 1fr;padding:1rem 0;border-top:1px solid var(--border)}.resume-skills>div:first-child{border-top:0;padding-top:0}.resume-skills dt{color:var(--purple-bright)}.resume-skills dd{margin:0;color:var(--muted)}
.resume-extra{padding:1rem 0;border-top:1px solid var(--border)}.resume-extra:first-of-type{border-top:0;padding-top:0}.resume-extra h3{margin-bottom:.35rem}.resume-extra p{color:var(--muted);margin:0}.resume-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem 0}.resume-footer h2{font-size:1.55rem;margin:0}.resume-footer>div:last-child{display:flex;gap:.7rem}.secondary-button{background:transparent}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.resume-header-grid{grid-template-columns:1fr;gap:1.5rem}.resume-contact{padding-left:0;border-left:0}.resume-block{grid-template-columns:1fr;gap:1rem}.resume-label .eyebrow{position:static}.resume-job header,.resume-extra header{flex-direction:column;gap:.2rem}.resume-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.resume-header{padding-top:2.4rem}.resume-actions{flex-direction:column;gap:.6rem}.resume-project-list article,.resume-education,.resume-section-heading{align-items:flex-start;flex-direction:column}.resume-education>div:last-child{text-align:left}.resume-skills>div{grid-template-columns:1fr;gap:.35rem}.resume-footer>div:last-child{flex-wrap:wrap}}
