/* ═══════════════════════════════════════════════════════════════════════════
   BANTAM DIGITAL — print stylesheet
   Linked with media="print" on the one-pagers, the tier sheet, and the golf
   tearsheet — the pages people actually print or save to PDF.
   ═══════════════════════════════════════════════════════════════════════════ */

@page {
  size: letter;
  margin: 0.45in;
}

@media print {

  /* Force colour: these pages are navy/gold by design and read as broken in
     grayscale. Honoured by Chrome/Edge/Safari; Firefox needs the user to tick
     "Print backgrounds". */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html {
    scroll-behavior: auto;
  }

  body {
    background: var(--white);
    font-size: 10.5pt;
    line-height: 1.5;
  }

  /* Screen-only chrome. */
  nav,
  .nav-toggle,
  .nav-menu,
  footer .footer-nav,
  .scroll-hint,
  .skip-link,
  .btn-primary,
  .btn-ghost,
  .cta-section,
  .assessment-form,
  .form-row,
  .form-note,
  .form-note-italic,
  [data-print="hide"] {
    display: none !important;
  }

  /* Reveal animations never fire without scrolling — force the end state or
     the printed page comes out blank. */
  .reveal,
  .hero-eyebrow,
  .hero h1,
  .hero-sub,
  .hero-actions {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  .hero {
    min-height: auto;
    padding: 1.5rem 0 1rem;
  }

  .section {
    padding: 1.1rem 0;
    break-inside: avoid;
  }

  .section-inner {
    max-width: 100%;
  }

  /* Never orphan a heading at the foot of a page. */
  h1, h2, h3,
  .section-title,
  .card h3 {
    break-after: avoid;
    page-break-after: avoid;
  }

  .card,
  .credential-card,
  .callout-box,
  .compare-grid,
  .testimonial-card,
  .use-case-item {
    break-inside: avoid;
    page-break-inside: avoid;
    box-shadow: none !important;
    transform: none !important;
  }

  .diff-table {
    break-inside: auto;
  }

  .diff-table tr {
    break-inside: avoid;
  }

  /* Repeat the header when a table spans pages. */
  .diff-table thead {
    display: table-header-group;
  }

  /* Spell out link targets — a printed page can't be clicked. Skip anchors,
     mailto/tel (already legible), and anything inside a heading. */
  a[href^="http"]:not(.nav-logo)::after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    color: var(--text-light);
    word-break: break-all;
  }

  a[href^="#"]::after,
  a[href^="mailto"]::after,
  a[href^="tel"]::after,
  h1 a::after,
  h2 a::after,
  h3 a::after {
    content: "";
  }

  footer {
    padding: 1rem 0 0;
    border-top: 1px solid var(--rule);
    break-inside: avoid;
  }
}
