/* QuinnGenealogy V2 — exact print fix based on actual homepage DOM */
@media print {
  /* Web UI */
  .qg-nav-shell,
  .qg-obsolete-section-menu,
  .qg-breadcrumbs,
  .qg-search-shell,
  .footer {
    display:none !important;
  }

  /* Exact homepage hero structure */
  section.hero {
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    padding:0 0 18pt !important;
    margin:0 !important;
    background:none !important;
    background-image:none !important;
    overflow:visible !important;
    position:static !important;
  }
  section.hero .hero-copy {
    display:block !important;
    max-width:none !important;
    width:100% !important;
    position:static !important;
    transform:none !important;
  }
  section.hero .ogham {
    display:none !important;
  }
  section.hero .eyebrow,
  section.hero h1,
  section.hero .lead,
  section.hero .mission {
    position:static !important;
    display:block !important;
    float:none !important;
    clear:both !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
  }
  section.hero h1 {
    font-size:34pt !important;
    line-height:1.05 !important;
    margin:0 0 12pt !important;
  }
  section.hero .lead {
    font-size:16pt !important;
    line-height:1.35 !important;
    margin:0 0 10pt !important;
  }
  section.hero .mission {
    font-size:11pt !important;
    line-height:1.5 !important;
    margin:0 !important;
  }

  /* Exact research path DOM: print one step at a time, never split a step. */
  section#path .path-grid {
    display:block !important;
    border:0 !important;
    margin-top:18pt !important;
    overflow:visible !important;
  }
  section#path .path-step {
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 0 10pt !important;
    padding:10pt 12pt !important;
    border:1px solid #999 !important;
    break-inside:avoid-page !important;
    page-break-inside:avoid !important;
    overflow:visible !important;
  }
  section#path .path-step h3,
  section#path .path-step p,
  section#path .path-step .num {
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  /* Exact evidence-principle DOM */
  #method .principles {
    display:block !important;
  }
  #method .principle {
    display:block !important;
    margin:0 0 10pt !important;
    break-inside:avoid-page !important;
    page-break-inside:avoid !important;
  }

  /* Prevent the last content blocks from forcing a footer-only page. */
  main > section {
    break-inside:auto !important;
    page-break-inside:auto !important;
  }

  body, main {
    min-height:0 !important;
    height:auto !important;
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
}
