.resume-page{background:#f5f5f2;min-height:100vh;padding:72px 24px 48px}.resume{color:#111;background:#fff;border-radius:4px;padding:.55in .65in;font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:10pt;line-height:1.42;box-shadow:0 30px 60px -20px #00000040}.resume a{color:inherit;text-decoration:none}.resume .accent{color:#0891b2;text-underline-offset:2px;-webkit-text-decoration:underline #0891b259;text-decoration:underline #0891b259}.resume strong{font-weight:600}.header{text-align:center;margin-bottom:18pt}.name{letter-spacing:.22em;color:#0a0a0a;margin:0;font-family:Gloock,Playfair Display,Georgia,serif;font-size:32pt;font-weight:400;line-height:1}.contact-line{color:#3a3a3a;letter-spacing:.02em;margin-top:9pt;font-size:9pt}.contact-line .dot{color:#0891b2;margin:0 6pt;font-weight:600}.contact-line.links{margin-top:3pt}.contact-line.links a{color:#0891b2;font-weight:500}.contact-line.langs{color:#6a6a6a;margin-top:3pt;font-size:8.5pt;font-style:italic}.rule{opacity:.45;background:linear-gradient(90deg,#0000,#0891b2 30% 70%,#0000);height:1px;margin-top:12pt}.section{margin-top:14pt}.section-title{letter-spacing:.18em;text-transform:uppercase;color:#0a0a0a;border-bottom:1px solid #d8d8d8;margin:0 0 7pt;padding-bottom:4pt;font-family:Gloock,Playfair Display,Georgia,serif;font-size:11.5pt;font-weight:400;position:relative}.section-title:before{content:"·";color:#0891b2;margin-right:5pt;font-weight:600}.project,.role,.edu{break-inside:avoid;margin-top:8pt}.project:first-of-type,.role:first-of-type,.edu:first-of-type{margin-top:4pt}.project-head{justify-content:space-between;align-items:flex-start;gap:12pt;margin-bottom:2pt;display:flex}.project-title{color:#0a0a0a;letter-spacing:-.005em;margin:0;font-family:Inter,sans-serif;font-size:10.5pt;font-weight:600;line-height:1.25}.project-link{color:inherit;border-bottom:1px dotted #0891b2;padding-bottom:1px;text-decoration:none}.project-link:hover{color:#0891b2}.case-link{color:#6a6a6a;letter-spacing:0;font-family:JetBrains Mono,monospace;font-size:7.5pt;font-weight:400;display:none}@media print{.case-link{display:inline}.project-link{border-bottom:none}}.project-meta{color:#585858;letter-spacing:.005em;margin:1pt 0 0;font-size:8.5pt;font-style:italic}.project-date{color:#0891b2;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;padding-top:1pt;font-family:JetBrains Mono,Courier New,monospace;font-size:8pt}.bullets{margin:3pt 0 0;padding:0;list-style:none}.bullets li{color:#1f1f1f;margin-top:2pt;padding-left:12pt;font-size:9.5pt;line-height:1.45;position:relative}.bullets li:before{content:"";background:#0891b2;border-radius:50%;width:3pt;height:3pt;position:absolute;top:5.5pt;left:2pt}.body{color:#1f1f1f;margin:0;font-size:9.5pt;line-height:1.5}.body.tight{color:#2a2a2a;margin-top:2pt;font-size:9.5pt;line-height:1.4}.two-col{grid-template-columns:1.4fr 1fr;gap:22pt;display:grid}.two-col .col{min-width:0}.cert-list{margin:4pt 0 0;padding:0;list-style:none}.cert-list li{border-bottom:1px dotted #d8d8d8;justify-content:space-between;align-items:baseline;gap:10pt;padding:3pt 0;font-size:9.5pt;display:flex}.cert-list li:last-child{border-bottom:none}.cert-date{color:#0891b2;letter-spacing:.08em;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:8pt}.skills{grid-template-columns:110pt 1fr;gap:3pt 14pt;margin:4pt 0 0;font-size:9.25pt;line-height:1.45;display:grid}.skills dt{color:#0891b2;text-transform:uppercase;letter-spacing:.12em;padding-top:1pt;font-family:JetBrains Mono,monospace;font-size:8.25pt}.skills dd{color:#1f1f1f;margin:0}.foot{color:#7a7a7a;letter-spacing:.04em;border-top:1px solid #d8d8d8;justify-content:space-between;margin-top:18pt;padding-top:8pt;font-size:8pt;display:flex}@page{size:letter;margin:0}@media print{.resume-page{background:#fff;padding:0}.resume{box-shadow:none;border-radius:0;width:100%;max-width:none;padding:.45in .55in}.print\:hidden{display:none!important}.resume a{color:#0a0a0a}.resume .accent{color:#0891b2}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
