/* ==========================================================================
   PRINT STYLESHEET — light, ink-friendly rendering of the full site.
   Loaded with media="print" on every page; does not affect the screen.
   ========================================================================== */

@media print {
  @page {
    size: Letter;
    margin: 13mm 13mm 15mm;
  }

  /* --- Global: light paper, dark ink, strip decorative effects --- */
  html,
  body {
    background: #fff !important;
    color: #111 !important;
    font-size: 11pt;
  }

  body * {
    color: #111 !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-color: #ccc !important;
  }

  body *::before,
  body *::after {
    background: none !important;
    box-shadow: none !important;
  }

  /* Keep a printable brand accent on emphasis text for hierarchy. */
  .text-orange,
  .hero-title-accent,
  .page-header-title .text-orange,
  .values-num,
  .moments-year {
    color: #c2410c !important;
  }

  img {
    max-width: 100%;
  }

  a {
    color: #111 !important;
    text-decoration: none !important;
  }

  /* --- Force scroll-reveal / animated content fully visible --- */
  .reveal-ready,
  .fade-in-view,
  .card,
  .timeline-item,
  .press-card,
  .video-card,
  .leadership-card,
  .pm-archive-item,
  .hero-content,
  .page-header,
  .page-header-row,
  [class*="reveal"],
  [class*="fade-in"] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    transition: none !important;
    animation: none !important;
  }

  /* --- Hide chrome & interactive UI (keeps content images) --- */
  .skip-link,
  .site-header,
  .site-footer,
  .nav-menu,
  .nav-menu-footer,
  .nav-toggle,
  .hero-cta,
  .journey-cta,
  .journey-actions,
  .btn,
  .hero-media-band,
  .hero-background,
  .archive-lightbox,
  .video-modal,
  .pm-archive-search,
  .pm-archive-no-results,
  .contribute-card,
  .photo-campaign-form,
  .photo-dropzone,
  .photo-preview,
  .photo-picker,
  .flow-progress,
  .flow-actions,
  form,
  input,
  select,
  textarea {
    display: none !important;
  }

  /* Archive gallery items are <button> wrappers around real photos:
     render them as static figures instead of removing them. */
  .pm-archive-open {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    color: #111 !important;
    cursor: default !important;
  }

  /* --- Home hero: collapse to a clean text cover --- */
  .home-page .hero {
    min-height: 0 !important;
    height: auto !important;
    padding: 6mm 0 8mm !important;
    text-align: left !important;
    display: block !important;
    overflow: visible !important;
  }
  .home-page .hero-content {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
  }
  .home-page .hero-tagline,
  .home-page .hero-title,
  .home-page .hero-subtitle,
  .home-page .hero-location {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .home-page .hero-title {
    font-size: 30pt !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
  }
  .home-page .hero-subtitle {
    max-width: none !important;
  }

  /* --- Interior page masthead: strip the dark photo hero --- */
  .page-header {
    min-height: 0 !important;
    padding: 4mm 0 7mm !important;
    text-align: left !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  .page-header::before,
  .page-header::after {
    display: none !important;
  }
  .page-header .container {
    justify-content: flex-start !important;
    max-width: none !important;
    width: 100% !important;
  }
  .page-header-row {
    align-items: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
    max-width: none !important;
  }
  .page-header-title {
    font-size: 24pt !important;
    line-height: 1.05 !important;
  }

  /* --- Layout: let constrained grids relax to readable flow --- */
  .container {
    width: 100% !important;
    max-width: none !important;
  }

  /* --- Page-break hygiene --- */
  h1,
  h2,
  h3,
  h4 {
    break-after: avoid;
    page-break-after: avoid;
  }
  img,
  figure,
  figcaption,
  .card,
  .timeline-item,
  .press-card,
  .pm-archive-item,
  blockquote,
  table,
  li {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
