/* ============================================================================
   PATH → PDF stylesheet. #pathPrint is invisible on screen and is the ONLY
   thing that reaches paper. Everything is sized in pt/mm because this document
   only ever exists on a page, never in a viewport.
   ========================================================================== */

#pathPrint{display:none;}

.rail-pdf{margin-top:18px;}
@media (max-width:640px){ .rail-pdf{width:100%; justify-content:center;} }

@media print{
  /* hide the site, show the report */
  body > *:not(#pathPrint){display:none !important;}
  /* ...and the body's OWN pseudo-elements, which that rule cannot reach: the
     skin paints a full-bleed gradient haze on ::before and an SVG noise texture
     on ::after. Left alone they rasterise onto every sheet and blew a 150 KB
     text PDF up to 33 MB. */
  html::before,html::after,body::before,body::after{display:none !important; content:none !important;}
  #pathPrint{display:block !important;}

  @page{size:A4; margin:16mm 14mm;}
  html,body{background:#fff !important;}

  .pp-doc{
    font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:#1A1730; font-size:10.5pt; line-height:1.55;
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
  }
  .pp-doc h1,.pp-doc h2,.pp-doc h3,.pp-doc h4,.pp-brand{
    font-family:"Space Grotesk","Inter",sans-serif; font-weight:700; color:#141028;}

  /* ---- cover ---- */
  .pp-cover{border-bottom:2.5pt solid #141028; padding-bottom:10mm; margin-bottom:9mm;}
  .pp-brand{font-size:15pt; letter-spacing:.18em; color:#E97A1F;}
  .pp-kicker{font-family:"Space Mono",ui-monospace,monospace; font-size:8pt;
    letter-spacing:.16em; text-transform:uppercase; color:#6B6785; margin:14mm 0 3mm;}
  .pp-cover h1{font-size:30pt; line-height:1.05; letter-spacing:-.02em; margin:0 0 3mm;}
  .pp-tag{font-size:12.5pt; color:#39344F; margin:0 0 5mm; max-width:150mm;}
  .pp-purpose{font-size:10pt; color:#4A4563; max-width:150mm; margin:0 0 8mm;}
  .pp-meta{display:flex; gap:14mm; margin:0;}
  .pp-meta dt{font-family:"Space Mono",ui-monospace,monospace; font-size:7.5pt;
    letter-spacing:.12em; text-transform:uppercase; color:#8B87A0; margin-bottom:1mm;}
  .pp-meta dd{margin:0; font-size:10pt; font-weight:600;}

  /* ---- parts ---- */
  .pp-part > h2{font-size:17pt; letter-spacing:-.01em; margin:0 0 2mm;
    padding-bottom:2.5mm; border-bottom:1pt solid #DCD8CE;}
  .pp-lede{color:#5A5573; font-size:10pt; margin:0 0 7mm; max-width:145mm;}
  .pp-part-break{break-before:page; page-break-before:always; padding-top:2mm;}

  /* ---- a numbered block (foundation step or pathway) ---- */
  .pp-step,.pp-path{break-inside:avoid; page-break-inside:avoid; margin-bottom:8mm;}
  .pp-path{break-before:page; page-break-before:always; padding-top:3mm;}
  .pp-path-first{break-before:auto; page-break-before:auto; padding-top:0;}

  .pp-step-head,.pp-path-head{display:flex; gap:5mm; align-items:baseline; margin-bottom:4mm;}
  .pp-num{font-family:"Space Mono",ui-monospace,monospace; font-size:13pt;
    font-weight:700; color:#E97A1F; min-width:12mm;}
  .pp-step-head h3,.pp-path-head h3{font-size:14pt; margin:0 0 1.5mm; line-height:1.2;}
  .pp-sub{margin:0; color:#5A5573; font-size:10pt; max-width:140mm;}

  .pp-step h4{font-size:10.5pt; margin:5mm 0 2mm;}
  .pp-step p{margin:0 0 3mm; color:#39344F;}

  .pp-dl{margin:0 0 4mm;}
  .pp-dl dt{font-weight:700; font-size:10pt; margin-top:3mm;}
  .pp-dl dd{margin:.6mm 0 0; color:#4A4563; font-size:9.8pt;}

  /* ---- the seven-stop table ---- */
  .pp-table{width:100%; border-collapse:collapse; margin-top:2mm;}
  .pp-table th,.pp-table td{
    text-align:left; vertical-align:top; padding:3mm 4mm;
    border-bottom:.6pt solid #E4E0D6;}
  .pp-table th{
    width:38mm; font-family:"Space Mono",ui-monospace,monospace;
    font-size:7.8pt; letter-spacing:.1em; text-transform:uppercase;
    color:#6B6785; font-weight:400; background:#FAF8F4;}
  .pp-table td{font-size:10pt; color:#26223C;}
  .pp-table tr:last-child th,.pp-table tr:last-child td{border-bottom:0;}

  /* ---- foot ---- */
  .pp-foot{margin-top:10mm; padding-top:4mm; border-top:1pt solid #DCD8CE;
    font-size:8.5pt; color:#6B6785;}
  .pp-foot p{margin:0;}
  .pp-foot b{color:#E97A1F; letter-spacing:.08em;}
}
