@page {
    size: A4;
    margin: 13mm 14mm;
}

body {
    background: #fff;
    font-size: 10pt;
    line-height: 1.55;
}

.site-nav {
    display: none;
}

.resume {
    margin: 0;
    max-width: none;
    padding: 0;
}

h1 {
    font-size: 20pt;
    letter-spacing: -0.01em;
}

.role {
    font-size: 11pt;
    margin: 2px 0 0;
}

.tagline {
    font-size: 9.5pt;
    margin: 7px 0 0;
}

.contact {
    margin-top: 12px;
    margin-bottom: 4px;
    font-size: 8.5pt;
    line-height: 1.5;
    column-gap: 30px;
    row-gap: 4px;
}

section {
    margin-top: 19px;
    padding-top: 14px;
}

h2 {
    font-size: 11.5pt;
    margin: 0 0 9px;
}

h3 {
    font-size: 10.5pt;
    margin: 14px 0 2px;
}

h3:not(:first-of-type) {
    margin-top: 16px;
}

h3 span {
    font-size: 8pt;
}

h4 {
    font-size: 8.5pt;
    margin: 10px 0 1px;
}

p {
    margin: 2px 0 9px;
}

.roles {
    font-size: 8pt;
    margin: 0 0 3px;
    color: #4B5563;
}

ul {
    margin: 4px 0 9px;
    padding-left: 17px;
}

li {
    line-height: 1.55;
    margin-bottom: 6px;
}

h2,
h3,
h4 {
    break-after: avoid;
    break-inside: avoid;
}

/* Short employment blocks stay whole, so an entry is never orphaned from its employer heading. */
.role-block {
    break-inside: avoid;
}

/* Never strand one or two lines of a paragraph either side of a page break. */
p,
li {
    orphans: 3;
    widows: 3;
}

.roles {
    break-after: avoid;
}

ul,
li {
    break-inside: avoid;
}

a {
    color: #0F766E;
    text-decoration: none;
}
