@font-face {
  font-family: "Fraunces";
  src: url("../assets/fonts/fraunces.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Sans 3";
  src: url("../assets/fonts/source-sans-3.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("../assets/fonts/ibm-plex-mono.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #1a1814;
  --muted: #4e4942;
  --line: #d9d0c2;
  --field: #122e29;
  --paper: #f7f4ee;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #e7e1d6;
  color: var(--ink);
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  font-size: 10.4pt;
  line-height: 1.38;
}
.screen-bar {
  width: min(8.5in, calc(100% - 1.5rem));
  margin: 1rem auto 0;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  font-size: 0.95rem;
}
.screen-bar a { color: var(--field); }
.sheet {
  width: min(8.5in, calc(100% - 1.5rem));
  margin: 0.8rem auto 2rem;
  background: white;
  padding: 0.62in 0.68in 0.7in;
  box-shadow: 0 18px 50px rgba(20, 24, 20, 0.12);
}
header h1 {
  font-family: Fraunces, Georgia, serif;
  font-weight: 560;
  font-size: 26pt;
  letter-spacing: -0.03em;
  margin: 0;
  line-height: 1;
}
.headline { margin: 0.15rem 0 0; font-size: 11pt; }
.contact {
  margin: 0.35rem 0 0;
  color: var(--muted);
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 8.4pt;
}
h2 {
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 8.2pt;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--field);
  border-top: 1.5px solid var(--field);
  padding-top: 0.28rem;
  margin: 0.85rem 0 0.4rem;
  font-weight: 500;
}
h3 { font-size: 10.6pt; margin: 0.45rem 0 0; }
.role-line, .meta { margin: 0; }
.role-line { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
.meta { color: var(--muted); font-size: 9pt; }
ul { margin: 0.15rem 0 0.15rem 1.05rem; padding: 0; }
li { margin: 0.08rem 0; }
p { margin: 0.2rem 0; }
.creds { columns: 2; column-gap: 1.1rem; margin: 0; padding: 0; list-style: none; }
.creds li { break-inside: avoid; margin: 0 0 0.28rem; font-size: 9pt; }
.creds strong { font-weight: 650; }
.job { break-inside: avoid; margin-bottom: 0.35rem; }
a { color: inherit; }

@page { size: letter; margin: 0.5in 0.58in; }
@media print {
  body { background: white; }
  .screen-bar { display: none; }
  .sheet { width: auto; margin: 0; padding: 0; box-shadow: none; }
  a { text-decoration: none; }
}
@media (max-width: 720px) {
  .creds { columns: 1; }
  .role-line { flex-direction: column; gap: 0; }
  .sheet { padding: 1.1rem; }
}
