/* Single-sheet résumé with a separate, right-hand document action rail. */
:root{color-scheme:light}
body{margin:0;background:#e9eaed;color:#161b21;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
.site-header{background:#19251f;border:0;min-height:62px;position:relative}
.site-header nav a{color:#e4ede7}
.site-header .brand-copy{color:#e4ede7}
.resume-layout{display:grid;grid-template-columns:minmax(0,900px) 194px;gap:18px;align-items:start;width:min(1150px,calc(100% - 32px));margin:18px auto 22px}
.paper{width:100%;max-width:none;min-width:0;margin:0;padding:43px 49px 38px;background:#fff;box-shadow:0 9px 35px rgba(23,27,32,.12)}
.paper a{color:#114f73;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.paper a:hover{color:#02709a}
.resume-heading{text-align:center;border-bottom:2px solid #253740;padding:0 0 12px}
.resume-heading h1{margin:0;color:#111;font-size:27px;font-weight:700;letter-spacing:.016em;line-height:1.2}
.resume-heading .credentials{font-weight:400}
.resume-heading .identity{font-size:12px;color:#323c43;line-height:1.35;margin:6px 0}
.resume-heading .contact-line{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;font-size:11.5px}
.resume-section{padding:11px 0 0;scroll-margin-top:22px;border:0}
.resume-section h2{margin:0 0 6px;border-bottom:1px solid #a4aeb2;padding-bottom:3px;color:#172730;text-transform:uppercase;letter-spacing:.095em;font-size:12.2px;font-weight:800}
.resume-section p{margin:0;color:#222e35;font-size:12px;line-height:1.4}
.resume-skills strong{color:#192d37}
.resume-entry{margin:0 0 7px;break-inside:avoid;page-break-inside:avoid}
.resume-entry:last-child{margin-bottom:0}
.resume-entry-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.resume-entry h3{margin:0 0 1px;color:#172730;font-size:12.1px;line-height:1.28;font-weight:750}
.resume-entry .field{flex:none;color:#52606a;font-size:10.8px;font-weight:700}
.resume-entry .role-note{font-weight:400;font-size:11px}
.resume-project-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px 17px}
.resume-project{min-width:0;break-inside:avoid;page-break-inside:avoid}
.resume-project h3{margin:0 0 2px;color:#172730;font-size:12px;line-height:1.24}
.resume-project h3 a{text-decoration:none;border-bottom:1px solid #a1b9c6}
.resume-project h3 a:hover{text-decoration:underline}
.resume-project p{font-size:11.5px;line-height:1.35}
.resume-edu{display:flex;justify-content:space-between;align-items:start;gap:10px;margin:0 0 5px;font-size:11.7px;line-height:1.35;break-inside:avoid;page-break-inside:avoid}
.resume-edu:last-child{margin-bottom:0}
.resume-edu .date{flex:none;white-space:nowrap;color:#52606a;font-size:10.6px}
.paper-footer{margin-top:13px;border-top:1px solid #c0c9cd;padding-top:6px;font-size:10px;color:#607079;text-align:center}
.resume-sidebar{position:sticky;top:16px;align-self:start;min-width:0;padding:8px 0;display:flex;flex-direction:column;gap:13px}
.resume-sidebar-intro{font-size:12px;line-height:1.4;color:#4c555b;margin:0}
.resume-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.resume-actions .button{width:100%;min-height:41px;padding:8px 10px;border-radius:6px;text-align:center;white-space:normal;font-size:12px;line-height:1.3}
.resume-actions .button.primary{background:#203d32;color:#fff}
.resume-actions .button.secondary{background:#fff;border:1px solid #bfc6c5;color:#19352a}
.resume-jump-nav{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.resume-jump-nav a{display:block;min-height:36px;padding:10px 11px;border:1px solid #bfc6c5;border-radius:6px;background:#fff;color:#234735;font-size:11.5px;font-weight:700;text-decoration:none}
.resume-jump-nav a:hover{background:#edf3f0;border-color:#789b8a}
.resume-jump-nav a:focus-visible,.resume-actions .button:focus-visible{outline:3px solid #176b90;outline-offset:3px}
.page-footer{color:#6d7378;text-align:center;font-size:12px;padding:0 20px 24px}
.page-footer a{color:#285844}
@media(max-width:980px){.resume-layout{grid-template-columns:minmax(0,1fr) 164px;gap:14px}.paper{padding:34px 31px}}
@media(max-width:720px){.resume-layout{display:flex;flex-direction:column;margin:10px auto 20px;width:calc(100% - 20px);gap:10px}.resume-sidebar{position:static;order:-1;width:100%;padding:0;gap:8px}.resume-sidebar-intro{display:none}.resume-actions{flex-direction:row;flex-wrap:wrap;gap:6px}.resume-actions .button{flex:1 1 auto;width:auto;min-height:38px}.resume-jump-nav{flex-direction:row;flex-wrap:wrap;gap:6px}.resume-jump-nav a{min-height:35px;padding:8px 10px}.paper{padding:29px 25px}.resume-entry-head,.resume-edu{flex-direction:column;gap:1px}.resume-edu .date{display:none}}
@media(max-width:520px){.paper{padding:26px 19px}.resume-heading h1{font-size:22px}.resume-project-grid{grid-template-columns:1fr}.resume-project{margin-bottom:2px}.resume-actions .button{font-size:11px}}
@page{size:letter;margin:0.50in 0.56in}
@media print{
 html,body{background:#fff!important;color:#111!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .site-header,.resume-sidebar,.page-footer{display:none!important}
 main.resume-layout{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 article.paper{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important;border:0!important}
 .resume-heading{padding-bottom:9px}
 .resume-heading h1{font-size:20pt;line-height:1.13}
 .resume-heading .identity{font-size:9.6pt;margin:5px 0;line-height:1.3}
 .resume-heading .contact-line{font-size:8.5pt;gap:10px}
 .resume-section{padding-top:9px!important}
 .resume-section h2{font-size:9.2pt;margin-bottom:5px;padding-bottom:3px;line-height:1.14;break-after:avoid}
 .resume-section p{font-size:9.4pt;line-height:1.33}
 .resume-entry{margin-bottom:6px}
 .resume-entry h3{font-size:9.6pt;line-height:1.2;margin-bottom:2px}
 .resume-entry .field{font-size:8.5pt}
 .resume-entry .role-note{font-size:8.5pt}
 .resume-entry-head,.resume-edu{flex-direction:row!important}
 .resume-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px 14px}
 .resume-project h3{font-size:9.2pt;line-height:1.2;margin-bottom:2px}
 .resume-project p{font-size:9pt;line-height:1.27}
 .resume-edu{font-size:9.2pt;line-height:1.27;margin-bottom:5px}
 .resume-edu .date{font-size:8.3pt}
 .paper-footer{margin-top:10px;padding-top:5px;font-size:7.7pt;line-height:1.1}
 .resume-entry,.resume-project,.resume-edu{break-inside:avoid;page-break-inside:avoid}
 a{color:#0b4567!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
