.resume-root{background:#ffffff;min-height:100vh}.resume-page{max-width:8.5in;margin:0 auto;padding:.6in .7in .7in;background:#ffffff;color:#111111;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:10.5pt;line-height:1.45}.resume-page h1{font-size:24pt;font-weight:700;letter-spacing:.02em;margin:0}.resume-page .title{font-size:13pt;font-weight:600;margin:4px 0 6px;color:#222}.resume-page .contact{font-size:9.5pt;color:#444;margin:0}.resume-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.resume-print-button{display:inline-flex;align-items:center;gap:8px;background:#111111;color:#ffffff;border:1px solid #111111;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:9.5pt;font-weight:500;cursor:pointer;transition:background .15s ease,transform .15s ease}.resume-print-button:hover{background:#2a2a2a;transform:translateY(-1px)}.resume-print-button:focus-visible{outline:2px solid #1E5BFF;outline-offset:2px}.resume-header{border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:14px}.resume-page h2{font-size:11.5pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #111;padding-bottom:3px;margin:14px 0 8px}.resume-page section{margin-bottom:14px}.resume-page li,.resume-page p{margin:0 0 4px}.resume-page article{margin-bottom:12px}.resume-page .role-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:2px}.resume-page .resume-line-brand,.resume-page .role-brand{display:inline-flex;align-items:center;gap:8px}.resume-page .resume-logo-frame,.resume-page .resume-logo-inline{display:inline-grid;place-items:center;overflow:hidden;border:1px solid #d9d9d9;background:#ffffff;vertical-align:middle}.resume-page .resume-logo-frame{width:28px;height:28px;border-radius:6px;padding:3px}.resume-page .resume-logo-inline{width:18px;height:18px;border-radius:4px;padding:2px;margin-right:6px}.resume-page .resume-logo-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.resume-page .role-head strong{font-size:11pt}.resume-page .role-head span{font-size:9.5pt;color:#555;font-style:italic;white-space:nowrap}.resume-page .role-intro{font-size:10pt;color:#444;margin-bottom:6px}.resume-page ul{margin:0;padding-left:18px}.resume-page ul.plain{list-style:none;padding-left:0}.resume-page ul.plain li{padding-left:12px;position:relative}.resume-page ul.plain li:before{content:"•";position:absolute;left:0;color:#888}.resume-page .project{font-size:10pt}.resume-page .skill-block{margin:0;display:grid;grid-template-columns:200px 1fr;gap:4px 14px}.resume-page .skill-block dt{font-weight:600;font-size:10pt}.resume-page .skill-block dd{margin:0;font-size:10pt}.resume-page .comma-list{font-size:10pt}@media screen and (max-width:720px){.resume-root{overflow-x:hidden}.resume-page{width:100%;max-width:100%;padding:24px 18px 32px}.resume-page h1{font-size:21pt}.resume-page .comma-list,.resume-page .contact,.resume-page dd,.resume-page li,.resume-page p{overflow-wrap:anywhere}.resume-page .role-head{flex-direction:column;align-items:flex-start;gap:2px}.resume-page .role-head span{white-space:normal}.resume-page .resume-line-brand,.resume-page .role-brand{align-items:flex-start}.resume-page .skill-block{grid-template-columns:1fr;gap:2px}.resume-page .skill-block dd{margin-bottom:7px}}@media print{.resume-toolbar{display:none}.resume-page,.resume-root,body{background:#ffffff!important;color:#000000!important}.resume-page{padding:.4in .5in;font-size:9.5pt}.resume-page h1{font-size:20pt}.resume-page h2{font-size:10.5pt}.resume-page article,.resume-page section{-moz-column-break-inside:avoid;break-inside:avoid}}