.resume{max-width:52rem;margin:0 auto;padding:3rem 2rem;background:#fff;color:#1a1f24;font-size:.95rem;line-height:1.5}.resume a{color:#1b5a7a;text-decoration:none}.resume a:hover{text-decoration:underline}.resume header h1{font-size:1.9rem;font-weight:700;letter-spacing:-.01em}.resume header .tagline{color:#4a555c;margin-top:.2rem}.resume header .contact{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:.6rem;font-size:.85rem;color:#4a555c}.resume h2{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#1b5a7a;border-bottom:1px solid #d8dde0;padding-bottom:.25rem;margin:1.6rem 0 .8rem}.resume .role{margin-bottom:1.1rem}.resume .role li{-moz-column-break-inside:avoid;break-inside:avoid}.resume .role .head,.resume .role .org{-moz-column-break-after:avoid;break-after:avoid}.resume{orphans:3;widows:3}.resume .role .head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.resume .role .head h3{font-size:1.02rem;font-weight:650}.resume .role .head .dates{font-size:.85rem;color:#4a555c;white-space:nowrap}.resume .role .org{font-size:.9rem;color:#1b5a7a;font-weight:600}.resume .role ul{margin:.4rem 0 0 1.1rem;padding:0}.resume .role li{margin-bottom:.18rem}.resume .skill-rows{display:grid;gap:.3rem}.resume .skill-row{display:grid;grid-template-columns:10.5rem 1fr;gap:.8rem;align-items:baseline;font-size:.88rem}.resume .skill-label{font-weight:650;color:#333c42}.resume .skill-items{color:#333c42}@media (max-width:560px){.resume .skill-row{grid-template-columns:1fr;gap:.1rem}}.resume .work-list{margin:0;padding:0;list-style:none}.resume .work-list li{margin-bottom:.35rem}.resume-actions{position:fixed;top:1rem;right:1rem;display:flex;gap:.5rem}.resume-print-btn{padding:.5rem 1rem;border-radius:.4rem;border:1px solid #1b5a7a;background:#1b5a7a;color:#fff;font-size:.85rem;cursor:pointer;text-decoration:none}.resume-print-btn.secondary{background:transparent;color:#1b5a7a}.resume-shell{background:#e8eaec;min-height:100vh;padding:2rem 0}@media print{@page{margin:1.5cm}.resume-shell{background:#fff;padding:0}.resume{padding:0;max-width:none;font-size:10.5pt}.resume-actions{display:none}.resume a{color:inherit}.resume h2{margin-top:1.1rem}}