/* DELTA Water Lab CV.
 * Web (/cv/): sits inside the theme and borrows its tokens; the fallbacks are the same values.
 * Print (/cv/?cv=print → PDF): a formal academic CV — serif, black ink, dates flush right. */
@font-face{font-family:"CV Newsreader";src:url(newsreader-var-latin.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:block}
@font-face{font-family:"CV Newsreader";src:url(newsreader-italic-var-latin.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:block}
@font-face{font-family:"CV Plex";src:url(ibm-plex-sans-var-latin.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:block}
@font-face{font-family:"CV Plex";src:url(plex-arrows.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:block;unicode-range:U+2190-2193,U+2196-2199}

/* ---------- web ---------- */
.cv{
 --cv-ink:var(--color-ink,oklch(24% .015 65));--cv-muted:var(--color-muted,oklch(45% .016 65));
 --cv-rule:var(--color-rule,oklch(76% .018 80));--cv-accent:var(--color-accent,oklch(44% .115 30));
 --cv-display:var(--font-display,"CV Newsreader",Georgia,serif);--cv-body:var(--font-body,"CV Plex",Arial,sans-serif);
 max-width:58rem;color:var(--cv-ink);font-family:var(--cv-body);font-size:1rem;line-height:1.5
}
.cv p{margin:0;max-width:none}
.cv a{color:inherit;text-decoration-color:var(--cv-rule);text-underline-offset:.2em}
.cv a:hover{text-decoration-color:currentColor}

.cv-head{padding-block:var(--space-xl,2rem) 1.25rem;border-bottom:1px solid var(--cv-ink)}
.cv-name{font-family:var(--cv-display);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:500;line-height:1.05;letter-spacing:-.01em;margin:0 0 .85rem}
.cv-contact{font-size:.9375rem;color:var(--cv-muted)}
.cv-contact p+p{margin-top:.15rem}
.cv-updated{margin-top:.85rem!important;font-size:.8125rem;color:var(--cv-muted)}
.cv-download{margin-top:.75rem!important}

.cv-section{margin-top:2.5rem}
.cv-section>h2{font-family:var(--cv-body);font-size:.8125rem;font-weight:600;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--cv-accent);margin:0 0 .9rem;padding-bottom:.45rem;border-bottom:1px solid var(--cv-rule);break-after:avoid}
.cv-text{max-width:72ch!important}
.cv-section>.cv-text+*{margin-top:.75rem}

.cv-group+.cv-group{margin-top:1.25rem}
.cv-group>h3{font-family:var(--cv-body);font-size:.9375rem;font-weight:600;margin:0 0 .3rem;break-after:avoid}
/* Body left, date flush right: every entry starts at the same left edge. */
.cv-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"body date";column-gap:2rem;align-items:baseline;padding-block:.28rem;break-inside:avoid}
.cv-date{grid-area:date;text-align:right;white-space:nowrap;color:var(--cv-muted);font-size:.9375rem;font-variant-numeric:tabular-nums}
.cv-body{grid-area:body}
.cv-undated{grid-template-columns:minmax(0,1fr);grid-template-areas:"body"}
.cv-undated .cv-date{display:none}
.cv-line strong{font-weight:600}
.cv-desc{margin-top:.15rem;color:var(--cv-muted);font-size:.9375rem;max-width:72ch}
.cv-desc p{max-width:none}
.cv-desc p+p,.cv-desc p+ul,.cv-desc ul+p{margin-top:.3rem}
.cv-desc ul{margin:0;padding-left:1.1em}
.cv-desc li+li{margin-top:.1rem}
.cv-inline-list{max-width:72ch!important}

.cv-stat{font-size:.875rem;color:var(--cv-muted);margin-bottom:.6rem!important}
.cv-pubs{margin:0;padding-left:2.4rem}
.cv-pubs li{padding:.3rem 0 .3rem .3rem;break-inside:avoid}
.cv-pubs li::marker{color:var(--cv-muted);font-variant-numeric:tabular-nums;font-size:.875em}
.cv-pubs a{color:var(--cv-muted);overflow-wrap:anywhere}
.cv-self{font-weight:650}
.cv-note{color:var(--cv-accent);font-weight:600}
.cv sup,.cv sub{font-size:.7em;line-height:0}

@media (max-width:640px){
 .cv-entry{grid-template-columns:minmax(0,1fr);grid-template-areas:"date" "body";padding-block:.45rem}
 .cv-date{text-align:left;font-size:.8125rem}
 .cv-pubs{padding-left:1.9rem}
}

/* ---------- print → PDF: formal academic CV ---------- */
.cv-print{font-size:10.5pt}
.cv-print-body{margin:0;background:#fff;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cv-print-body .cv{--cv-ink:#111;--cv-muted:#333;--cv-rule:#111;--cv-accent:#111;--cv-body:"CV Newsreader",Georgia,serif;--cv-display:"CV Newsreader",Georgia,serif;
 max-width:none;font-size:1rem;line-height:1.3;font-variant-numeric:lining-nums;font-optical-sizing:auto}
.cv-print-body .cv a{text-decoration:none;color:inherit}

.cv-print-body .cv-head{text-align:center;padding:0 0 .2rem;border:0}
.cv-print-body .cv-name{font-size:20pt;font-weight:600;letter-spacing:.02em;line-height:1.1;margin:0 0 .35rem}
.cv-print-body .cv-contact{font-size:.95rem;color:#111}
.cv-print-body .cv-contact p{display:inline;margin:0}
.cv-print-body .cv-contact p+p::before{content:"\00a0\00a0|\00a0\00a0";color:#555}
.cv-print-body .cv-updated{display:none}
.cv-print-body .cv-contact p.cv-weblinks{display:block;margin-top:.1rem}
.cv-print-body .cv-contact p.cv-weblinks::before{content:none}
.cv-print-body .cv-sep{font-size:0}
.cv-print-body .cv-sep::before{content:"\00a0\00a0|\00a0\00a0";font-size:.95rem;color:#555}
.cv-print-body .cv-contact a{white-space:nowrap}

.cv-print-body .cv-section{margin-top:1rem}
.cv-print-body .cv-section>h2{font-family:inherit;font-size:1.05rem;font-weight:600;letter-spacing:.09em;color:#111;margin:0 0 .45rem;padding-bottom:.12rem;border-bottom:.6pt solid #111}
.cv-print-body .cv-text,.cv-print-body .cv-inline-list{max-width:none!important}
.cv-print-body .cv-group+.cv-group{margin-top:.55rem}
.cv-print-body .cv-group>h3{font-family:inherit;font-size:1rem;font-weight:400;font-style:italic;margin:0 0 .1rem}
.cv-print-body .cv-entry{column-gap:1.5rem;padding-block:.05rem}
.cv-print-body .cv-date{font-size:1rem;color:#111}
.cv-print-body .cv-line strong{font-weight:600}
.cv-print-body .cv-desc{font-size:.95rem;color:#222;max-width:none;margin-top:.05rem}
.cv-print-body .cv-desc ul{padding-left:1.2em}
.cv-print-body .cv-desc li+li{margin-top:0}
.cv-print-body .cv-group>.cv-entry:has(.cv-desc)+.cv-entry{margin-top:.22rem}

.cv-print-body .cv-stat{font-size:.95rem;font-style:italic;color:#222;margin-bottom:.3rem!important}
.cv-print-body .cv-pubs{padding-left:2em}
.cv-print-body .cv-pubs li{padding:.07rem 0 .07rem .25em}
.cv-print-body .cv-pubs li::marker{color:#111;font-size:1em}
.cv-print-body .cv-pubs a{color:#333}
.cv-print-body .cv-self{font-weight:700}
.cv-print-body .cv-note{color:#111;font-weight:600}
@page{margin:18mm 19mm 17mm}
