/* ============================================================
   print.css: the site printed as a CV
   scripts/build-cv-pdf.sh renders index.html through this file into
   assets/Simon-Soka-CV.pdf. Loaded with media="print", so nothing here
   touches the screen.
   ============================================================ */

@page {
  size: A4;
  margin: 12mm 14mm;
}

*,
*::before,
*::after {
  box-shadow: none !important;
  text-shadow: none !important;
  animation: none !important;
  transition: none !important;
  filter: none !important;
}

html,
body {
  background: #fff !important;
}

body {
  font-family: 'Sora', system-ui, sans-serif;
  font-size: 8.5pt;
  line-height: 1.5;
  color: #292524;
  padding: 2mm 4mm;
  orphans: 3;
  widows: 3;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

a {
  color: inherit;
  text-decoration: none;
}

/* --- Not part of a CV --- */
.skip-link,
.nav,
.ring,
.hero-actions,
.hero::before,
.window-track,
.shot-img,
.gallery-note,
.how,
.contact,
.close,
.foot,
.exp-pin,
.sec-sub,
.booking-modal,
.form-message {
  display: none !important;
}

/* CV order: experience, then skills, then the smaller projects. */
.paper {
  display: flex !important;
  flex-direction: column;
  padding: 0 !important;
  background: none !important;
}

.exp { order: 1; }
.stack { order: 2; }
.work { order: 3; }

.hero-place {
  display: none;
}

/* --- Hero becomes the letterhead --- */
.hero {
  display: block !important;
  min-height: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  color: #1c1917 !important;
  padding: 0 0 9pt !important;
  margin-bottom: 12pt;
  border-bottom: 2pt solid #ff6b35;
}

.hero-copy {
  max-width: none !important;
  padding: 0 !important;
  text-align: left !important;
}

.hero-copy > * {
  opacity: 1 !important;
  translate: none !important;
}

.hero-name {
  margin: 0 0 4pt !important;
  font: 500 26pt/1 'Outfit', system-ui, sans-serif !important;
  letter-spacing: -0.02em;
  color: #1c1917 !important;
}

.hero-title {
  max-width: 160mm;
  font: 400 10pt/1.45 'Sora', system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  color: #44403c !important;
}

.hero-title span {
  color: #44403c !important;
}

.print-contact {
  display: block !important;
  margin-top: 5pt;
  font-size: 8.5pt;
  color: #57534e;
}

/* --- Sections --- */
.sec {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 0 10pt !important;
}

.sec-head {
  break-after: avoid;
  display: block !important;
  margin: 0 0 7pt !important;
  padding: 0 0 3pt !important;
  border-top: 0 !important;
  border-bottom: 0.75pt solid #d6d3d1;
}

.sec-head h2 {
  font: 600 8pt/1.2 'Sora', system-ui, sans-serif !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  color: #c2410c !important;
}

.sec-head h2 br {
  display: none;
}

/* --- Experience --- */
.exp-body {
  display: block !important;
}

.role {
  opacity: 1 !important;
  padding: 0 0 6pt !important;
  break-inside: auto;
}

.role-when {
  display: block !important;
  margin: 0 !important;
  font-size: 8pt !important;
  color: #57534e !important;
  break-after: avoid;
}

.role-when span::before {
  content: " · ";
}

.role-co {
  font: 600 11pt/1.25 'Outfit', system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  break-after: avoid;
}

.role-title {
  margin: 0 0 3pt !important;
  font-size: 8.5pt !important;
  color: #c2410c !important;
  break-after: avoid;
}

.role-list {
  margin: 0 !important;
  gap: 1.5pt !important;
  max-width: none !important;
}

.role-list li {
  padding-left: 9pt !important;
  font-size: 8.5pt !important;
  line-height: 1.4 !important;
  color: #292524 !important;
  break-inside: avoid;
}

.role-list li::before {
  top: 0.55em !important;
  width: 3pt !important;
  height: 3pt !important;
  background: #a8a29e !important;
}

.role-result {
  margin: 3pt 0 0 !important;
  padding-left: 8pt !important;
  border-left: 1.5pt solid #ff6b35 !important;
  font-size: 8.5pt !important;
  color: #1c1917 !important;
  break-inside: avoid;
}

.role--edu .role-co {
  font-size: 10pt !important;
}

.role-when--gap {
  margin-top: 6pt !important;
}

/* --- Work: captions only, with addresses printed --- */
.gallery {
  display: block !important;
}

.shot {
  margin: 0 0 3pt !important;
  break-inside: avoid;
}

.cap {
  display: block !important;
  margin: 0 !important;
  font-size: 8.5pt !important;
  line-height: 1.45 !important;
}

.cap b {
  font-weight: 600;
}

.cap span::before {
  content: " · ";
}

.cap a {
  display: none;
}

.shot > .cap::after {
  content: " · " attr(data-url);
  color: #57534e;
}

/* --- Stack matrix, kept whole --- */
.matrix-wrap {
  overflow: visible !important;
  break-inside: avoid;
}

.matrix {
  font-size: 8pt !important;
}

.matrix th,
.matrix td {
  height: 9.5pt !important;
  line-height: 1 !important;
}

.matrix thead th {
  padding: 0 2pt 3pt !important;
  font-size: 7.5pt !important;
  writing-mode: horizontal-tb !important;
  rotate: none !important;
}

.matrix thead th small {
  display: block !important;
  font-size: 6.5pt !important;
  margin: 0 !important;
}

.matrix tbody th {
  position: static !important;
  background: none !important;
  font-size: 8pt !important;
  color: #292524 !important;
}

.matrix tbody tr {
  border-top: 0.5pt solid #e7e5e4 !important;
}

.matrix td::before {
  width: 6pt !important;
  height: 6pt !important;
  outline: 0.5pt solid #d6d3d1;
  scale: 1 !important;
}

.matrix td.y::before {
  background: #1c1917 !important;
  outline: 0;
}

.langs {
  margin-top: 5pt !important;
  font-size: 8.5pt !important;
  color: #292524 !important;
}

/* CV headings: the plain words recruiters and parsers look for. */
.exp .sec-head h2,
.stack .sec-head h2,
.work .sec-head h2 {
  font-size: 0 !important;
}

.exp .sec-head h2::before,
.stack .sec-head h2::before,
.work .sec-head h2::before {
  font-size: 8pt;
}

.exp .sec-head h2::before { content: "Experience"; }
.stack .sec-head h2::before { content: "Skills, by employer"; }
.work .sec-head h2::before { content: "Projects"; }

/* The last section ends the document: no trailing margin to spill a
   blank page. */
.work {
  margin-bottom: 0 !important;
}

body > svg {
  display: none !important;
}
