

* { margin:0; padding:0; box-sizing:border-box; }
html, body { font-family:'DMSans',sans-serif; color:#444444; font-size:16px; line-height:1.7; }

.name {
  font-family:'DMSerif', serif;
  font-size:2.48rem;
  color:#111111;
  font-weight:normal;
  line-height:1.1;
}
.eyebrow {
  font-family:'DMSans', sans-serif;
  font-size:0.76rem;
  color:#715D00;
  text-transform:uppercase;
  letter-spacing:1.2px;
  font-weight:bold;
  margin-top:4px;
}
.accent-bar {
  width:32px; height:3px; background:#FFDD5E; margin:8px 0 10px 0;
}
.contact-line {
  font-size:0.81rem; color:#444444; margin-top:2px;
}
.contact-line a { color:#715D00; text-decoration:none; }

.section-title {
  font-family:'DMSans', sans-serif;
  font-weight:bold;
  font-size:1.1rem;
  color:#111111;
  text-transform:uppercase;
  letter-spacing:0.6px;
  border-bottom:1pt solid #FFDD5E;
  padding-bottom:6px;
  margin-top:28px;
  margin-bottom:12px;
  page-break-after: avoid;
}
.section-title.first { margin-top:20px; }

.profile-text { font-size:1rem; color:#444444; line-height:1.75; }

.skills-grid { width:100%; }
.skills-row { margin-bottom:8px; font-size:0.93rem; line-height:1.6; }
.skills-label { font-weight:bold; color:#111111; }
.skills-value { color:#444444; }

.entry { margin-bottom:20px; page-break-inside: avoid; }
.entry-header {
  display:table; width:100%;
}
.entry-title-block { display:table-cell; vertical-align:top; }
.entry-role {
  font-family:'DMSans', sans-serif;
  font-weight:bold;
  font-size:1.03rem;
  color:#111111;
}
.entry-company {
  font-size:0.93rem;
  color:#715D00;
  font-weight:bold;
}
.entry-date {
  display:table-cell; vertical-align:top; text-align:right;
  font-size:0.86rem; color:#888888; white-space:nowrap; width:110px;
}
.entry-bullets {
  margin-top:8px;
  padding-left:14px;
}
.entry-bullets li {
  font-size:0.93rem; color:#444444; margin-bottom:6px;
  list-style:none; position:relative; padding-left:11px; line-height:1.6;
}
.entry-bullets li:before {
  content:"\2022";
  color:#715D00;
  position:absolute; left:0; top:0;
  font-weight:bold;
}

.project-badge {
  display:inline-block;
  font-size:0.71rem;
  font-weight:bold;
  color:#715D00;
  background:#F9F7F0;
  border:0.6pt solid #715D00;
  padding:1.5px 7px;
  border-radius:8px;
  margin-left:6px;
  text-transform:uppercase;
  letter-spacing:0.4px;
  vertical-align:middle;
}

.earlier-line {
  font-size:0.93rem; color:#444444; margin-bottom:8px; line-height:1.6;
}
.earlier-line b { color:#111111; }

.page-spacer { page-break-before: always; }

.top-bar {
  width:100%; height:8mm; background:#FFDD5E;
  display:table;
  padding:0 15mm;
}
.top-bar-row { display:table-row; }
.top-bar-cell { display:table-cell; vertical-align:middle; height:8mm; }
.top-bar img { height:5mm; width:auto; vertical-align:middle; margin-right:8px; }
.top-bar span { font-family:'DMSans',sans-serif; font-weight:bold; font-size:0.76rem; color:#111111; vertical-align:middle; }

.bottom-bar {
  width:100%; height:12mm; background:#E8E4D8;
  display:table; padding:0 15mm;
}
.bottom-bar-row { display:table-row; }
.bottom-bar-cell { display:table-cell; vertical-align:middle; height:12mm; font-size:0.71rem; color:#888888; }
.bottom-bar-cell.right { text-align:right; }

body { margin:0; padding:0; }

main { padding:15mm; }

@media screen {
  main { max-width: 720px; margin: 0 auto; }
}

@media print {
  .top-bar, .bottom-bar { display: none; }
  main { padding: 0; }
}

.entry-note { font-weight:normal; color:#888; }
