.resume-intro{max-width:850px;padding:68px 0 60px}.resume-intro h1{font-size:clamp(44px,5vw,66px)}.resume-intro h1 span{display:block;font-size:clamp(25px,3vw,38px);line-height:1.25;letter-spacing:-1px;color:var(--blue);margin-top:16px}.resume-intro .description{max-width:690px}.resume-email{display:inline-block;color:var(--accent);margin-top:24px;font-size:16px}.resume-email:hover,.resume-closing a:hover{ text-decoration:underline;text-underline-offset:5px}.resume-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:70px;border-top:1px solid var(--line);padding-top:44px}.resume-sidebar nav{display:grid;gap:14px}.resume-sidebar .eyebrow{margin-bottom:4px}.resume-sidebar nav a{font-size:14px;color:var(--muted)}.resume-sidebar nav a:hover{color:var(--accent)}.resume-sidebar section{margin-top:48px}.resume-sidebar h2{font-size:15px;font-weight:600;margin:0 0 18px}.expertise{list-style:none;padding:0;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.expertise li{margin:0 0 12px}.section-title{font-size:28px;font-weight:500;letter-spacing:-.7px;margin:0 0 30px}.resume-content>section+section{margin-top:48px}.role{padding:0 0 27px;margin:0 0 28px;border-bottom:1px solid var(--line)}.role-date{color:var(--accent);font-size:12px;letter-spacing:.5px;margin:0 0 9px}.role h3{font-size:22px;line-height:1.3;font-weight:550;margin:0 0 7px;letter-spacing:-.3px}.role-company{font-size:16px;line-height:1.6;margin:0 0 14px}.role-company span{display:block;color:var(--muted);font-size:13px}.role ul{padding-left:19px;margin:12px 0 0}.role li,.role>p:not(.role-date):not(.role-company),.section-note{font-size:15px;line-height:1.8;color:var(--muted)}.role li{padding-left:4px;margin-bottom:7px}.role li::marker{color:var(--blue)}.section-note{margin:-14px 0 30px}.resume-closing{display:flex;justify-content:space-between;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:30px 36px;margin:32px 0 42px}.resume-closing p{font-size:24px;margin:0}.resume-closing a{color:var(--accent);overflow-wrap:anywhere}.resume-page footer a:hover{color:var(--text)}
@media(max-width:1050px){.resume-layout{grid-template-columns:200px minmax(0,1fr);gap:36px}}
@media(max-width:760px){.resume-intro{padding:44px 0 38px}.resume-intro h1{letter-spacing:-1.8px}.resume-intro .lead{font-size:18px}.resume-layout{grid-template-columns:1fr;gap:34px;padding-top:28px}.resume-sidebar nav{display:flex;flex-wrap:wrap;gap:12px 20px}.resume-sidebar .eyebrow{width:100%}.resume-sidebar section{margin-top:28px}.expertise{display:flex;flex-wrap:wrap;gap:8px 20px}.expertise li{margin:0}.resume-sidebar{border-bottom:1px solid var(--line);padding-bottom:28px}.section-title{font-size:26px}.role h3{font-size:21px}.resume-closing{align-items:flex-start;flex-direction:column;padding:25px}.resume-page .nav-contact{font-size:13px}}
@media print{@page{margin:16mm}.resume-page{background:white;color:#152033;font-size:10pt}.resume-page .site-wrap{max-width:none;padding:0}.resume-page .header,.resume-sidebar,.resume-closing,.resume-page footer,.resume-page .skip{display:none}.resume-intro{padding:0 0 22px;max-width:none}.resume-intro h1{font-size:30pt;letter-spacing:-1px}.resume-intro h1 span{font-size:17pt;color:#263e5b}.resume-intro .lead{font-size:12pt}.resume-intro .description,.resume-email,.resume-intro .eyebrow{font-size:10pt;color:#263e5b}.resume-layout{display:block;padding-top:20px;border-color:#aaa}.section-title{font-size:17pt;break-after:avoid}.role{break-inside:avoid;border-color:#ccc;margin-bottom:18px;padding-bottom:15px}.role h3{font-size:13pt}.role-date,.role-company,.role-company span,.role li,.role>p:not(.role-date):not(.role-company),.section-note{font-size:10pt;color:#263e5b}.role li::marker{color:#263e5b}.resume-content>section+section{margin-top:25px}}
.document-link{display:table;margin-top:10px;font-size:13px;font-weight:500;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.document-link:hover{color:var(--accent)}.document-open{overflow:hidden}#document-modal{border:0;padding:16px;background:transparent;color:var(--text);width:min(1100px,100%);max-width:100%;max-height:100dvh;overflow:auto}#document-modal::backdrop{background:rgba(3,9,17,.86)}.document-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px}.document-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.document-header h2{font-size:18px;line-height:1.4;font-weight:500;margin:0}.document-close{flex-shrink:0;border:1px solid var(--line);border-radius:4px;background:var(--background);color:var(--text);padding:10px 14px;font:inherit;font-size:14px;cursor:pointer}.document-close:hover{border-color:var(--accent)}.document-close:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.document-close span{margin-left:9px}.document-view{text-align:center;min-height:80px}.document-image{max-width:100%;max-height:72dvh;width:auto;height:auto;object-fit:contain}.document-status{color:var(--muted);font-size:14px}.document-status:empty{display:none}.document-original{display:inline-block;margin-top:16px;color:var(--blue);font-size:13px;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){#document-modal{padding:8px}.document-panel{padding:16px}.document-header{gap:12px}.document-header h2{font-size:16px}.document-close{padding:10px}.document-image{max-height:68dvh}}@media print{#document-modal,.document-link{display:none!important}.document-open{overflow:visible}}
