@media print {
  @page { size: 297mm 167mm; margin: 0; }
  html, body { width: 297mm; }
  .header, footer { display: none !important; }
  main > section {
    box-sizing: border-box;
    width: 297mm !important;
    height: 167mm !important;
    min-height: 167mm !important;
    max-height: 167mm !important;
    overflow: hidden !important;
    break-after: page;
    page-break-after: always;
  }
  .hero { min-height: 167mm !important; }
  .intro, .team { padding-top: 27mm !important; padding-bottom: 27mm !important; }
  .services { padding-top: 24mm !important; }
  .team { padding-top: 23mm !important; }
  .profiles article > img { max-height: 82mm !important; }
  .contact { min-height: 167mm !important; }

  /* Compact the platform page without changing its screen layout. */
  .services .services-head { gap: 15mm !important; }
  .services .services-head h2 { font-size: 19mm !important; }
  .services .service-list { margin-top: 14mm !important; }
  .services .service-list article,
  .services .service-list article + article { min-height: 0 !important; padding-top: 4mm !important; padding-bottom: 4mm !important; }
  .services .service-list h3 { font-size: 11mm !important; margin-top: 7mm !important; margin-bottom: 3mm !important; }
  .services .service-list p { font-size: 8pt !important; line-height: 1.35 !important; }

  /* Keep both portraits and the team statement inside one page. */
  .team .team-head { margin-bottom: 10mm !important; }
  .team .team-head h2 { font-size: 17mm !important; }
  .team .profiles { gap: 8mm !important; }
  .team .profiles article > img { max-height: 58mm !important; }
  .team .profiles article > div { padding-top: 3mm !important; }
  .team .profiles h3 { font-size: 10mm !important; }
  .team .profiles aside { font-size: 10pt !important; line-height: 1.25 !important; padding-top: 4mm !important; }
}
