@media print {
  :root {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  html,
  body {
    background: var(--bg);
  }

  .site-header {
    position: static;
    height: auto;
    padding: 1rem 0;
    break-after: avoid;
  }

  .nav-toggle,
  .header-end,
  .hero-actions,
  .functions-cta,
  .contact-form,
  .contact-intro-cta,
  .footer-legal,
  .modal {
    display: none !important;
  }

  .hero {
    min-height: auto;
    padding: 2rem 0 2.5rem;
    break-after: page;
  }

  .hero-bg img {
    opacity: 0.35;
  }

  .section {
    padding-block: 2rem;
  }

  .section-header {
    break-after: avoid;
  }

  .why-card,
  .function-card {
    break-inside: avoid;
  }

  .function-group-header {
    break-after: avoid;
  }

  .functions-hero-media {
    break-inside: avoid;
    margin-bottom: 1.5rem;
  }

  .contact-section {
    break-before: page;
  }

  .contact-grid {
    display: block;
  }

  .site-footer {
    break-before: avoid;
    margin-top: 2rem;
  }

  a[href^="http"]::after,
  a[href^="mailto"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: var(--text-muted);
  }

  a[href^="#"]::after {
    content: "";
  }
}
