/* =====================================================================
   Print / Save-as-PDF stylesheet.
   Ctrl+P should produce a clean, ink-friendly CV — not a screenshot of a
   dark website. Loaded with media="print" so it never affects the screen.
   ===================================================================== */

@page {
  size: A4;
  margin: 14mm 14mm 16mm;
}

html,
body {
  background: #fff !important;
  color: #14181a !important;
  font-size: 10.5pt;
  line-height: 1.42;
}

body::before {
  display: none !important;
}

/* Screen-only furniture. */
.topbar,
.skip-link,
.site-footer__top,
.hero__availability,
.hero__avatar,
.section__rule {
  display: none !important;
}

.page {
  max-width: none;
  padding: 0;
}

/* --- Header block ---------------------------------------------------- */

.hero {
  padding: 0 0 10pt;
  text-align: left;
  border-bottom: 1pt solid #14181a;
}

.hero__name {
  font-size: 21pt;
  color: #14181a !important;
}

.hero__role {
  margin-top: 2pt;
  font-size: 10pt;
  color: #444 !important;
}

.hero__role::before {
  content: "";
}

.hero__tagline {
  margin: 6pt 0 0;
  max-width: none;
  font-size: 9.5pt;
  color: #333 !important;
}

.hero__facts {
  justify-content: flex-start;
  gap: 0 16pt;
  margin-top: 8pt;
}

.fact {
  min-width: 0;
  flex-direction: row;
  align-items: baseline;
  gap: 5pt;
  padding: 0;
  border: none;
  background: none;
}

.fact__label,
.fact__value {
  font-size: 9pt;
  color: #14181a !important;
}

.fact__label::after {
  content: ":";
}

.hero__actions {
  justify-content: flex-start;
  gap: 0 14pt;
  margin-top: 7pt;
}

.btn {
  padding: 0;
  border: none !important;
  background: none !important;
  font-size: 9pt;
  color: #14181a !important;
}

.btn .ico {
  display: none;
}

/* Print the destination — a paper CV cannot be clicked. */
.btn[href^="http"]::after {
  content: " (" attr(href) ")";
  color: #555;
  word-break: break-all;
}

.btn[data-print]::after {
  content: " (" attr(data-print) ")";
  color: #555;
  word-break: break-all;
}

/* Same reasoning for the organisation links in Experience. */
.orglink[href^="http"]::after {
  content: " (" attr(href) ")";
  color: #555;
  font-weight: 400;
}

.orglink {
  border-bottom: none !important;
}

.orglink .ico {
  display: none;
}

/* --- Sections -------------------------------------------------------- */

.section {
  padding-top: 12pt;
  break-inside: auto;
}

.section__head {
  margin-bottom: 7pt;
  border-bottom: 0.5pt solid #9aa3a0;
  padding-bottom: 2pt;
}

.section__index {
  color: #8a8f8d !important;
  font-size: 8pt;
}

.section__title {
  font-size: 11pt;
  color: #14181a !important;
  letter-spacing: 0.08em;
}

/* --- Cards ----------------------------------------------------------- */

.timeline {
  gap: 8pt;
}

.entry,
.project,
.about,
.skill-group {
  padding: 0 0 6pt;
  border: none !important;
  border-left: none !important;
  background: none !important;
  box-shadow: none !important;
  break-inside: avoid;
  /* The screen card clips its hover trace; on paper that same clip shaved the
     left bearing off the first letter of every project title. */
  overflow: visible !important;
}

.entry__role,
.project__title {
  font-size: 10.5pt;
  color: #14181a !important;
}

.entry__org,
.project__org {
  color: #1f2b33 !important;
  font-weight: 600;
}

.entry__dates,
.project__meta {
  font-size: 8.5pt;
  color: #555 !important;
}

.entry__summary,
.entry__bullets li,
.project__story,
.about__profile {
  color: #333 !important;
  font-size: 9.5pt;
}

.entry__bullets li::before {
  background: #555 !important;
}

.project-grid,
.skill-grid,
.about__columns {
  display: block;
}

.project {
  margin-bottom: 8pt;
}

.project::before {
  display: none;
}

.project__media {
  display: none;
}

.project__problem,
.project__built,
.project__result {
  color: #333 !important;
  border-left: none !important;
  padding-left: 0 !important;
}

/* Chips print as a comma-free inline run — boxes waste ink and space. */
.chip-row {
  margin-top: 4pt;
  gap: 0 6pt;
}

.chip {
  padding: 0;
  border: none !important;
  background: none !important;
  font-size: 8.5pt;
  color: #444 !important;
}

.chip:not(:last-child)::after {
  content: " ·";
  color: #999;
}

.skill-group {
  margin-bottom: 5pt;
}

.skill-group__label,
.about__subheading {
  font-size: 9pt;
  color: #14181a !important;
}

.badge--gpa {
  border: none !important;
  background: none !important;
  color: #14181a !important;
  padding: 0;
  font-weight: 600;
}

.about__columns {
  margin-top: 8pt;
  padding-top: 6pt;
  border-top: 0.5pt solid #9aa3a0;
}

.about__block {
  margin-bottom: 7pt;
}

.language {
  justify-content: flex-start;
  gap: 6pt;
  padding-bottom: 0;
  border-bottom: none;
}

.language__name,
.language__level,
.reference__name {
  color: #14181a !important;
  font-size: 9.5pt;
}

.reference__org,
.about__note {
  color: #555 !important;
  font-size: 8.5pt;
}

.site-footer {
  margin-top: 10pt;
  padding-top: 5pt;
  border-top: 0.5pt solid #9aa3a0;
  font-size: 8pt;
  color: #666 !important;
}
