.cv-page { max-width:950px;margin:0 auto;padding:50px 6vw 90px; }
.cv-back { display:inline-block;margin-bottom:35px; }
.cv-page h1 { font-size:clamp(2.4rem,6vw,4rem);font-weight:400;letter-spacing:-.04em;margin:12px 0 20px; }
.cv-contact { display:flex;flex-wrap:wrap;gap:12px 28px;font-style:normal; }
.cv-contact a { overflow-wrap:anywhere;min-height:44px; }
.cv-section { margin-top:42px;padding-top:20px;border-top:1px solid #d7d2c9; }
.cv-section h2 { font-size:1.6rem;font-weight:400;margin:0 0 25px; }
.cv-entry { margin-bottom:28px;line-height:1.6; }
.cv-entry-heading { display:flex;align-items:baseline;justify-content:space-between;gap:16px; }
.cv-entry h3 { margin:0;font-size:1rem;font-weight:600; }
.cv-year { margin:0;white-space:nowrap;font-variant-numeric:tabular-nums; }
.cv-organization { margin:4px 0 8px; }
.cv-entry ul { padding-left:20px;margin:8px 0; }
.cv-entry li { margin:4px 0; }
@media(max-width:600px) { .cv-entry-heading { display:block; }.cv-year { margin-top:4px; }.cv-page { padding-top:28px; } }
@media print { .portfolio-header,.portfolio-footer,.skip-link,.cv-back { display:none!important; }.cv-page { max-width:none;padding:0; }.cv-page h1 { font-size:28pt; }.cv-section { margin-top:22px; }.cv-entry { break-inside:avoid; }.cv-page a { color:inherit;text-decoration:none; }@page { margin:18mm; } }
