/* Resume templates. Paper is always white (it is paper), even in the dark app theme.
   Every rule is scoped under .cv-paper / .cv.t-<id> so nothing leaks into the app. */

.cv-paper {
  width: var(--cv-w, 816px);
  min-height: var(--cv-h, 1056px);
  background: #fff;
  color: #1d232a;
  position: relative;
  box-sizing: border-box;
  text-align: left;
  color-scheme: light;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
.cv {
  --a: var(--cv-accent, #0F766E);
  --tint: color-mix(in srgb, var(--a) 8%, #fff);
  --tint2: color-mix(in srgb, var(--a) 20%, #fff);
  --ink: #1b2027;
  --ink2: #48505b;
  --ink3: #737b86;
  --rule: #dcdfe4;
  --mono: "Cascadia Mono", "Cascadia Code", Consolas, "SFMono-Regular", Menlo, monospace;
  position: relative;
  box-sizing: border-box;
  min-height: var(--cv-h, 1056px);
  padding: 48px 56px 44px;
  font-family: var(--cv-body);
  font-size: 13.4px;
  line-height: 1.45;
  color: var(--ink);
  overflow-wrap: break-word;
}
.cv.f-modern { --cv-body: "Google Sans Flex", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; --cv-head: var(--cv-body); }
.cv.f-editorial { --cv-body: "Google Sans Flex", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; --cv-head: Georgia, Cambria, "Times New Roman", serif; }
.cv.f-classic { --cv-body: Cambria, Georgia, "Times New Roman", serif; --cv-head: Georgia, Cambria, "Times New Roman", serif; }
.cv.f-classic { font-size: 13.8px; }

.cv *, .cv *::before, .cv *::after { box-sizing: border-box; margin: 0; padding: 0; }
.cv a { color: inherit; text-decoration: none; }
.cv strong { font-weight: 650; color: var(--ink); }
.cv h1, .cv h2 { font: inherit; }
.cv .h-n { font-family: var(--cv-head); }
.cv .s-t { font-family: var(--cv-head); }
.cv .sep { color: #b4bac3; }
.cv code { font-family: var(--mono); font-size: .88em; background: #f2f4f6; border-radius: 3px; padding: 0 3px; }

/* entries */
.cv .e { margin-top: 11px; }
.cv .s-b > .e:first-child, .cv .s-b > .tl > .tl-i:first-child .e { margin-top: 2px; }
.cv .e-h { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.cv .e-t { font-weight: 650; font-size: 1.04em; color: var(--ink); }
.cv .e-d { flex: none; white-space: nowrap; color: var(--ink2); font-size: .93em; font-variant-numeric: tabular-nums; }
.cv .e-s { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 12px; color: var(--ink2); }
.cv .e-o { font-weight: 500; }
.cv .e-l { margin-left: auto; font-size: .93em; color: var(--ink3); }
.cv .e-k { color: var(--a); font-size: .93em; }
.cv .e-p { color: var(--ink2); margin-top: 2px; }
.cv .e-b { list-style: none; margin-top: 4px; }
.cv .e-b li { position: relative; padding-left: 15px; margin-top: 2.5px; }
.cv .e-b li::before {
  content: ""; position: absolute; left: 3px; top: .64em; width: 4.5px; height: 4.5px; border-radius: 50%;
  background: var(--a);
}
.cv .sum { color: var(--ink); }

/* compact rows (certifications, awards, publications) */
.cv .c-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; margin-top: 5px; }
.cv .c-main { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 8px; }
.cv .c-t { font-weight: 600; }
.cv .c-o { color: var(--ink2); }
.cv .c-o::before { content: "\00b7"; margin-right: 8px; color: var(--ink3); }
.cv .c-k { color: var(--a); font-size: .92em; }
.cv .c-d { flex: none; white-space: nowrap; color: var(--ink2); font-size: .93em; }
.cv .c-p { color: var(--ink2); margin-top: 1px; }
.cv .c-wrap { margin-top: 5px; }
.cv .c-wrap .c-row { margin-top: 0; }

/* skills */
.cv .sk-ln .sk-g { margin-top: 3px; }
.cv .sk-ln .sk-g:first-child { margin-top: 0; }
.cv .sk-n { font-weight: 650; color: var(--ink); }
.cv .sk-i { color: var(--ink2); }
.cv .sk-ln .sk-g { color: var(--ink2); }
.cv .tag { display: inline-block; padding: 2px 8px; margin: 0 5px 5px 0; border-radius: 4px; background: var(--tint); color: var(--ink); font-size: .9em; line-height: 1.45; }
.cv .sk-tags .sk-g + .sk-g { margin-top: 6px; }
.cv .sk-tags .sk-n { font-size: .95em; margin-bottom: 4px; }
.cv .sk-matrix { display: grid; grid-template-columns: 150px 1fr; gap: 6px 14px; align-items: baseline; }
.cv .sk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 26px; }
.cv .sk-grid .sk-n { font-size: .95em; }
.cv .sk-stack .sk-g { margin-top: 9px; }
.cv .sk-stack .sk-g:first-child { margin-top: 0; }

/* languages */
.cv .lang-list .lang { display: flex; justify-content: space-between; gap: 10px; margin-top: 3px; }
.cv .lang-l { color: var(--ink3); font-size: .93em; }
.cv .lang-line { color: var(--ink2); }
.cv .lang-line .lang-n { color: var(--ink); font-weight: 600; }

/* contact stack */
.cv .cs-i { margin-top: 7px; line-height: 1.3; }
.cv .cs-l { display: block; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink3); margin-bottom: 1px; }
.cv .cs-v { word-break: break-word; }

/* ================================================================== 1. Clarity: classic ATS */
.t-clarity { padding: 52px 62px 48px; }
.t-clarity .hd { padding-bottom: 14px; border-bottom: 2px solid var(--a); }
.t-clarity .h-n { font-size: 31px; font-weight: 700; letter-spacing: -.012em; line-height: 1.1; color: #10141a; }
.t-clarity .h-h { font-size: 15px; color: var(--a); font-weight: 500; margin-top: 5px; }
.t-clarity .h-c { margin-top: 9px; color: var(--ink2); font-size: 12.8px; }
.t-clarity .s { margin-top: 18px; }
.t-clarity .s-t { font-size: 12.5px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--a); padding-bottom: 5px; border-bottom: 1px solid var(--rule); margin-bottom: 7px; }

/* ================================================================== 2. Meridian: tinted sidebar */
.t-meridian { padding: 28px 40px 36px 28px; }
.t-meridian .grid { display: grid; grid-template-columns: 236px 1fr; gap: 32px; align-items: start; }
.t-meridian .side {
  background: var(--tint); border-radius: 14px; padding: 28px 22px 28px; font-size: 12.6px;
  min-height: calc(var(--cv-h, 1056px) - 28px - 72px);
}
.t-meridian .mono {
  width: 66px; height: 66px; border-radius: 50%; background: var(--a); color: #fff; display: grid; place-items: center;
  font-family: var(--cv-head); font-size: 24px; font-weight: 600; letter-spacing: .03em; margin-bottom: 4px;
}
.t-meridian .side .s { margin-top: 22px; }
.t-meridian .side .s-t { font-size: 11.5px; letter-spacing: .15em; text-transform: uppercase; color: var(--a); font-weight: 700; margin-bottom: 4px; }
.t-meridian .side .sk-n { font-size: 12.4px; }
.t-meridian .side .sk-i { font-size: 12.3px; line-height: 1.45; }
.t-meridian .side .e-h, .t-meridian .side .c-row { display: block; }
.t-meridian .side .e-t { font-size: 12.8px; }
.t-meridian .side .e-d, .t-meridian .side .c-d { display: block; font-size: 11.6px; color: var(--ink3); }
.t-meridian .side .e-s { display: block; }
.t-meridian .side .e-l { display: block; margin: 0; }
.t-meridian .side .c-o::before { content: none; }
.t-meridian .side .c-main { display: block; }
.t-meridian .side .c-o { display: block; }
.t-meridian .mn { padding-top: 26px; }
.t-meridian .h-n { font-size: 35px; font-weight: 700; line-height: 1.05; color: #0f172a; letter-spacing: -.02em; }
.t-meridian .h-h { font-size: 15px; color: var(--a); margin-top: 9px; font-weight: 500; line-height: 1.4; }
.t-meridian .mn .s { margin-top: 22px; }
.t-meridian .mn .s-t {
  display: flex; align-items: center; gap: 12px; font-size: 13px; letter-spacing: .13em; text-transform: uppercase;
  font-weight: 700; color: #0f172a; margin-bottom: 6px;
}
.t-meridian .mn .s-t::after { content: ""; flex: 1; height: 1px; background: var(--rule); }

/* ================================================================== 3. Regent: executive */
.t-regent { padding: 58px 74px 52px; }
.t-regent .hd { text-align: center; padding-bottom: 18px; border-bottom: 3px double color-mix(in srgb, var(--a) 70%, #fff); }
.t-regent .h-n { font-size: 31px; font-weight: 400; letter-spacing: .17em; text-transform: uppercase; color: #14171c; line-height: 1.15; }
.t-regent .h-h { font-family: var(--cv-head); font-style: italic; font-size: 15.5px; color: var(--ink2); margin-top: 8px; }
.t-regent .h-c { font-size: 12.5px; margin-top: 10px; color: var(--ink2); letter-spacing: .02em; }
.t-regent .s { margin-top: 22px; }
.t-regent .s-t {
  display: flex; align-items: center; gap: 16px; font-size: 12.5px; letter-spacing: .26em; text-transform: uppercase;
  color: var(--a); font-weight: 600; margin-bottom: 8px;
}
.t-regent .s-t::before, .t-regent .s-t::after { content: ""; flex: 1; height: 1px; background: color-mix(in srgb, var(--a) 30%, #fff); }
.t-regent .sum { text-align: center; font-size: 1.02em; line-height: 1.55; color: var(--ink); padding: 0 12px; }
.t-regent .e { margin-top: 13px; }
.t-regent .e-t { font-family: var(--cv-head); font-variant: small-caps; letter-spacing: .05em; font-size: 15px; font-weight: 700; }
.t-regent .e-s { font-family: var(--cv-head); font-style: italic; }
.t-regent .e-b li::before { width: 4px; height: 4px; border-radius: 0; top: .66em; left: 3px; background: var(--ink2); }
.t-regent .sk-ln .sk-n { font-variant: small-caps; letter-spacing: .04em; }

/* ================================================================== 4. Circuit: technical, dense */
.t-circuit { padding: 40px 48px 38px; font-size: 12.8px; line-height: 1.4; }
.t-circuit .hd { display: flex; justify-content: space-between; gap: 26px; align-items: flex-end; padding-bottom: 14px; border-bottom: 1.5px solid var(--ink); }
.t-circuit .h-n { font-size: 29px; font-weight: 750; letter-spacing: -.025em; line-height: 1.05; }
.t-circuit .h-h { margin-top: 7px; color: var(--a); font-weight: 600; font-size: 13.4px; max-width: 470px; line-height: 1.4; }
.t-circuit .h-r { flex: none; font-family: var(--mono); font-size: 11px; text-align: right; line-height: 1.6; color: var(--ink); }
.t-circuit .cr-k { color: var(--a); margin-right: 8px; }
.t-circuit .cr-k::after { content: ":"; }
.t-circuit .s { margin-top: 15px; }
.t-circuit .s-t {
  display: flex; align-items: center; gap: 9px; font-family: var(--mono); font-size: 11.6px; font-weight: 700; letter-spacing: .07em;
  text-transform: uppercase; color: var(--ink); margin-bottom: 5px;
}
.t-circuit .s-t::before { content: ""; width: 8px; height: 8px; background: var(--a); flex: none; }
.t-circuit .s-t::after { content: ""; flex: 1; border-top: 1px dashed #c3c8cf; }
.t-circuit .e { margin-top: 9px; }
.t-circuit .e-d { font-family: var(--mono); font-size: 10.8px; color: var(--a); }
.t-circuit .e-b li { margin-top: 1.5px; }
.t-circuit .e-b li::before { border-radius: 0; width: 4px; height: 4px; top: .62em; }
.t-circuit .sk-matrix { grid-template-columns: 158px 1fr; gap: 5px 14px; }
.t-circuit .sk-n { font-family: var(--mono); font-size: 10.8px; font-weight: 600; color: var(--ink2); padding-top: 3px; }
.t-circuit .tag { border: 1px solid #d5dae0; background: #f6f8fa; font-size: 11.4px; padding: 0 6px; border-radius: 3px; margin: 0 4px 4px 0; }

/* ================================================================== 5. Zurich: Swiss grid */
.t-zurich { padding: 58px 58px 48px; }
.t-zurich .h-n { font-size: 47px; font-weight: 700; letter-spacing: -.04em; line-height: .98; color: #0b0b0b; }
.t-zurich .h-h { font-size: 16px; color: var(--a); margin-top: 12px; font-weight: 500; max-width: 620px; line-height: 1.4; }
.t-zurich .h-cs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 22px; margin-top: 24px; padding-top: 10px; border-top: 2px solid #0b0b0b; font-size: 12.3px; }
.t-zurich .s { display: grid; grid-template-columns: 148px 1fr; gap: 0 22px; padding: 15px 0 13px; border-top: 1px solid #e2e2e2; }
.t-zurich .hd + .s { margin-top: 18px; border-top-color: transparent; padding-top: 4px; }
.t-zurich .s-t { font-size: 11.5px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--a); padding-top: 2px; line-height: 1.35; }
.t-zurich .e-t { font-weight: 700; }
.t-zurich .e-b li::before { border-radius: 0; width: 5px; height: 5px; top: .6em; background: #0b0b0b; }
.t-zurich .sk-grid { gap: 9px 26px; }

/* ================================================================== 6. Chronicle: timeline */
.t-chronicle { padding: 52px 58px 48px; }
.t-chronicle .h-n { font-size: 36px; font-weight: 700; color: #1d1830; letter-spacing: -.01em; line-height: 1.1; }
.t-chronicle .h-h { color: var(--ink2); font-size: 15.5px; margin-top: 6px; }
.t-chronicle .h-bar { width: 64px; height: 4px; background: var(--a); border-radius: 2px; margin: 14px 0 10px; }
.t-chronicle .h-c { font-size: 12.6px; color: var(--ink2); }
.t-chronicle .s { margin-top: 22px; }
.t-chronicle .s-t { font-size: 18.5px; font-weight: 700; color: var(--a); margin-bottom: 8px; letter-spacing: -.005em; }
.t-chronicle .tl-i { display: grid; grid-template-columns: 82px 26px 1fr; }
.t-chronicle .tl-d { text-align: right; font-size: 11.6px; line-height: 1.35; padding-top: 2px; }
.t-chronicle .tl-s, .t-chronicle .tl-e { display: block; white-space: nowrap; }
.t-chronicle .tl-s { color: var(--a); font-weight: 700; }
.t-chronicle .tl-e { color: var(--ink3); }
.t-chronicle .tl-dot { position: relative; }
.t-chronicle .tl-dot::before { content: ""; position: absolute; left: 12px; top: 0; bottom: 0; width: 2px; background: var(--tint2); }
.t-chronicle .tl-i:first-child .tl-dot::before { top: 8px; }
.t-chronicle .tl-i:last-child .tl-dot::before { bottom: auto; height: 10px; }
.t-chronicle .tl-dot::after {
  content: ""; position: absolute; left: 7px; top: 5px; width: 12px; height: 12px; border-radius: 50%;
  background: #fff; border: 2.5px solid var(--a);
}
.t-chronicle .tl-c { padding: 0 0 14px 4px; }
.t-chronicle .tl-c .e { margin-top: 0; }
.t-chronicle .e-o { color: var(--a); font-weight: 600; }

/* ================================================================== 7. Balance: two columns */
.t-balance { padding: 48px 52px 44px; }
.t-balance .hd { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; padding-bottom: 16px; border-bottom: 1px solid var(--rule); }
.t-balance .h-n { font-size: 34px; font-weight: 700; color: #13201a; line-height: 1.05; letter-spacing: -.01em; }
.t-balance .h-h { color: var(--a); font-size: 15px; margin-top: 7px; font-weight: 500; max-width: 440px; line-height: 1.4; }
.t-balance .h-cs { flex: none; text-align: right; font-size: 12.3px; line-height: 1.6; color: var(--ink2); }
.t-balance .h-cs .cs-i { margin: 0; }
.t-balance .cols { display: grid; grid-template-columns: 1fr 226px; gap: 0 26px; }
.t-balance .side { border-left: 1px solid var(--rule); padding-left: 22px; padding-top: 2px; font-size: 12.6px; }
.t-balance .s { margin-top: 18px; }
.t-balance .s-t { font-size: 16px; font-weight: 700; color: var(--a); margin-bottom: 7px; }
.t-balance .s-t::after { content: ""; display: block; width: 26px; height: 2px; background: var(--a); margin-top: 5px; }
.t-balance .side .s-t { font-size: 14.5px; }
.t-balance .side .e-h, .t-balance .side .c-row, .t-balance .side .c-main, .t-balance .side .e-s { display: block; }
.t-balance .side .e-d, .t-balance .side .c-d, .t-balance .side .e-l { display: block; margin: 0; font-size: 11.6px; color: var(--ink3); }
.t-balance .side .c-o { display: block; }
.t-balance .side .c-o::before { content: none; }
.t-balance .side .e-t { font-size: 12.9px; }
.t-balance .side .sk-n { font-size: 12.4px; }
.t-balance .side .sk-i { font-size: 12.3px; }

/* ================================================================== 8. Summit: banner header */
.t-summit { padding: 0 0 44px; }
.t-summit .hd {
  background: var(--a);
  color: #fff; padding: 42px 58px 30px;
}
.t-summit .h-n { font-size: 37px; font-weight: 700; letter-spacing: -.018em; line-height: 1.05; color: #fff; }
.t-summit .h-h { color: rgba(255, 255, 255, .9); font-size: 15.5px; margin-top: 9px; max-width: 640px; line-height: 1.4; }
.t-summit .h-c { margin-top: 16px; font-size: 12.6px; color: rgba(255, 255, 255, .95); }
.t-summit .h-c .sep { color: rgba(255, 255, 255, .45); }
.t-summit .bd { padding: 4px 58px 0; }
.t-summit .s { margin-top: 20px; }
.t-summit .s-t {
  font-size: 13.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--a);
  border-left: 4px solid var(--a); padding-left: 10px; line-height: 1.15; margin-bottom: 8px;
}
.t-summit .e-d { background: var(--tint); color: var(--a); font-weight: 600; font-size: 11.4px; padding: 1px 9px; border-radius: 999px; }
.t-summit .tag { background: var(--tint); border-radius: 999px; padding: 2px 10px; font-size: 11.8px; }

/* ================================================================== 9. Ledger: compact one-pager */
.t-ledger { padding: 36px 44px 32px; font-size: 12.4px; line-height: 1.36; }
.t-ledger .hd { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding-bottom: 8px; border-bottom: 2px solid var(--a); }
.t-ledger .h-n { font-size: 25px; font-weight: 700; letter-spacing: -.012em; line-height: 1.1; }
.t-ledger .h-h { font-size: 12.8px; color: var(--a); font-weight: 600; margin-top: 3px; max-width: 420px; }
.t-ledger .h-l { flex: 1 1 300px; min-width: 0; }
.t-ledger .h-n { white-space: nowrap; }
.t-ledger .h-row > a, .t-ledger .h-row > span:not(.sep) { white-space: nowrap; }
.t-ledger .h-r { flex: 0 1 auto; max-width: 440px; text-align: right; font-size: 11.5px; color: var(--ink2); line-height: 1.55; }
.t-ledger .s { margin-top: 11px; }
.t-ledger .s-t {
  display: flex; align-items: center; gap: 10px; font-size: 11.4px; font-weight: 700; letter-spacing: .13em;
  text-transform: uppercase; color: var(--a); margin-bottom: 2px;
}
.t-ledger .s-t::after { content: ""; flex: 1; height: 1px; background: var(--rule); }
.t-ledger .e { margin-top: 6px; }
.t-ledger .e-t { font-weight: 400; font-size: 1em; }
.t-ledger .e-tt { font-weight: 700; }
.t-ledger .e-o { font-weight: 600; color: var(--ink); }
.t-ledger .e-o::before { content: ", "; font-weight: 400; }
.t-ledger .e-l { color: var(--ink3); margin: 0; }
.t-ledger .e-l::before { content: "  \00b7  "; white-space: pre; }
.t-ledger .e-b { margin-top: 2px; }
.t-ledger .e-b li { margin-top: 1px; padding-left: 13px; }
.t-ledger .e-b li::before { top: .58em; width: 4px; height: 4px; }
.t-ledger .sk-grid { gap: 2px 22px; }
.t-ledger .sk-grid .sk-n, .t-ledger .sk-grid .sk-i { display: inline; }
.t-ledger .sk-grid .sk-n::after { content: ": "; }
.t-ledger .c-row { margin-top: 3px; }

/* ================================================================== 10. Atelier: creative professional */
.t-atelier { padding: 54px 60px 48px 70px; }
.t-atelier .deco { position: absolute; left: 0; top: 0; right: 0; height: 280px; overflow: hidden; pointer-events: none; }
.t-atelier .dc1 { position: absolute; right: -130px; top: -160px; width: 330px; height: 330px; border-radius: 50%; background: var(--tint); }
.t-atelier .dc2 { position: absolute; right: 168px; top: 26px; width: 46px; height: 46px; border-radius: 50%; border: 2px solid color-mix(in srgb, var(--a) 45%, #fff); }
.t-atelier .dc3 { position: absolute; left: 0; top: 0; width: 10px; height: 280px; background: var(--a); }
.t-atelier .hd { position: relative; display: flex; gap: 22px; align-items: center; }
.t-atelier .bdg {
  flex: none; width: 78px; height: 78px; border-radius: 24px 24px 24px 6px; background: var(--a); color: #fff;
  display: grid; place-items: center; font-family: var(--cv-head); font-size: 29px; font-weight: 600; letter-spacing: .02em;
}
.t-atelier .h-n { font-size: 37px; line-height: 1.05; font-weight: 400; color: #1f1b22; letter-spacing: -.01em; }
.t-atelier .h-n .ln { font-weight: 700; color: var(--a); }
.t-atelier .h-h { font-size: 15px; color: var(--ink2); margin-top: 7px; line-height: 1.4; }
.t-atelier .h-c { font-size: 12.4px; margin-top: 8px; color: var(--ink2); }
.t-atelier .h-c .sep { color: var(--a); opacity: .6; }
.t-atelier .s { position: relative; margin-top: 22px; }
.t-atelier .s-t {
  display: flex; align-items: center; gap: 12px; font-size: 18.5px; font-weight: 700; color: #1f1b22;
  margin-bottom: 8px; padding-bottom: 6px; border-bottom: 1px solid var(--rule);
}
.t-atelier .s-num {
  font-family: var(--cv-body); font-size: 11.5px; font-weight: 700; color: #fff; background: var(--a);
  border-radius: 999px; padding: 2px 8px; letter-spacing: .05em; line-height: 1.4;
}
.t-atelier .e-o { color: var(--a); font-weight: 600; }
.t-atelier .e-b li::before { width: 5.5px; height: 5.5px; border-radius: 1px; transform: rotate(45deg); top: .56em; }
.t-atelier .tag {
  background: #fff; border: 1px solid color-mix(in srgb, var(--a) 38%, #fff); color: color-mix(in srgb, var(--a) 80%, #000);
  border-radius: 999px; padding: 1px 10px; font-size: 11.8px;
}

/* ================================================================== print */
@media print {
  html, body { background: #fff !important; margin: 0; padding: 0; }
  .cv-paper { width: auto; min-height: 0; box-shadow: none !important; }
  .cv { min-height: 0; }
  .cv .keep, .cv .c-row, .cv .lang, .cv .sk-g, .cv .tl-i.keep { break-inside: avoid; }
  .cv .s-t, .cv .e-h, .cv .e-s, .cv .tl-d { break-after: avoid; }
  .cv .e-b li, .cv .sum, .cv .e-p { break-inside: avoid; orphans: 3; widows: 3; }
  .cv .hd { break-inside: avoid; }
}
