/* Goroshi LLC — Dad Packet · Print Stylesheet
   Apple-neutral palette locked: #FFFFFF bg / #1D1D1F ink / #6E6E73 muted / #86868B faint / #E5E5E7 hairline / #0066CC accent (links only)
   Helvetica Neue / SF Pro Display fallback chain
   Keynote-handout aesthetic: single accent, plenty of whitespace, hairlines visible */

@page {
  size: 8.5in 11in;
  margin: 0.6in;
}

@media print {

  /* WHY: Hide interactive/navigational chrome that has no print value */
  .skip,
  .no-print,
  .footer-small {
    display: none !important;
  }

  /* WHY: Reset html/body to white bg + ink at 11pt — print-readable but compact */
  html, body {
    background: #FFFFFF !important;
    color: #1D1D1F !important;
    font-size: 11pt !important;
    line-height: 1.45 !important;
    font-family: "Helvetica Neue", "SF Pro Display", -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* WHY: Remove screen padding so @page margins govern; keep max-width loose for letter */
  main {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* WHY: Hero block — h1 to 28pt, lede small, keynote-feel breathing room */
  .hero {
    margin-bottom: 24pt !important;
  }
  .hero h1 {
    font-size: 28pt !important;
    line-height: 1.1 !important;
    letter-spacing: -0.012em !important;
    font-weight: 500 !important;
    color: #1D1D1F !important;
    margin: 6pt 0 10pt !important;
  }
  .hero .lede {
    font-size: 12pt !important;
    line-height: 1.4 !important;
    color: #6E6E73 !important;
  }
  .eyebrow {
    font-size: 9pt !important;
    color: #6E6E73 !important;
  }

  /* WHY: Hairlines must remain visible in print — color-adjust exact, explicit border */
  .rule {
    width: 32pt !important;
    height: 1px !important;
    background: #E5E5E7 !important;
    border: none !important;
    margin: 16pt 0 0 !important;
  }
  .rule-faint {
    width: 100% !important;
    height: 1px !important;
    background: #E5E5E7 !important;
    border: none !important;
    margin: 18pt 0 !important;
  }

  /* WHY: Stats grid stays 3-column horizontal — operator requirement, do not collapse */
  .stats {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18pt !important;
    padding: 18pt 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .stat {
    text-align: left !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .stat-label {
    font-size: 8pt !important;
    color: #6E6E73 !important;
    margin-bottom: 4pt !important;
  }
  .stat-value {
    font-size: 16pt !important;
    line-height: 1.1 !important;
    color: #1D1D1F !important;
    margin-bottom: 2pt !important;
  }
  .stat-foot {
    font-size: 8pt !important;
    color: #86868B !important;
  }

  /* WHY: Blocks stay together (no mid-section split) but flow naturally page-to-page
     to keep total page count tight (target 1-3). Force-break only on the two doc-list
     sections so each gets a clean, single-page start. Final two short blocks pack onto
     the QCELLS page — keynote whitespace preserved without bleeding to an extra page. */
  .block {
    margin: 0 !important;
  }
  /* WHY: Each doc-list section opens a new page (one section per page = clean reference) */
  section.block:has(.doclist) {
    break-before: page !important;
    page-break-before: always !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  /* WHY: Non-doclist blocks (intro, four-steps, three-lines) flow — short content packs */
  section.block:not(:has(.doclist)) {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  /* WHY: Tighten the .rule-faint separators in print so non-doclist blocks pack closer */
  .rule-faint {
    margin: 12pt 0 !important;
  }

  /* WHY: h2 to 18pt — section start anchor, ink color, generous bottom margin */
  .kicker {
    font-size: 9pt !important;
    color: #6E6E73 !important;
    margin-bottom: 8pt !important;
  }
  .block h2 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
    letter-spacing: -0.009em !important;
    font-weight: 500 !important;
    color: #1D1D1F !important;
    margin-bottom: 12pt !important;
    page-break-after: avoid !important;
    break-after: avoid !important;
  }
  .body {
    font-size: 11pt !important;
    line-height: 1.5 !important;
    color: #1D1D1F !important;
    margin-bottom: 8pt !important;
    max-width: 100% !important;
  }
  .body strong {
    color: #1D1D1F !important;
    font-weight: 600 !important;
  }
  .small-note {
    font-size: 10pt !important;
    color: #6E6E73 !important;
  }

  /* WHY: Doc list items must NOT split across pages — one entry, one page slot */
  .doclist {
    list-style: none !important;
    margin: 16pt 0 0 !important;
  }
  .doclist li {
    padding: 8pt 0 !important;
    border-bottom: 1px solid #E5E5E7 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 12pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .doclist li::before {
    font-size: 9pt !important;
    color: #86868B !important;
    min-width: 20pt !important;
  }
  .doclist a {
    color: #0066CC !important;
    font-size: 11pt !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
  }
  .doclist .meta {
    font-size: 10pt !important;
    color: #86868B !important;
    margin-left: auto !important;
    text-align: right !important;
  }

  /* WHY: Numbered + bulleted lists stay readable, no page-split mid-item */
  .numbered, .bulleted {
    margin: 6pt 0 0 18pt !important;
  }
  .numbered li, .bulleted li {
    font-size: 11pt !important;
    line-height: 1.45 !important;
    color: #1D1D1F !important;
    margin-bottom: 6pt !important;
    max-width: 100% !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* WHY: Links — render URL after the text per operator spec for offline reference */
  a {
    color: #0066CC !important;
    text-decoration: none !important;
  }
  a[href]::after {
    content: " (" attr(href) ")" !important;
    font-size: 9pt !important;
    color: #86868B !important;
    font-weight: 400 !important;
    word-break: break-all !important;
  }

  /* WHY: Suppress URL printing inside the doc list (the links ARE the URLs in context) — too noisy */
  .doclist a[href]::after {
    content: "" !important;
  }

  /* WHY: Footer stays at end; remove top border heaviness; keep attribution legible */
  footer {
    padding: 18pt 0 0 !important;
    text-align: center !important;
    border-top: 1px solid #E5E5E7 !important;
    margin-top: 24pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  footer p {
    font-size: 9pt !important;
    color: #86868B !important;
    margin: 0 auto 4pt !important;
    line-height: 1.4 !important;
  }

  /* WHY: Selection styles + outlines have no meaning in print */
  *:focus { outline: none !important; }
}
