.resume-content{max-width:960px;font-size:15px;line-height:1.65}.resume-heading{margin-bottom:24px}.resume-heading-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.resume-heading h1{font-size:clamp(30px,3.5vw,40px);font-weight:600;letter-spacing:-.025em;margin-bottom:8px}.resume-download{position:relative;flex-shrink:0}.resume-download summary{cursor:pointer;font-size:13px;gap:14px;padding:9px 14px;background:transparent;list-style:none}.resume-download summary::-webkit-details-marker{display:none}.resume-download-options{position:absolute;right:0;top:calc(100% + 8px);z-index:2;min-width:160px;padding:6px;border:1px solid var(--site-rule);border-radius:6px;background:var(--color-bg-default);box-shadow:0 6px 20px #00000014}.resume-download-options a{display:block;min-height:44px;padding:9px 12px;font-size:14px;text-decoration:none;border-radius:3px}.resume-download-options a:hover{background:var(--color-bg-sidebar)}.resume-contents{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--site-rule);border-bottom:1px solid var(--site-rule);padding:8px 0;font-size:13px}.resume-contents a{padding:6px 0;text-decoration:none}.resume-contents a:hover{text-decoration:underline}.resume-section{margin-top:36px}.resume-section+.resume-section{border-top:1px solid var(--site-rule);padding-top:28px}.resume-section h2{font-size:22px;margin-bottom:24px;scroll-margin-top:28px}.resume-entry{margin-bottom:26px}.resume-entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px}.resume-entry h3{font-size:18px;margin:0 0 6px}.resume-date{flex-shrink:0;font-size:13px;color:var(--site-muted);font-variant-numeric:tabular-nums;margin:0}.resume-role{font-size:15px;margin:0 0 5px;font-weight:500}.resume-context{font-size:13px;color:var(--site-muted);margin:0 0 10px}.resume-project-summary{margin:10px 0;font-weight:500}.resume-entry ul{padding-left:22px;margin:12px 0 0}.resume-entry li{padding-left:3px;margin:5px 0}.resume-tags{display:flex;flex-wrap:wrap;gap:6px 10px;margin:16px 0 0}.resume-tags span{padding:3px 9px;font-size:12px;border:1px solid var(--site-rule);border-radius:4px;color:var(--site-muted)}.resume-skills{margin:0}.resume-skills>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--site-rule)}.resume-skills dt{font-size:14px;font-weight:600}.resume-skills dd{margin:0}@media(max-width:1100px){.resume-entry-heading{display:block}.resume-date{margin-bottom:6px}}@media(max-width:600px){.resume-content{font-size:15px}.resume-heading-row{gap:12px}.resume-heading h1{font-size:28px}.resume-download summary{font-size:12px;padding:8px 10px;gap:6px}.resume-entry h3{font-size:18px}.resume-contents{gap:8px 22px}.resume-contents a{min-height:44px;display:inline-flex;align-items:center}.resume-skills>div{grid-template-columns:1fr;gap:4px}}@media print{.resume-download,.resume-contents{display:none}.resume-content{max-width:none;font-size:10pt;line-height:1.5}.resume-heading h1{font-size:30pt}.resume-section{margin-top:24px}.resume-section h2{font-size:18pt;margin-bottom:16px}.resume-entry{break-inside:avoid;margin-bottom:20px}.resume-entry h3{font-size:13pt}.resume-role,.resume-date,.resume-context{font-size:10pt}.resume-tags span{font-size:8pt}}
