/* austins.cv/resume — "Classic" (design source: mockup board 01).
   Light paper document, Fraunces display + Public Sans text, blue accent.
   Carries a full print stylesheet: open → Ctrl+P → clean two-page PDF. */

:root {
  --paper: #faf8f3;
  --ink: #23272f;
  --ink-head: #1b1f26;
  --ink-body: #3c414b;
  --ink-dim: #5b616c;
  --ink-faint: #8a92a1;
  --accent: #1f4e8c;
  --accent-dark: #163a69;
  --rule: #d9d4c8;
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Public Sans', system-ui, sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--sans); font-size: 15px; line-height: 1.55;
}
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--accent-dark); text-decoration: underline; }

.sheet { max-width: 860px; margin: 0 auto; padding: 40px clamp(20px, 4vw, 32px) 64px; }

.backbar {
  display: flex; justify-content: space-between; gap: 16px;
  margin-bottom: 32px; font-size: 13.5px;
}

.masthead { border-bottom: 3px solid var(--ink); padding-bottom: 28px; }
.masthead h1 {
  margin: 0; font-family: var(--serif); font-weight: 600;
  font-size: clamp(38px, 6vw, 54px); letter-spacing: -0.01em; color: var(--ink-head);
}
.role { margin: 10px 0 0; font-size: clamp(16px, 2.4vw, 19px); color: var(--accent); font-weight: 500; }
.contact { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 16px; font-size: 13.5px; color: var(--ink-dim); }

section { margin-top: 40px; }
h2 {
  margin: 0 0 22px; font-family: var(--serif); font-weight: 600;
  font-size: 22px; color: var(--ink-head);
}

.job { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-bottom: 26px; }
.when { min-width: 132px; font-size: 13px; color: var(--ink-faint); padding-top: 3px; }
.what { flex: 1; min-width: 280px; }
.what h3 { margin: 0; font-weight: 600; font-size: 16px; color: var(--ink); }
.firm { color: var(--accent); }
.where { font-weight: 400; color: var(--ink-faint); }
.what ul { margin: 8px 0 0; padding-left: 18px; color: var(--ink-body); }
.what li { margin: 3px 0; }
.plain { margin: 6px 0 0; color: var(--ink-body); font-size: 14px; }

.twocol { display: flex; flex-wrap: wrap; gap: 36px; margin-top: 44px; }
.col-skills { flex: 2; min-width: 300px; }
.col-edu { flex: 1; min-width: 240px; }
.col-edu h2 + .edu + h2, .col-edu h2:nth-of-type(2) { margin-top: 26px; }
.skills { font-size: 14px; color: var(--ink-body); display: flex; flex-direction: column; gap: 7px; }
.skills b, .edu b, .print-items b { color: var(--ink-head); }
.edu, .print-items { font-size: 14px; color: var(--ink-body); }
.print-items div + div { margin-top: 6px; }

.colophon {
  margin-top: 56px; padding-top: 18px; border-top: 1px solid var(--rule);
  font-size: 12.5px; color: var(--ink-faint);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px;
}
.copyright { width: 100%; text-align: center; margin-top: 10px; font-size: 11.5px; }

/* ---- print ---- */
@page { margin: 16mm 15mm; }
@media print {
  body { background: #fff; font-size: 12.5px; }
  .sheet { max-width: none; padding: 0; }
  .backbar { display: none; }
  .masthead h1 { font-size: 34px; }
  .role { font-size: 15px; }
  section { margin-top: 24px; }
  h2 { font-size: 17px; margin-bottom: 14px; }
  .job { margin-bottom: 14px; break-inside: avoid; }
  .what h3 { font-size: 13.5px; }
  .twocol { margin-top: 26px; break-inside: avoid; }
  .colophon { margin-top: 28px; }
  a { color: var(--ink); text-decoration: none; }
  .firm { color: var(--accent); } /* keep the one accent that carries meaning */
}
