/* CV page: a quiet, text-led layout that also prints cleanly to A4. */
.cv { max-width: 780px; margin: 0 auto; padding: 0 16px 64px; }
.cv h1 { font-size: clamp(2rem, 6vw, 2.75rem); margin-bottom: 4px; }
.cv .role { font-size: 1.125rem; margin: 0 0 8px; }
.cv .contact { color: var(--muted); font-size: 0.9375rem; margin: 0 0 24px; }
.cv .contact a { color: inherit; }
.cv .actions { margin: 0 0 32px; font-size: 0.9375rem; }

.cv section { border-top: 1px solid var(--rule); padding: 24px 0 8px; margin: 0; }
.cv section:first-of-type { margin-top: 0; }
.cv h2 { margin-bottom: 16px; }

.cv .entry {
    display: grid;
    grid-template-columns: 9.5rem 1fr;
    gap: 4px 24px;
    margin-bottom: 18px;
}
.cv .when { color: var(--muted); font-size: 0.9375rem; }
.cv .what h3 { font: 600 1.0625rem/1.35 var(--sans); color: var(--fg); margin: 0 0 2px; }
.cv .what .where { color: var(--muted); font-size: 0.9375rem; margin: 0 0 4px; }
.cv .what p { margin: 0 0 6px; font-size: 0.9688rem; }
.cv .what ul { margin: 4px 0 0; padding-left: 1.1rem; font-size: 0.9688rem; }
.cv .what li { margin-bottom: 3px; }
.cv .plain-list { list-style: none; padding: 0; margin: 0; }
.cv .plain-list li { margin-bottom: 10px; font-size: 0.9688rem; }
.cv .updated { color: var(--muted); font-size: 0.875rem; margin-top: 24px; }

@media (max-width: 620px) {
    .cv .entry { grid-template-columns: 1fr; gap: 0; }
    .cv .when { margin-bottom: 2px; }
}

@media print {
    @page { size: A4; margin: 14mm 15mm 15mm; }
    :root { --bg: #fff; --fg: #111; --muted: #555; --rule: #cfcfcf; --link: #111; --heading: #111; --accent-text: #444; }
    html { font-size: 10.5pt; }
    body { background: #fff; color: #111; border-top: 0 !important; border-image: none !important; font-size: 10pt; line-height: 1.4; }
    .cv { max-width: none; padding: 0; }
    .cv .actions, .skip { display: none !important; }
    .cv a { color: #111; text-decoration: none; }
    .cv .entry { grid-template-columns: 38mm 1fr; gap: 0 5mm; break-inside: avoid; margin-bottom: 6.5pt; }
    .cv section { break-inside: auto; padding-top: 8pt; }
    .cv h1 { font-size: 24pt; }
    .cv h2 { font-size: 8.5pt; margin-bottom: 8pt; }
    .cv .when, .cv .what .where, .cv .contact { font-size: 9.5pt; }
    .cv .what h3 { font-size: 10.5pt; }
    .cv .what p, .cv .what ul, .cv .plain-list li { font-size: 9.6pt; }
}
