/* =====================================================================
   A4 print stylesheet — preserve the DESKTOP dark design on paper.
   Loaded with media="print"; everything is scoped to @media print and
   uses !important so it wins over the responsive screen rules.
   ===================================================================== */
@media print {

  @page { size: A4 portrait; margin: 8mm; }

  /* Make colours/backgrounds actually print; kill motion & blur */
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
    animation: none !important;
    transition: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Site dark background, drop the screen-only min-height:100vh */
  html, body {
    background: #05070f !important;   /* --bg */
    min-height: 0 !important;
    overflow: visible !important;
  }

  /* CRITICAL: reveal-on-scroll content is opacity:0 until JS adds .in —
     force it visible or most of the page prints blank. */
  .reveal, .rv, [class*="reveal"] {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Sticky nav + status bar -> static, solid, above any decorative layer */
  .statusbar {
    position: relative !important;
    z-index: 60 !important;
    background: #05070f !important;   /* solid, was rgba+blur */
    display: block !important;
  }
  .nav {
    position: relative !important;
    top: auto !important;
    z-index: 60 !important;
    background: #0a0d1a !important;    /* --bg-1, solid */
  }

  /* Hide screen-only chrome / full-screen decorative overlays */
  body::before, body::after { display: none !important; content: none !important; }
  .hero::before, .hero-grid-bg, .hero-orb, .hero-bottom-fade { display: none !important; }
  #cookieBanner, .cookie-banner,
  .nav-mobile-btn, .nav-mobile-menu, .nav-phone-mobile { display: none !important; }

  /* CRITICAL: A4 page width triggers the mobile breakpoints — re-assert the
     DESKTOP layout so the print matches the desktop browser, not mobile. */
  .nav-links        { display: flex !important; }
  .nav-phone-desktop{ display: inline-flex !important; }

  .hero-content { grid-template-columns: minmax(0,420px) 1fr !important; }
  .split        { grid-template-columns: 1fr 1fr !important; }
  .grid-2       { grid-template-columns: repeat(2,1fr) !important; }
  .grid-3       { grid-template-columns: repeat(3,1fr) !important; }
  .grid-4       { grid-template-columns: repeat(4,1fr) !important; }
  .footer-grid  { grid-template-columns: 1.5fr 1fr 1fr 1fr !important; }
  .hp-cards     { grid-template-columns: repeat(4,1fr) !important; }
  .dash-stats   { grid-template-columns: repeat(3,1fr) !important; }
  .key-chips    { grid-template-columns: repeat(2,1fr) !important; }
  .pricing-grid { grid-template-columns: repeat(3,1fr) !important; }
  .pricing-grid.four-col { grid-template-columns: repeat(4,1fr) !important; }
  .calc-result  { grid-template-columns: repeat(5,1fr) !important; }
  .calc-row, .form-row, .roi-result-grid { grid-template-columns: 1fr 1fr !important; }
  .dg-head, .dg-row { grid-template-columns: 60px 1.2fr 2.5fr 1fr 1fr !important; }

  /* Media: keep within page width, but DON'T globally force height:auto
     (that balloons fixed-size logos/badges). Pin those explicitly. */
  img, svg, video { max-width: 100% !important; }
  .nav-logo img      { height: 42px !important; width: auto !important; }
  .footer-logo img   { height: 44px !important; width: auto !important; }
  .footer-badges img { height: 54px !important; width: auto !important; }

  /* Trim the very large section padding so pages aren't half-empty */
  .section   { padding: 46px 0 !important; }
  .cta       { padding: 46px 0 !important; }
  .page-hero { padding: 44px 0 32px !important; }
  .hero      { padding: 44px 0 36px !important; }

  /* Page-break hygiene */
  .card, figure, blockquote, .feature-row, .dg-row { break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; }

  /* Don't append the URL after links */
  a[href]::after { content: none !important; }
}
