@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/instrument-serif-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url("/fonts/instrument-serif-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/geist-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Geist"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/geist-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Geist Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/geist-mono-400-normal.woff2") format("woff2"); }

:root {
  --serif: "Instrument Serif", Georgia, serif;
  --sans: "Geist", system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, monospace;
  --ink: #1a1915;
  --muted: #6f6c64;
}
/* Explicit type rules take precedence over the legacy responsive type scale. */
body { font-family: var(--sans); font-weight: 400; font-size: 17px; line-height: 1.6; color: var(--ink); -webkit-font-smoothing: antialiased; }
h1 { font-family: var(--serif) !important; font-weight: 400 !important; font-size: clamp(44px, 6.5vw, 76px) !important; line-height: 1.02 !important; letter-spacing: -0.015em !important; }
h2 { font-family: var(--serif) !important; font-weight: 400 !important; font-size: 34px !important; line-height: 1.1 !important; letter-spacing: -0.01em !important; }
h3 { font-family: var(--sans) !important; font-weight: 500 !important; font-size: 18px !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
p, li { max-width: 62ch !important; }
a { font-weight: 500; text-decoration-thickness: 1px !important; text-underline-offset: 3px !important; }
strong, b { font-weight: 500 !important; }
figcaption, [class*="caption"], .handnote { font-family: var(--serif) !important; font-style: italic !important; font-weight: 400 !important; font-size: 16px !important; color: var(--muted) !important; }
nav a, .year, .date, .photo-number, .section-label, .subsection-label, .article-eyebrow, .article-meta, .article-meta a, .article-byline, .post-back, .monogram-text {
  font-family: var(--mono) !important; font-weight: 400 !important; font-size: 12px !important; line-height: 1 !important; letter-spacing: 0.08em !important; text-transform: uppercase; color: var(--muted) !important;
}
/* Text controls and code use only the three approved families. */
button, input, select, textarea { font-family: var(--sans); }
code, pre, kbd, samp { font-family: var(--mono); }

/* Avoid browser-synthesized heavy faces on semantic table headings. */
th, dt { font-weight: 500; }

/* Homepage content headings use a quieter, more readable sans-serif. */
.timeline-role, .project-pair h2 {
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  font-size: 21px !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}
.career-heading {
  font-family: var(--sans) !important;
  font-weight: 400 !important;
  font-size: 24px !important;
  line-height: 1.4 !important;
  letter-spacing: -0.01em !important;
}

/* Quiet supporting type for the notebook's navigation and reading list. */
.writing-list .date {
  font-family:var(--sans) !important;
  font-size:12px !important;
  line-height:1.5 !important;
  letter-spacing:0 !important;
  text-transform:none;
  white-space:nowrap;
}
.site-header nav a, .site-footer nav a, .contact-links a {
  font-family:var(--sans) !important;
  font-size:13px !important;
  line-height:1.3 !important;
  letter-spacing:0 !important;
  text-transform:none;
}
