/* ============================================================
   print.css — because some people still print a CV
   Strips the cinematic layer and lays the content out as a clean
   document: light background, real page breaks, URLs made visible.
   ============================================================ */

@page { margin: 16mm 14mm; }

* {
  background: #fff !important;
  color: #111 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  -webkit-text-stroke: 0 !important;
}

body {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 10.5pt;
  line-height: 1.45;
  background-image: none !important;
}

/* Chrome that means nothing on paper */
.nav, .drawer, .burger, .scroller, .hero__grid, .hero__glow,
.ghost, .nav__prog, .rail__hint, .skip,
.hero__figure, .sec__figure, .cap__i, .contact__i, .contact__go,
.xp__bar, .live, .btn { display: none !important; }

main, .sec, .hero { display: block !important; padding: 0 !important; margin: 0 !important; max-width: none !important; }

.hero { border-bottom: 1.5pt solid #111; padding-bottom: 5mm !important; margin-bottom: 6mm !important; }
.hero__h1 { font-size: 24pt; line-height: 1.05; margin-bottom: 1mm; }
.hero__l1, .hero__l2 { display: inline !important; }
.hero__l2::before { content: ' '; }
.hero__lead { font-size: 11pt; font-style: italic; margin-bottom: 2mm; }
.eyebrow { border: 0 !important; padding: 0 !important; font-size: 10pt; letter-spacing: 0; }
.hero__meta { gap: 4mm; font-size: 9pt; }

.sec { padding: 4mm 0 !important; break-inside: avoid; }
.h2 { font-size: 14pt; border-bottom: .5pt solid #999; padding-bottom: 1.5mm; margin-bottom: 3mm; }
.kicker { font-size: 8.5pt; letter-spacing: .08em; margin-bottom: 1mm; }
.lead, .prose p { max-width: none; }

/* Grids collapse to columns that survive pagination */
.sec--split, .sec--contact { display: block !important; }
.stats { display: flex !important; gap: 8mm; border-top: .5pt solid #999; padding-top: 3mm; }
.stat__k { font-size: 15pt; }
.stat__v { font-size: 8pt; }

.caps, .cred, .logos { display: block !important; columns: 2; column-gap: 8mm; }
.cap, .cred__col, .logos li {
  border: 0 !important;
  padding: 0 0 2mm 0 !important;
  break-inside: avoid;
  display: block !important;
}
.cap h3, .cred__t { font-size: 10.5pt; font-weight: bold; }
.cap p, .cred__m { font-size: 9pt; }
.logos img { display: none !important; }

/* Experience: the part that actually matters on paper */
.xp {
  border: 0 !important;
  border-top: .5pt solid #999 !important;
  border-radius: 0 !important;
  padding: 3mm 0 !important;
  break-inside: avoid;
}
.xp__head { display: block !important; border: 0 !important; margin-bottom: 1.5mm; padding: 0 !important; }
.xp__n { display: none !important; }
.xp__role { font-size: 12pt; }
.xp__co { font-size: 10.5pt; font-weight: bold; }
.xp__when { text-align: left !important; display: block !important; }
.xp__dates { font-size: 9pt; font-style: italic; }
.chip { border: 0 !important; padding: 0 !important; font-size: 9pt; }
.xp__list li { padding-left: 4mm; font-size: 9.5pt; }
.xp__list li::before { content: '•'; background: none !important; width: auto; height: auto; top: 0; }
.tags { margin-top: 2mm; }
.tags li {
  display: inline !important;
  border: 0 !important;
  padding: 0 !important;
  background: none !important;
  font-size: 8.5pt;
}
.tags li::after { content: ' · '; }
.tags li:last-child::after { content: ''; }

/* Journey unrolls into a vertical list */
.rail { overflow: visible !important; }
.rail__track { display: block !important; width: auto !important; padding: 0 !important; }
.tl { width: auto !important; padding-top: 0 !important; break-inside: avoid; }
.tl__yr { display: none !important; }
.tl__card { border: 0 !important; padding: 0 0 2.5mm 0 !important; }
.tl__card::before { display: none !important; }
.tl__date { font-size: 9pt; font-weight: bold; }
.tl__h { font-size: 11pt; }
.tl__p { font-size: 9.5pt; }
.tl__tag { border: 0 !important; padding: 0 !important; margin-top: .5mm; font-size: 8.5pt; font-style: italic; }

/* Contact links: print the destination, not just the label */
.contact a {
  display: block !important;
  border: 0 !important;
  padding: .8mm 0 !important;
  grid-template-columns: none !important;
}
.contact a::before { display: none !important; }
.contact__k { display: inline !important; font-size: 9pt; font-weight: bold; }
.contact__k::after { content: ': '; }
.contact__v { display: inline !important; font-size: 10pt; }
.contact a[href^="http"] .contact__v::after {
  content: ' (' attr(href) ')';
  font-size: 8.5pt;
  color: #555 !important;
}

.foot { border-top: .5pt solid #999; margin-top: 5mm; padding: 2mm 0 0 0; }
.foot__cr { font-size: 8pt; }

h1, h2, h3 { break-after: avoid; }
