/* Shared brochure accessibility and print layout; no collection or network logic. */
:root {
  --brochure-paper: #ffffff;
  --brochure-ink: #1a2530;
  --brochure-focus: #1a6b6b;
}
body { padding-bottom: 90px; }
a, button { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--brochure-focus); outline-offset: 4px; }
.brochure-footer { overflow-wrap: anywhere; }
.hero-stats { flex-wrap: wrap; }
.hero-content, .container { min-width: 0; }
.download-btn, #floatingDownloadBtn { max-width: calc(100% - 32px); }
@media (max-width: 480px) {
  .hero { padding: 40px 24px; min-height: auto; }
  .container { padding: 0 24px; }
  .hero-stats { gap: 20px; }
  .pillars-grid, .addressed-grid, .transform-grid, .benefits-grid { grid-template-columns: 1fr; }
  .module-table th, .module-table td { padding: 10px 6px; overflow-wrap: anywhere; }
  .module-table { table-layout: fixed; }
  .module-table th:first-child { width: 32px; }
  .download-bar { padding: 12px 16px; flex-wrap: wrap; }
  .cta-btn, .cta-enquiry { padding: 14px 20px; max-width: 100%; }
}
@media print {
  @page { size: A4; margin: 12mm; }
  body { padding-bottom: 0; background: var(--brochure-paper); color: var(--brochure-ink); print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  #floatingDownloadBtn, .download-bar { display: none !important; }
  .hero { min-height: auto; padding: 24px; }
  .hero::after { display: none; }
  section { padding: 24px 0; break-inside: auto; page-break-inside: auto; }
  .container { padding: 0 16px; }
  .section-label, h2, h3, h4, .phase-header { break-after: avoid; page-break-after: avoid; }
  .section-label { display: flex; width: fit-content; }
  .driver-card, .trigger-item, .dimension-card, .deliver-item, .module-pill { break-inside: avoid; page-break-inside: avoid; }
  .trigger-grid, .commission-section .container, .fee-panel { break-inside: avoid; page-break-inside: avoid; }
  .learn-section .container { break-inside: avoid; page-break-inside: avoid; }
  .learn-section h2 { font-size: 28px; margin-bottom: 12px; }
  .learn-section .section-label { margin-bottom: 8px; }
  .learn-grid { gap: 10px; margin-top: 16px; }
  .learn-item { padding: 10px; }
  .assess-grid { grid-template-columns: repeat(2, 1fr); }
  .assess-card { overflow-wrap: anywhere; }
  .phase { margin-bottom: 20px; }
  .overview-card, .module-item, .learn-item, .assess-card, .benefit-card, .module-card, tr { break-inside: avoid; }
  .overview-card, .assess-card, .benefit-card { padding: 16px; }
  .cta-section { padding: 24px; break-inside: avoid; break-after: avoid; page-break-after: avoid; }
  .cta-section h2 { font-size: 28px; margin-bottom: 12px; }
  .cta-section p { font-size: 14px; margin-bottom: 16px; }
  .cta-btn, .cta-enquiry { padding: 12px 24px; }
  .cta-price, .cta-note, .cta-info { margin-top: 12px; }
  .brochure-footer { padding: 12px 16px; break-before: avoid; page-break-before: avoid; break-inside: avoid; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; transform: none !important; }
}