@page { size: A4; margin: 12mm; }
@media print {
  .topbar, .site-header, .mobile-bar, .cta-band, .site-footer, .btn-row, .btn, .skip, .breadcrumb, .no-print, .map, iframe { display: none !important; }
  html { font-size: 10.5pt !important; }
  html, body { background: #fff !important; }
  * { color: #111 !important; background: transparent !important; box-shadow: none !important; text-shadow: none !important; }
  main { padding: 0 !important; }
  .page-hero, .section { padding: 6pt 0 !important; margin: 0 !important; border: 0 !important; min-height: 0 !important; }
  .wrap { max-width: none !important; padding: 0 !important; }
  h1 { font-size: 24pt !important; line-height: 1.05 !important; margin: 0 0 4pt !important; }
  h2 { font-size: 16pt !important; line-height: 1.1 !important; margin: 0 0 4pt !important; }
  h3 { font-size: 12pt !important; margin: 0 0 2pt !important; }
  p, li, span, dd, dt { font-size: 10pt !important; line-height: 1.35 !important; }
  .kicker { color: #c4161f !important; font-size: 9pt !important; }
  .head { margin-bottom: 6pt !important; }
  .split { display: grid !important; grid-template-columns: 35% 1fr !important; gap: 12pt !important; align-items: start !important; }
  .split img, .photo { max-height: 150pt !important; width: 100% !important; object-fit: cover !important; border-radius: 6pt; }
  .passes, .grid--3 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 6pt !important; }
  .pass { border: 1pt solid #999 !important; padding: 8pt !important; border-radius: 6pt; }
  .pass--featured { border: 2pt solid #111 !important; }
  .amount { font-size: 20pt !important; line-height: 1.1 !important; }
  .steps { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 6pt !important; }
  .steps li { border: 1pt solid #999 !important; padding: 7pt !important; border-radius: 6pt; }
  .steps li::before { font-size: 16pt !important; margin-bottom: 2pt !important; color: #c4161f !important; }
  .grid--4, .clients { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 6pt !important; }
  .clients li { min-height: 0 !important; height: auto !important; aspect-ratio: auto !important; padding: 4pt !important; }
  .clients img, .grid--4 img { max-height: 32pt !important; width: auto !important; }
  .checks li { margin: 0 0 2pt !important; }
  li, .pass, .review, figure, picture, blockquote, .head, .info { break-inside: avoid; page-break-inside: avoid; }
  h2, h3, .kicker { break-after: avoid; page-break-after: avoid; }
}
