@font-face { font-family: ResumeSans; src: url('./assets/dm-sans-latin-400-normal.woff2') format('woff2'); font-weight: 400; }
@font-face { font-family: ResumeSans; src: url('./assets/dm-sans-latin-600-normal.woff2') format('woff2'); font-weight: 600 800; }
@page {
  size: A4;
  margin: 14mm 17mm 16mm;
  @bottom-left { content: 'caerule.com/resume'; font-family: ResumeSans, sans-serif; font-size: 8pt; color: #47616d; }
  @bottom-right { content: counter(page) ' / ' counter(pages); font-family: ResumeSans, sans-serif; font-size: 8pt; color: #47616d; }
}
:root, :root[data-light-mode="lamp"] { color-scheme: light; --ink: #153348; --muted: #47616d; --blue: #175b78; --white: #ffffff; --line: #c5d4da; }
* { box-sizing: border-box; }
html, body { background: white; color: #153348; margin: 0; padding: 0; font-family: ResumeSans, sans-serif; font-size: 11pt; line-height: 1.35; }
.header, .footer, .skip, .resume-actions { display: none !important; }
main, .resume-page, .resume-document { width: auto; max-width: none; border: 0; margin: 0; padding: 0; background: white; }
h1, h2, h3, p, dl { margin: 0; }
a { color: #175b78; text-decoration: none; }
.resume-heading h1 { font-family: ResumeSans, sans-serif; font-size: 27pt; font-weight: 600; line-height: 1.1; margin: 0 0 5pt; }
.resume-role { font-size: 12pt; font-weight: 600; color: #175b78; margin: 0 0 4pt; }
.resume-location { font-size: 9pt; color: #47616d; }
.resume-links { display: block; font-size: 9pt; line-height: 1.4; margin: 5pt 0 0; }
.resume-links a { display: inline; min-height: 0; }
.resume-links > span { padding-inline: 5pt; }
.resume-summary { font-size: 11pt; line-height: 1.4; margin: 10pt 0 0; }
.resume-section { border-top: 1px solid #c5d4da; margin-top: 11pt; padding-top: 8pt; }
.resume-section > h2 { font-family: ResumeSans, sans-serif; font-size: 11pt; font-weight: 600; line-height: 1.3; margin: 0 0 7pt; break-after: avoid; }
.resume-entry { break-inside: avoid; }
.resume-entry + .resume-entry { margin-top: 10pt; }
.resume-entry-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12pt; }
.resume-document h3 { font-family: ResumeSans, sans-serif; font-size: 11pt; font-weight: 600; line-height: 1.35; margin: 0; }
.resume-dates { font-size: 9pt; color: #47616d; white-space: nowrap; }
.resume-context { color: #47616d; font-size: 9pt; margin: 3pt 0 6pt; }
.resume-entry > p:not(.resume-context):not(.resume-links), .resume-section > p { font-size: 11pt; line-height: 1.35; }
.resume-document ul { margin: 6pt 0 0; padding-left: 13pt; }
.resume-document li { font-size: 11pt; line-height: 1.35; padding-left: 2pt; }
.resume-document li + li { margin-top: 4pt; }
.resume-skills > div { display: flex; gap: 10pt; margin: 0 0 3pt; padding: 0; break-inside: avoid; }
.resume-skills dt { width: 59pt; flex-shrink: 0; font-size: 10pt; font-weight: 600; }
.resume-skills dd { margin: 0; font-size: 10pt; line-height: 1.35; }
.resume-projects { break-before: page; margin-top: 0; padding-top: 0; border-top: 0; }
#education, #community, #languages { break-inside: avoid; }
