/*
    CSS Stylesheet - Empty Sandbox Print Styles
    Developed by: Cameron McCullough
    Created: 04-13-26
    Updated: 04-17-26
    Description: Print styles for the home page.
*/

@media print {
  /* ===== Hide interactive / decorative elements ===== */
  #site-header,
  #site-footer,
  .btn,
  .slicknav_menu,
  .hero-orb,
  .hero-orb-2,
  #trust-strip,
  #work-preview,
  #home-cta,
  [data-reveal],
  .header-cta {
    display: none !important;
  }

  /* ===== Page setup ===== */
  @page {
    margin: 1in;
    size: letter portrait;
  }

  /* ===== Reset backgrounds and colors ===== */
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 11pt;
    line-height: 1.5;
    color: #000;
  }

  /* ===== Typography ===== */
  h1 {
    font-size: 22pt;
    margin-bottom: 12pt;
    page-break-after: avoid;
  }

  h2 {
    font-size: 16pt;
    margin-bottom: 8pt;
    page-break-after: avoid;
    border-bottom: 1px solid #ccc;
    padding-bottom: 4pt;
  }

  h3, h4 {
    font-size: 13pt;
    page-break-after: avoid;
  }

  p {
    max-width: 100%;
    orphans: 3;
    widows: 3;
    margin-bottom: 8pt;
  }

  /* ===== Links ===== */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #555 !important;
  }

  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  /* ===== Layout reset ===== */
  .container {
    max-width: 100%;
    padding: 0;
  }

  main {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* ===== Services section ===== */
  .services-grid {
    display: block;
  }

  .service-card {
    display: block;
    border: 1px solid #ccc;
    padding: 8pt;
    margin-bottom: 8pt;
    page-break-inside: avoid;
  }

  .service-icon {
    display: none;
  }

  /* ===== Why ESB section ===== */
  .why-grid {
    display: block;
  }

  .why-card-stack {
    display: block;
  }

  .why-stat-card {
    border: 1px solid #ccc;
    padding: 6pt;
    margin-bottom: 6pt;
    page-break-inside: avoid;
  }

  /* ===== Section labels ===== */
  .section-label {
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #555 !important;
  }

  .section-label::before {
    display: none;
  }

  /* ===== Hero section ===== */
  #hero {
    min-height: auto;
    padding: 0 0 16pt 0;
    border-bottom: 2px solid #000;
    margin-bottom: 16pt;
  }

  .hero-eyebrow {
    border: 1px solid #ccc;
    padding: 2pt 6pt;
    font-size: 8pt;
  }

  .hero-headline {
    font-size: 24pt;
  }

  .hero-subtext {
    font-size: 11pt;
    max-width: 100%;
  }
}
