/* ==========================================================================
   Blueprint1122 — Board-Ready Overview print output

   This file is deliberately page-specific. It is loaded after the shared
   screen styles with media="print" so the overview can stay spacious and
   interactive on screen while producing a readable, multi-page handout.
   ========================================================================== */

@page {
  size: Letter;
  margin: 0.58in 0.62in 0.62in;
}

@media print {
  /* The reveal observer and the count-up animation are screen enhancements.
     Print should always contain the complete, settled overview. */
  .board-ready-page,
  .board-ready-page * {
    animation: none !important;
    transition: none !important;
  }

  .board-ready-page {
    background: #fff !important;
    color: var(--bp-ink) !important;
    font-size: 10.5pt;
    line-height: 1.45;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Site navigation, the print trigger, and the JS-injected quick-action bar
     are interactive chrome rather than overview content. */
  .board-ready-page .site-header,
  .board-ready-page .nav-toggle,
  .board-ready-page .site-nav,
  .board-ready-page .print-bar,
  .board-ready-page .sticky-cta,
  .board-ready-page .print-btn {
    display: none !important;
  }

  .board-ready-page .container {
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  /* The title/lede starts at the top printable edge once the fixed header is
     removed. Keep the hero as a compact, self-contained opening block. */
  .board-ready-page .board-hero {
    min-height: 0 !important;
    padding: 0 0 22pt !important;
    background: #fff !important;
    color: var(--bp-ink) !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .board-ready-page .board-hero .eyebrow {
    display: block;
    margin-bottom: 7pt !important;
    color: var(--bp-red) !important;
    font-size: 8pt !important;
    letter-spacing: 0.14em;
  }

  .board-ready-page .board-hero h1 {
    margin: 0 0 9pt !important;
    color: var(--bp-dark) !important;
    font-size: 27pt !important;
    line-height: 1.08;
  }

  .board-ready-page .board-hero .lede {
    max-width: 46em !important;
    margin: 0 !important;
    color: var(--bp-ink) !important;
    font-size: 11.5pt !important;
    line-height: 1.4;
  }

  /* Each group is sized to fit as a unit. The two intentional breaks keep
     the final short sections together while allowing the first two pages to
     use their available space. */
  .board-ready-page .board-section {
    padding: 25pt 0 !important;
    border-top: 1px dotted var(--bp-gray);
    background: #fff !important;
    color: var(--bp-ink) !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .board-ready-page .board-intro {
    padding-top: 23pt !important;
  }

  .board-ready-page .board-focus {
    break-before: page;
    page-break-before: always;
  }

  .board-ready-page .eyebrow {
    margin-bottom: 8pt !important;
    color: var(--bp-red) !important;
    font-size: 8pt !important;
    line-height: 1.2;
    letter-spacing: 0.15em;
    break-after: avoid;
    page-break-after: avoid;
  }

  .board-ready-page h1,
  .board-ready-page h2,
  .board-ready-page h3 {
    break-after: avoid;
    page-break-after: avoid;
  }

  .board-ready-page .board-section h2 {
    margin: 0 !important;
    color: var(--bp-dark) !important;
    font-size: 20pt !important;
    line-height: 1.12;
  }

  .board-ready-page p {
    orphans: 3;
    widows: 3;
  }

  .board-ready-page .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Track record: retain the paired stats as one readable row. */
  .board-ready-page .board-track-record .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22pt !important;
    max-width: none !important;
    margin-top: 18pt !important;
  }

  .board-ready-page .board-track-record .stat {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .board-ready-page .board-track-record .stat .num {
    font-size: 29pt !important;
  }

  .board-ready-page .board-track-record .stat .label {
    margin-top: 4pt !important;
    font-size: 8pt !important;
    line-height: 1.25;
  }

  /* Keep the service list together rather than leaving a heading or a lone
     list item at a page boundary. */
  .board-ready-page .board-services ul {
    max-width: 38em !important;
    margin: 13pt 0 0 16pt !important;
    line-height: 1.55 !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .board-ready-page .board-services li {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Three cards remain side by side on paper, with each card treated as an
     atomic block so its heading and description cannot be separated. */
  .board-ready-page .board-process .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14pt !important;
    margin-top: 18pt !important;
  }

  .board-ready-page .board-process .card {
    min-width: 0;
    padding: 16pt !important;
    border-top: 2px solid var(--bp-steel);
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .board-ready-page .board-process .card-num {
    margin-bottom: 8pt;
    font-size: 8pt;
  }

  .board-ready-page .board-process .card h3 {
    margin-bottom: 6pt;
    color: var(--bp-dark) !important;
    font-size: 11pt !important;
    line-height: 1.2;
  }

  .board-ready-page .board-process .card p {
    font-size: 9.25pt;
    line-height: 1.42;
  }

  /* The final two short sections intentionally share the page after the
     process section break; each section still remains indivisible. */
  .board-ready-page .board-focus,
  .board-ready-page .board-next-step {
    text-align: center;
  }

  .board-ready-page .board-focus {
    padding-top: 30pt !important;
    padding-bottom: 30pt !important;
  }

  .board-ready-page .board-focus .lede {
    max-width: 46em !important;
    margin: 11pt auto 0 !important;
    font-size: 11pt !important;
    line-height: 1.4;
  }

  .board-ready-page .board-next-step {
    padding-top: 27pt !important;
    padding-bottom: 28pt !important;
  }

  .board-ready-page .board-next-step .lede {
    margin: 11pt auto 17pt !important;
    font-size: 11pt !important;
    line-height: 1.4;
  }

  /* This CTA is overview content, not the interactive print control. Keep
     its label visible in the PDF while retaining the brand button treatment. */
  .board-ready-page .board-next-step .btn {
    display: none !important;
  }

  .board-ready-page .print-only {
    display: inline !important;
  }

  .board-ready-page .assessment-print-text {
    color: var(--bp-ink) !important;
    font-weight: 500;
  }

  /* Navigation links have no useful action in a paper handout. Keep the
     contact labels as plain text and remove their PDF link annotations. */
  .board-ready-page .site-footer .cols > div:nth-child(2) {
    display: none !important;
  }

  .board-ready-page .site-footer .cols {
    grid-template-columns: 1.35fr 1fr !important;
  }

  .board-ready-page .footer-connect-links a {
    display: none !important;
  }

  /* The footer retains the useful address, creed, and contact information;
     only its screen navigation treatment is removed from the print layout. */
  .board-ready-page .site-footer {
    display: block !important;
    padding: 22pt 0 0 !important;
    background: var(--bp-ink) !important;
    color: var(--bp-gray) !important;
    font-size: 8pt;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .board-ready-page .site-footer .cols {
    grid-template-columns: 1.35fr 1fr 1fr !important;
    gap: 18pt !important;
    margin-bottom: 17pt !important;
  }

  .board-ready-page .site-footer img {
    height: 68pt !important;
    width: auto;
  }

  .board-ready-page .site-footer a {
    color: var(--bp-paper) !important;
    text-decoration: none !important;
  }

  .board-ready-page .site-footer .fine {
    padding-top: 12pt !important;
    font-size: 6.8pt;
  }
}