

.ra-header .ra-nav { flex-wrap: wrap; row-gap: 0; }
.ra-header .ra-nav a { flex-shrink: 0; }

.cv { padding-block-end: var(--space-8); }

:where(.cv) p, :where(.cv) h3 { margin: 0; }

.cv-paper { display: none; }

.cv-nobr { white-space: nowrap; }

.cv-head { padding-block-start: var(--space-7); }
@media (min-width: 760px) { .cv-head { padding-block-start: var(--space-8); } }
.cv-head__top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--space-3) var(--space-5); min-height: 44px;
}
.cv-name { margin-block-start: var(--space-4); text-wrap: balance; }
.cv-title { margin-block-start: var(--space-3); font: 500 var(--fs-small)/1.5 var(--font-mono); letter-spacing: .01em; color: var(--text); }
.cv-summary { margin-block-start: var(--space-5); text-wrap: pretty; }
.cv-contact { list-style: none; margin: var(--space-4) 0 0; padding: 0; display: flex; flex-wrap: wrap; column-gap: var(--space-6); }
.cv-contact a { display: inline-flex; align-items: center; column-gap: 1ch; min-height: 44px; color: var(--text); text-decoration: none; }
.cv-arrow { display: inline-block; color: var(--text-muted); transition: transform var(--dur-fast) var(--ease-out); }
[dir="rtl"] .cv-arrow { transform: scaleX(-1); }
@media (hover: hover) {
  .cv-contact a:hover .cv-contact__lbl { text-decoration: underline; text-underline-offset: .2em; }
  .cv-contact a:hover .cv-arrow { transform: translateX(3px); }
  [dir="rtl"] .cv-contact a:hover .cv-arrow { transform: scaleX(-1) translateX(3px); }
}

.cv-wow {
  --cv-angle: 90deg;
  height: 2px; margin-block-start: var(--space-7); border-radius: 1px;
  background: linear-gradient(var(--cv-angle), var(--ra-g-magenta), var(--ra-g-violet) 35%, var(--ra-g-indigo) 68%, var(--ra-g-blue));
  transform-origin: 0 50%;
}
[dir="rtl"] .cv-wow { --cv-angle: 270deg; transform-origin: 100% 50%; }
.motion-ok .cv-wow { animation: cv-draw 1100ms var(--ease-out) 360ms both; }
@keyframes cv-draw { from { transform: scaleX(0); } }
@media (prefers-reduced-motion: reduce) { .cv-wow { animation: none !important; } .cv-arrow { transition: none; } }

.cv-sec { display: grid; gap: var(--space-4); padding-block: var(--space-6); border-block-start: 1px solid var(--border); }
.cv-head + .cv-sec { border-block-start: 0; }
.cv-sec__label { margin: 0; }
.cv-sec__body { min-width: 0; }
@media (min-width: 760px) {
  .cv-sec { grid-template-columns: 180px minmax(0, 1fr); column-gap: var(--space-6); padding-block: var(--space-7); align-items: baseline; }
}

.cv-intro { max-width: var(--text-max); font-size: var(--fs-body); line-height: var(--lh-body); color: var(--text-muted); text-wrap: pretty; }

.cv-doors { display: grid; gap: var(--space-6); }
.cv-door { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); max-width: var(--text-max); }
.cv-door__line { font: 500 var(--fs-body)/1.4 var(--font-display); color: var(--text); text-wrap: balance; }
.cv-door__desc { color: var(--text-muted); }
.cv-door__intro { text-wrap: pretty; }
.cv-door .ra-door__offers { margin-block-start: var(--space-1); }

.cv-door + .cv-door { border-block-start: 1px solid var(--border); padding-block-start: var(--space-6); }
@media (min-width: 1000px) {
  .cv-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-6); }
  .cv-door + .cv-door { border-block-start: 0; padding-block-start: 0; border-inline-start: 1px solid var(--border); padding-inline-start: var(--space-6); }
}

.cv-work { list-style: none; margin: 0; padding: 0; }
.cv-work > li { display: grid; gap: var(--space-2); padding-block: var(--space-4); border-block-start: 1px solid var(--border); }
.cv-work > li:first-child { padding-block-start: 0; border-block-start: 0; }
.cv-work > li:last-child { padding-block-end: 0; }
.cv-work__kind { display: flex; align-items: baseline; gap: var(--space-3); }
.cv-no { color: var(--link); }
.cv-work__text { display: grid; gap: var(--space-1); max-width: var(--text-max); text-wrap: pretty; }
.cv-work__more { font-size: var(--fs-small); color: var(--text-muted); }

.cv-work__text a, .cv-list__desc a { padding-block: calc(22.5px - .65em); }
@media (min-width: 1000px) {
  .cv-work > li { grid-template-columns: 150px minmax(0, 1fr); column-gap: var(--space-5); align-items: baseline; }
}

.cv-xp {
  --xp-gap: var(--space-6); --xp-dot: 7px; --xp-top: 6px; --xp-in: var(--space-6);
  list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; gap: var(--xp-gap); max-width: var(--text-max);
}
.cv-xp > li { position: relative; display: grid; gap: var(--space-1); padding-inline-start: var(--xp-in); }
.cv-xp > li::after {
  content: ""; position: absolute; inset-inline-start: 0; top: var(--xp-top); width: var(--xp-dot); height: var(--xp-dot); border-radius: 50%;
  background: var(--bg); box-shadow: inset 0 0 0 1px var(--text-muted);
}
.cv-xp > li.is-now::after { background: var(--link); box-shadow: none; }
.cv-xp > li:not(:last-child)::before {
  content: ""; position: absolute; inset-inline-start: calc(var(--xp-dot) / 2 - .5px); width: 1px;
  top: calc(var(--xp-top) + var(--xp-dot)); bottom: calc(-1 * var(--xp-gap) - var(--xp-top));
  background: var(--border);
}
.cv-xp__when { color: var(--text-muted); }
.is-now > .cv-xp__when { color: var(--link); }
.cv-xp__role { font: 600 var(--fs-body)/var(--lh-head) var(--font-display); letter-spacing: -.005em; color: var(--text); text-wrap: balance; }
.cv-xp__desc { text-wrap: pretty; }
.cv-xp__more { margin-block-start: var(--space-1); font-size: var(--fs-small); color: var(--text-muted); text-wrap: pretty; }
@media (min-width: 760px) { .cv-xp { --xp-in: var(--space-7); } }

.cv-list { list-style: none; margin: 0; padding: 0; max-width: var(--text-max); }
.cv-list > li { display: grid; gap: var(--space-1); padding-block: var(--space-4); border-block-start: 1px solid var(--border); }
.cv-list > li:first-child { padding-block-start: 0; border-block-start: 0; }
.cv-list > li:last-child { padding-block-end: 0; }
.cv-list__title { font: 600 var(--fs-body)/var(--lh-head) var(--font-display); letter-spacing: -.005em; color: var(--text); text-wrap: balance; }
.cv-list__desc { color: var(--text-muted); text-wrap: pretty; }
.cv-list__desc a { color: var(--link); }

.cv-book { display: grid; gap: var(--space-3); max-width: var(--text-max); }
.cv-book__status { color: var(--link); }

.cv-book__sub { margin: 0; margin-block-start: calc(-1 * var(--space-2)); font: 500 var(--fs-body)/var(--lh-head) var(--font-display); color: var(--text); }
.cv-book__lead { margin-block-start: var(--space-1); color: var(--text-muted); text-wrap: pretty; }

.cv-quotes { display: grid; gap: var(--space-6); max-width: var(--text-max); }
.cv-quote { margin: 0; display: grid; gap: var(--space-3); padding-inline-start: var(--space-5); border-inline-start: 1px solid var(--border); }
.cv-quote blockquote { margin: 0; }
.cv-quote blockquote p { color: var(--text); text-wrap: pretty; }
.cv-quote blockquote p::before { content: "\201C"; }
.cv-quote blockquote p::after { content: "\201D"; }
.cv-quote figcaption { display: grid; gap: var(--space-1); }
.cv-quote__name { font: 600 var(--fs-body)/var(--lh-head) var(--font-display); color: var(--text); }

.cv-vision {
  max-width: 26ch; font: 600 var(--fs-h2)/var(--lh-head) var(--font-display);
  letter-spacing: var(--tracking-display); color: var(--text); text-wrap: balance;
}
.cv-vision__muted { color: var(--text-muted); }

.cv-end {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-5);
  padding-block-start: var(--space-6); border-block-start: 1px solid var(--border);
}
@media (min-width: 760px) { .cv-end { padding-inline-start: calc(180px + var(--space-6)); padding-block-start: var(--space-7); } }

@page {
  size: A4; margin: 12mm 14mm 14mm;
  @bottom-left { content: "Rotem Avny \00B7  CV \00B7  rotemavny.com/cv"; font: 400 6.6pt/1 "IBM Plex Mono", monospace; letter-spacing: .02em; color: #5E5A6B; vertical-align: top; padding-block-start: 4mm; }
  @bottom-right { content: counter(page) " / " counter(pages); font: 400 6.6pt/1 "IBM Plex Mono", monospace; color: #5E5A6B; vertical-align: top; padding-block-start: 4mm; }
}
@media print {

  :root, :root[data-theme] {
    color-scheme: light;
    --surface: #FFFFFF; --bg: var(--surface); --bg-deep: #F3F1F6; --surface-2: #ECE9F1; --border: #DDD9E4;
    --text: #15141A; --text-muted: #5E5A6B; --link: #422A51; --accent-soft: #ECE6F6;
    --grain-opacity: 0;
    --fs-h1: 22pt; --fs-h2: 13pt; --fs-h3: 11pt; --fs-lead: 10pt;
    --fs-body: 8.8pt; --fs-small: 8pt; --fs-mono: 7.2pt;
    --lh-body: 1.37; --lh-head: 1.15;
  }
  html, body { background: var(--bg); }
  body { font-size: var(--fs-body); line-height: var(--lh-body); }
  .grain::after, .skip, .review-legend, .ra-header, .ra-header + .ra-wrap, .ra-footer, .cv-dl, .cv-end, .cv-arrow { display: none !important; }
  .cv-paper { display: list-item; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .appear { opacity: 1 !important; transform: none !important; }
  .cv-wow { transform: none !important; }
  html[data-review] [data-copy="proposal"] { outline: 0; }

  .ra-wrap { max-width: none; padding-inline: 0; }
  .cv { padding: 0; }
  a { color: inherit; text-decoration: none; }
  .cv-work__text a, .cv-list__desc a { color: var(--link); padding-block: 0; }

  .cv-work__text[data-url]::after, .cv-list__desc[data-url]::after {
    content: attr(data-url); display: block; margin-block-start: .3mm;
    font: 400 var(--fs-mono)/1.35 var(--font-mono); letter-spacing: 0; color: var(--text-muted); overflow-wrap: anywhere;
  }
  .cv-contact a[data-url] .cv-contact__lbl { display: none; }
  .cv-contact a[data-url]::before { content: attr(data-url); }

  .cv-head { padding: 0; }
  .cv-head__top { min-height: 0; }
  .cv-name { margin-block-start: 2mm; }
  .cv-title { margin-block-start: 1mm; font-size: 8.3pt; }
  .cv-summary { margin-block-start: 2.2mm; max-width: none; line-height: 1.4; }
  .cv-contact { margin-block-start: 2.5mm; column-gap: 5mm; row-gap: 1mm; font-size: 7.6pt; }
  .cv-contact a { min-height: 0; color: var(--text); }
  .cv-wow { margin-block-start: 3.5mm; height: 1.4px; }

  .cv-sec { grid-template-columns: 24mm minmax(0, 1fr); column-gap: 4.5mm; padding-block: 2.7mm; align-items: baseline; }
  .cv-sec__label { font-size: 7pt; }
  .cv-intro { max-width: none; font-size: var(--fs-body); }

  .cv-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5mm; }
  .cv-door { gap: 1.2mm; max-width: none; }
  .cv-door + .cv-door { border-block-start: 0; padding-block-start: 0; border-inline-start: 1px solid var(--border); padding-inline-start: 5mm; }
  .cv-door .ra-sig { font-size: 6.8pt; }

  .ra-door__offers { gap: 1.2mm; }
  .ra-door__offers li { color: var(--text); background: none; box-shadow: inset 0 0 0 .5pt var(--border); padding: .3mm 1.6mm; font-size: 7pt; }

  .cv-work > li { grid-template-columns: 27mm minmax(0, 1fr); column-gap: 3.5mm; padding-block: 1.4mm; align-items: baseline; }
  .cv-work > li:first-child { padding-block-start: 0; }
  .cv-work > li:last-child { padding-block-end: 0; }
  .cv-work__kind { gap: 2mm; font-size: 6.8pt; }
  .cv-work__text { gap: .4mm; max-width: none; }

  .cv-xp { --xp-gap: 2.2mm; --xp-top: 1.45mm; --xp-dot: 1.6mm; --xp-in: 4.5mm; margin-block-start: 2.2mm; max-width: none; }
  .cv-xp > li { gap: .5mm; break-inside: avoid; }
  .cv-xp__more { margin-block-start: .3mm; }

  .cv-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.2mm 6mm; max-width: none; }
  .cv-list > li, .cv-list > li:first-child, .cv-list > li:last-child { padding: 0; border: 0; gap: .4mm; align-content: start; break-inside: avoid; }

  .cv-book { gap: 1mm; max-width: none; }
  .cv-book__lead { margin-block-start: .5mm; }
  .cv-book__sub { margin-block-start: -.5mm; font-size: 10.5pt; }

  .cv-quotes { gap: 2.4mm; max-width: none; }
  .cv-quote { gap: .8mm; padding-inline-start: 4mm; }
  .cv-quote figcaption { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 2mm; }
  .cv-quote__name { font-size: 8.8pt; }

  .cv-vision { max-width: none; font-size: 12.5pt; }

  .cv-head, .cv-door, .cv-work > li, .cv-book, .cv-quote, .cv-vision { break-inside: avoid; }

  .cv-wow, .cv-xp > li::before, .cv-xp > li::after, .ra-missing {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  .ra-missing { border-width: .5pt; }
}
