/* Shared site stylesheet.
   Used by the generated CV page (inlined via --embed-resources) and the
   landing page (linked as site/web.css, copied by `make web`). Keeping the
   site chrome here is what keeps titles and type identical across pages. */

:root { color-scheme: light; }
* { box-sizing: border-box; }

body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16.5px;
  line-height: 1.65;
  color: #1f2328;
  margin: 0;
  max-width: 46rem;
  margin-inline: auto;
  padding: 2.5rem 1.25rem 4rem;
}

a { color: #0969da; }
p { margin: 0.3rem 0 0.8rem; }
em { color: #57606a; }
ul { margin: 0.3rem 0 1rem; }

/* ---- shared contact header (landing page + CV page) ---- */
header.contact { text-align: center; margin-bottom: 2rem; }
header.contact h1 { font-size: 2.5rem; margin: 0 0 0.25rem; }
header.contact .subtitle { font-size: 1.15rem; font-weight: 600; color: #57606a; margin: 0 0 0.4rem; }
header.contact .meta { color: #57606a; font-size: 0.95rem; margin: 0; }
header.contact .meta a { color: #0969da; text-decoration: none; }

/* ---- section headings: CV major sections (main h1) + landing sections (section h2) ---- */
main h1,
section h2 {
  font-size: 1.15rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #57606a;
  margin: 2.2rem 0 0.6rem;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #d0d7de;
}

/* CV entry headings */
main h2 { font-size: 1.1rem; margin: 1.4rem 0 0.2rem; }

/* back-to-home link (web only; print.css hides .no-print) */
.back { margin: 0 0 1rem; font-size: 0.95rem; }
.back a { text-decoration: none; }

/* print-subset sections still show on the web */
.no-print { display: block; }
