/* Résumé skeleton: single column, real text, standard headings, system fonts for ATS and print fidelity.
 * Deliberately independent of the portfolio theme (no dark background, no web fonts, no images, no tables, no columns). */
:root { --ink: #111; --muted: #444; --rule: #bbb; --accent: #0b6b5e; }
* { box-sizing: border-box; }
html { background: #f4f3ef; }
body { margin: 0; color: var(--ink); font: 10.5pt/1.4 "Helvetica Neue", Arial, Helvetica, sans-serif; }
.draft-note { max-width: 8.5in; margin: 0 auto; padding: 12px 0.6in; font-size: 9pt; color: #6a4b00; }
.draft-note a { color: var(--accent); }
.resume { max-width: 8.5in; min-height: 11in; margin: 0 auto 40px; padding: 0.6in; background: #fff; box-shadow: 0 2px 18px rgb(0 0 0 / 0.08); }
h1 { font-size: 20pt; margin: 0; letter-spacing: 0.01em; }
.r-tagline { margin: 2px 0 0; color: var(--muted); }
.r-contact { margin: 4px 0 0; font-size: 9.5pt; color: var(--muted); }
h2 { font-size: 11pt; text-transform: uppercase; letter-spacing: 0.08em; margin: 16px 0 6px; padding-bottom: 3px; border-bottom: 1px solid var(--rule); color: var(--accent); }
h3 { font-size: 10.5pt; margin: 0; font-weight: 700; }
.r-org { font-weight: 400; }
.r-meta { margin: 1px 0 3px; font-size: 9.5pt; color: var(--muted); }
.r-entry { margin: 0 0 9px; break-inside: avoid; }
ul { margin: 2px 0 0; padding-left: 16px; }
li { margin: 1px 0; }
p { margin: 2px 0; }
@page { size: letter; margin: 0.5in; }
@media print {
  html, body { background: #fff; }
  .screen-only { display: none; }
  .resume { box-shadow: none; padding: 0; margin: 0; min-height: auto; max-width: none; }
  a { color: inherit; text-decoration: none; }
}

.r-contact a, .resume a { color: inherit; }
.pdf-soon { color: #6a4b00; }
@media print { .screen-only { display: none; } }

/* Dreamy Night grade for the printable résumé (screen only): faint lavender and rose light on the page around the sheet;
   the sheet itself stays white and the grade is removed in print */
@media screen {
  html { background: radial-gradient(60% 50% at 85% 0%, rgb(160 120 220 / 0.14), transparent 70%),
                     radial-gradient(55% 45% at 0% 100%, rgb(230 120 150 / 0.10), transparent 70%), #f4f3ef; background-attachment: fixed; }
}

/* screen-only site strip (the same five links as the rest of the site) and a skip link */
.site-strip { max-width: 8.5in; margin: 0 auto; padding: 14px 0.6in 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; font-size: 10pt; }
.site-strip a { color: var(--accent); text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.site-strip a:hover, .site-strip a[aria-current="page"] { text-decoration: underline; text-underline-offset: 3px; }
.site-strip .ss-home { font-weight: 600; }
.site-strip .ss-links { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.skip { position: absolute; left: 8px; top: -60px; padding: 8px 12px; background: #111; color: #fff; z-index: 10; }
.skip:focus { top: 8px; }
@media (max-width: 600px) { .site-strip { padding: 12px 18px 0; } }
/* new official résumé layout: the organisation leads in bold, the plain location follows; the role line is italic */
h3 .r-org { font-weight: 700; }
h3 { font-weight: 700; }
h3:has(.r-org) { font-weight: 400; }
h3 .r-role { font-weight: 700; }
.r-entry > p em .r-role { font-weight: 400; }
.r-entry > h3 + .r-meta + h3 { margin-top: 3px; }
/* dates sit on the organisation line, right-aligned, as on the official PDF (print and wider screens) */
@media print, (min-width: 600px) {
  .r-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: baseline; }
  .r-entry > * { grid-column: 1 / -1; }
  .r-entry > h3 { grid-column: 1; }
  .r-entry > h3 + .r-meta { grid-column: 2; margin: 0; text-align: right; white-space: nowrap; font-weight: 700; color: inherit; font-size: 10pt; }
  .r-entry > h3 + .r-meta + h3 { margin-top: 0; }
}
/* print: one Letter page, like the official PDF */
@page { size: letter; margin: 0.4in 0.5in; }
@media print {
  body { font-size: 9.5pt; line-height: 1.26; }
  h1 { font-size: 17pt; }
  h2 { font-size: 10pt; margin: 9px 0 4px; padding-bottom: 2px; }
  h3, .r-entry > h3 + .r-meta { font-size: 9.5pt; }
  .r-entry { margin: 0 0 5px; }
  li, p { margin: 0; }
}
@media print { .screen-only, .site-strip, .skip { display: none !important; } }
