/* The CV and about pages on screen (P2-T02). Logical properties only, so one file serves
   both directions; colours are the theme's tokens (P2-T10); print rules are the theme's print.css. */
.pf-about, .pf-cv { max-inline-size: 52rem; margin-inline: auto; }
.pf-about-bio { margin-block: 1.5rem; }
.pf-about-cv, .pf-cv-printlink { margin-block: 1rem; }
.pf-cv-title { margin-block: 1.5rem 0.5rem; }
.pf-cv-section { margin-block: 1.5rem; break-inside: auto; }
.pf-cv-section h3 { font-size: 1.15rem; border-block-end: 1px solid var(--pf-border); padding-block-end: 0.25rem; }
.pf-cv-entries { list-style: none; margin: 0; padding: 0; }
.pf-cv-entry { display: grid; grid-template-columns: 10rem 1fr; gap: 0.25rem 1rem; margin-block: 0.75rem; break-inside: avoid; }
.pf-cv-when { color: var(--pf-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pf-cv-what { display: flex; flex-direction: column; }
.pf-cv-org, .pf-cv-loc { color: var(--pf-muted); }
.pf-cv-desc { margin-block: 0.25rem 0; }
.pf-cv-printhelp { border: 1px solid var(--pf-border); padding: 0.75rem 1rem; margin-block: 1rem; background: var(--pf-surface); }
@media (max-width: 40rem) {
    .pf-cv-entry { grid-template-columns: 1fr; }
}
/* The print frame of /cv?print=1 (A2-6): its footer row (name and site address) shows on paper only. */
.pf-cv-frame { width: 100%; border-collapse: collapse; }
.pf-cv-frame > tbody > tr > td { padding: 0; }
@media screen { .pf-cv-frame > tfoot { display: none; } }
