@page { size: A4; margin: 16mm; }
@media print {
  :root { --section-space: 0; }
  html { scroll-behavior: auto; }
  body { background: #fff; color: #000; font: 10pt/1.5 Arial, sans-serif; }
  body .site-header, body .skip-link, body .menu-toggle, body .main-nav,
  body .whatsapp-fab, body .cookie-bar, body .footer-links,
  body .privacy-settings, body .hero-glow, body .cta-glow,
  body .testimonials-background, body .testimonials-overlay,
  body .contact-form, body .map-container, body .actions { display: none; }
  body .container { width: 100%; max-width: none; margin: 0; }
  body .section, body .site-footer { background: #fff; color: #000; padding: 5mm 0; min-height: 0; overflow: visible; }
  body .section::after { display: none; }
  body .hero-grid, body .split-grid, body .editorial-grid,
  body .editorial-cards, body .quote-pair, body .process-timeline,
  body .testimonials-layout, body .faq-layout, body .location-grid,
  body .booking-grid, body .footer-grid, body .footer-bottom { display: block; }
  body h1, body h2, body h3 { color: #000; break-after: avoid; }
  body h2, body .hero-copy h2 { font-size: 22pt; }
  body h3 { font-size: 14pt; }
  body .section-dark .text-metal { color: #000; background: none; -webkit-text-fill-color: #000; }
  body .eyebrow, body .section-dark .eyebrow, body .rating-badge strong,
  body .rating-stars, body .review-stars, body .quote-mark { color: #000; }
  body .lead { font-size: 11pt; }
  body .section-heading { margin-bottom: 4mm; max-width: none; }
  body p, body li { orphans: 3; widows: 3; }
  body .photo-frame, body .hero-visual { width: 85mm; max-width: 100%; margin: 3mm 0; break-inside: avoid; }
  body .photo-frame img { object-fit: cover; }
  body a { color: #000; text-decoration: underline; overflow-wrap: anywhere; }
  body a[href^="http"]::after, body a[href^="tel:"]::after { content: ' (' attr(href) ')'; font: 8pt/1.4 Arial, sans-serif; overflow-wrap: anywhere; }
  body a[href$=".html"]::after { content: ' (' attr(href) ')'; font-size: 8pt; }
  body .btn { display: inline; background: none; color: #000; padding: 0; border: 0; box-shadow: none; min-height: 0; }
  body .quote-inline, body .testimonial, body .editorial-card,
  body .process-timeline li { break-inside: avoid; padding: 3mm 0; border-color: #888; }
  body .testimonial blockquote, body .testimonial-featured blockquote { font-size: 11pt; }
  body .reveal { opacity: 1; transform: none; }
  body .faq-item { border-color: #888; }
  body .faq-item summary { font-size: 12pt; padding: 3mm 0; }
  body .faq-item::details-content { content-visibility: visible; display: block; }
  body .faq-answer { display: block; padding: 0 0 3mm; }
  body .footer-bottom { border-color: #888; margin-top: 4mm; padding-top: 3mm; }
  /* Print the existing educational sources as a list, regardless of active volume. */
  #shelf { padding: 0; }
  #shelf .shelf-stage, #shelf[data-mode="shelf"] .shelf-stage,
  #shelf[data-mode="detail"] .shelf-stage { display: none; }
  #shelf .books-data[hidden] { display: block !important; }
  #shelf .books-data { color: #000; background: #fff; }
  #shelf .book-data { display: list-item; list-style: decimal; margin: 0 0 5mm 6mm; padding-left: 2mm; break-inside: avoid; }
  #shelf .bp-kicker-src { font-size: 8pt; margin-bottom: 2mm; }
  #shelf .bp-title-src { font-size: 14pt; margin-bottom: 2mm; }
  #shelf .bp-list-src { padding-left: 5mm; }
}
