/* ==========================================================================
   print.css - loaded with media="print": paper-friendly output. Posts and legal pages print as a clean article (title, meta, text, tags,
   author); navigation, call-to-action bands, forms, sidebars, related posts and decorative image placeholders stay off the paper.
   ========================================================================== */
@media print {
  @page { margin: 18mm 16mm; }
  .top-bar,
  .site-header,
  .drawer,
  .call-band,
  .call-box,
  .quick-form,
  .contact-form,
  .skip-link,
  .menu-toggle,
  .share,
  .toc,
  .side-cta,
  .layout-split__aside,
  .similar,
  .map-card__actions,
  .chip-row,
  .search-box,
  .pagination,
  .hero__actions,
  .site-footer__top,
  .site-footer__legal,
  .post-cover,
  .breadcrumb,
  .post-head__chip,
  .media-ph:not(.media-ph--has-image) { display: none; }
  .js .accordion__panel { grid-template-rows: 1fr; visibility: visible; }
  html, body { background: #fff; color: #000; font-size: 11pt; }
  body { line-height: 1.5; }
  .container { width: auto; max-width: none; padding-inline: 0; }
  .layout-split { display: block; }
  .section, .post-body, .legal { padding-block: 0; }
  /* dark bands become plain text on paper */
  .hero,
  .page-hero,
  .service-hero,
  .post-head,
  .site-footer { background: none; color: #000; padding-block: 0 8mm; }
  .hero *,
  .page-hero *,
  .service-hero *,
  .post-head *,
  .site-footer * { color: #000; }
  h1, .post-head__title { font-size: 22pt; line-height: 1.15; }
  .post-head__lead, .page-hero__intro { font-size: 12pt; color: #333; }
  .prose { font-size: 11pt; line-height: 1.55; color: #000; }
  .prose h2 { font-size: 15pt; break-after: avoid; margin-top: 8mm; }
  .prose h3, .prose h4, .service-block__title, .section-heading__title { break-after: avoid; }
  .prose p, .prose li { orphans: 3; widows: 3; }
  .prose .checklist, .prose .tip, .prose blockquote, .author-box, .post-tags, .accordion__item, .service-block__item, img { break-inside: avoid; }
  .prose .checklist, .prose .tip, .prose blockquote, .author-box { border: 0.3mm solid #999; background: none; }
  .post-tags__list { display: flex; flex-wrap: wrap; gap: 2mm; }
  .tag { border: 0.2mm solid #999; background: none; color: #000; }
  .site-footer { border-top: 0.3mm solid #999; margin-top: 8mm; padding-top: 4mm; font-size: 9pt; }
  a { color: #000; text-decoration: underline; }
  .site-header, .site-footer__bottom a { text-decoration: none; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
  /* the little check / bulb discs carry the meaning of the lists: print them even with "background graphics" off */
  .prose .checklist li::before,
  .prose .checklist li::after,
  .prose .tip::before,
  .prose .tip::after,
  .prose blockquote { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  [data-reveal] { opacity: 1; transform: none; }
}
