/* ===========================================================================
   paul.santillan.io — résumé
   Typeset as a leaf from the First American Edition of Newton's "Principia"
   (Daniel Adee, New York, 1846): aged tan stock, a Scotch/transitional serif
   set justified with first-line indents, proper names in small capitals,
   centered rule-underlined headings, a graded title-page masthead. Honest book
   typography — distinguished, not a costume. No running heads, no Latin props.
   ========================================================================= */

:root {
  --paper:     #f5f3ee;   /* clean paper-white cardstock */
  --ink:       #1b1b18;   /* black letterpress ink       */
  --ink-soft:  #38382f;
  --ink-faint: #777268;
  --rule:      #1b1b18;
  --rule-soft: #cbc6ba;
  --measure:   640px;     /* book measure                */
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: "Libre Baskerville", Georgia, "Times New Roman", serif;
  font-size: 15.5px;
  line-height: 1.72;
  text-rendering: optimizeLegibility;

  background-color: var(--paper);
  /* clean cardstock: a soft cool-neutral fiber tooth, no aging, no vignette */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='felt'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.10 0 0 0 0 0.10 0 0 0 0 0.09 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23felt)'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.04'/%3E%3C/svg%3E");
  background-attachment: fixed;
  padding: clamp(1.5rem, 5vw, 4rem) 1rem;
}

.plate {
  max-width: var(--measure);
  margin: 0 auto;
  padding: clamp(2.25rem, 6vw, 4.5rem) clamp(1.5rem, 6vw, 3.5rem);
}

/* small capitals — proper names, run-in headings, the book's emphasis */
.sc { font-variant: all-small-caps; letter-spacing: .04em; }

/* =====================================================================
   TITLE-PAGE MASTHEAD
   ===================================================================== */
.titlepage { text-align: center; margin-bottom: clamp(2rem, 6vw, 3.25rem); }

/* the name, flanked left and right by a rule (after "NEWTON'S PRINCIPIA.") */
.title-flank { display: flex; align-items: center; gap: 1.1rem; justify-content: center; }
.title-flank::before, .title-flank::after {
  content: ""; height: 1px; background: var(--rule); flex: 1; max-width: 70px;
}
.wordmark {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  font-size: clamp(2rem, 7vw, 3.05rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.05;
  margin: 0;
  padding-left: .06em;
  white-space: nowrap;
}

.role {
  font-family: "Playfair Display", serif;
  font-weight: 500;
  font-size: clamp(1.05rem, 3.4vw, 1.32rem);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 1.25rem 0 .55rem;
  padding-left: .18em;
}
.credentials {
  font-size: .78rem; letter-spacing: .04em; color: var(--ink-faint);
  font-variant: all-small-caps; margin: 0 0 1.4rem;
}

/* the separator rule pair beneath the title block */
.rule-major {
  border: 0; height: 0; width: min(280px, 70%);
  border-top: 1px solid var(--rule); border-bottom: 2.5px solid var(--rule);
  padding-top: 2.5px; margin: 0 auto 1.3rem;
}

.imprint {
  list-style: none; margin: 0; padding: 0;
  font-size: .82rem; letter-spacing: .03em; color: var(--ink-soft);
  font-variant: all-small-caps; line-height: 1.95;
}
.imprint a { color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--rule); }
.imprint a:hover { color: var(--ink); }

/* =====================================================================
   BODY — set like the book interior
   ===================================================================== */
section { margin-top: clamp(1.9rem, 5vw, 2.7rem); }

/* centered heading with a rule directly underneath (book chapter head) */
h2 {
  font-family: "Playfair Display", serif;
  font-weight: 600;
  font-size: .96rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ink);
  text-align: center;
  margin: 0 auto 1.5rem;
  width: fit-content;
  padding: 0 .6rem .35rem;
  border-bottom: 1.5px solid var(--rule);
}

/* opening summary — justified, with a small-caps incipit */
.lead { text-align: justify; hyphens: auto; margin: 0; }
.lead .incipit { font-variant: all-small-caps; letter-spacing: .04em; }

.entry { margin-bottom: 1.15rem; }
.entry:last-child { margin-bottom: 0; }
.entry-head {
  display: flex; flex-wrap: wrap; justify-content: space-between;
  align-items: baseline; gap: 0 .9rem;
}
.entry-title {
  font-weight: 700; font-size: 1rem; line-height: 1.3; color: var(--ink); margin: 0;
}
.entry-title .at { font-weight: 400; font-variant: all-small-caps; letter-spacing: .04em; }
.entry-meta { font-style: italic; font-size: .82rem; color: var(--ink-faint); white-space: nowrap; }
.entry > p { text-align: justify; hyphens: auto; margin: .3rem 0 0; }

/* achievements — justified, hanging indent, em-dash lead (no bullets) */
.entry ul { margin: .35rem 0 0; padding: 0; list-style: none; }
.entry li {
  text-align: justify; hyphens: auto; color: var(--ink-soft);
  padding-left: 1.2em; text-indent: -1.2em; margin: .12rem 0;
}
.entry li::before { content: "—\00a0"; color: var(--ink-faint); }

p { margin: .45rem 0; color: var(--ink-soft); }

/* skills as run-in paragraphs with small-caps side headings (book style) */
.skills { margin: 0; }
.skills p { text-align: justify; hyphens: auto; margin: .2rem 0; color: var(--ink-soft); }
.skills .run-in { font-variant: all-small-caps; letter-spacing: .05em; color: var(--ink); font-weight: 700; }

a { color: var(--ink); }

.colophon {
  margin-top: clamp(2.4rem, 6vw, 3.5rem); padding-top: 1.1rem;
  text-align: center;
  font-size: .78rem; letter-spacing: .05em; color: var(--ink-faint);
  font-variant: all-small-caps;
}
.colophon::before {
  content: ""; display: block; width: 46px; height: 1px;
  background: var(--rule-soft); margin: 0 auto 1.1rem;
}
.colophon .dl { display: block; margin-top: .55rem; }
.colophon .dl a { color: var(--ink-faint); text-decoration: none; border-bottom: 1px solid var(--rule-soft); }
.colophon .dl a:hover { color: var(--ink); }
@media print { .colophon .dl { display: none; } }

@media (max-width: 560px) {
  .entry-meta { white-space: normal; }
  .wordmark { white-space: normal; }
}

@media print {
  body { background: #fff; padding: 0; }
  .plate { max-width: none; padding: 0; }
  a { color: #000; }
  .entry { break-inside: avoid; }
}
