@media print {

  /* =========================
     RESET + PAGE
  ========================= */
  * { box-shadow: none !important; text-shadow: none !important; }
  html, body { background: #fff !important; color: #000 !important; }
  @page { margin: 0.75in; }

  /* =========================
     COMPACT TYPOGRAPHY
  ========================= */
  body { font-size: 9.5pt !important; line-height: 1.25 !important; }
  p { margin: 0 0 6pt 0 !important; }
  ul, ol { margin: 0 0 6pt 18pt !important; }
  li { margin: 0 0 2pt 0 !important; }

  h1 { font-size: 15pt !important; margin: 0 0 8pt 0 !important; }
  h2 { font-size: 12pt !important; margin: 10pt 0 6pt 0 !important; }
  h3 { font-size: 11pt !important; margin: 8pt 0 4pt 0 !important; }

  /* =========================
     HIDE GLOBAL CHROME
  ========================= */
  footer,
  .breadcrumb, .breadcrumbs,
  .site-alert, .nsu-alert,
  .search, .search-bar,
  .cookie-banner, .chat-widget,
  .social, .back-to-top {
    display: none !important;
  }

  /* =========================
     HEADER: KEEP LOGO ONLY
     (your header isn't a <header> tag)
  ========================= */
  .header-top-level { padding-top: 0 !important; padding-bottom: 8pt !important; }

  /* Hide CTAs / quick links area */
  .header-cta-buttons,
  .header-btn-quick-links,
  .header-btn-give,
  .header-btn-request-info,
  .header-btn-apply-now,
  .dropdown-menu {
    display: none !important;
  }

  /* Keep logo visible + size it */
  .header-logo { display: block !important; }
  .header-logo img { max-height: 44px !important; width: auto !important; }

  /* Optional: hide the unit name to save space */
  .header-logo .header-school-name { display: none !important; }

  /* =========================
     BANNER: KEEP H1 ONLY, HIDE IMAGE
  ========================= */
  #carouselExampleBanners .banner-img,
  #carouselExampleBanners .banner-overlay,
  #carouselExampleBanners img {
    display: none !important;
  }

  #carouselExampleBanners .banner-wrapper,
  #carouselExampleBanners .banner-content {
    display: block !important;
    padding: 0 !important;
    margin: 0 0 10pt 0 !important;
  }

  #carouselExampleBanners .banner-heading {
    display: block !important;
    color: #000 !important;
    margin: 0 0 10pt 0 !important;
  }

  /* =========================
     REMOVE RIGHT COLUMN (MENU + IMPORTANT LINKS)
  ========================= */
  .col-lg-3.offset-lg-1 { display: none !important; }

  /* =========================
     TABS: PRINT ALL PANELS
  ========================= */
  .nav-tabs, [role="tablist"] { display: none !important; }
  .tab-pane {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin-bottom: 12pt !important;
  }

  /* =========================
     ACCORDIONS: FORCE OPEN
  ========================= */
  .accordion-collapse.collapse,
  .accordion-collapse.collapsing {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  .accordion-button {
    background: none !important;
    color: #000 !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 6pt 0 !important;
    font-weight: 700 !important;
  }
  .accordion-button::after { display: none !important; }
  .accordion-item { margin-bottom: 10pt !important; }

  /* =========================
     TABLES
  ========================= */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 9pt !important;
    page-break-inside: auto;
  }
  thead { display: table-header-group; }
  tfoot { display: table-footer-group; }
  td, th { padding: 3pt 4pt !important; vertical-align: top !important; overflow-wrap: anywhere; }
  tr, td, th { break-inside: avoid; page-break-inside: avoid; }

  /* =========================
     IMAGES / CHARTS
  ========================= */
  img, svg, canvas { max-width: 100% !important; height: auto !important; }

  /* =========================
     OVERRIDE INLINE WYSIWYG FONT SIZES
  ========================= */
  .wysiwyg-wrapper [style*="font-size"],
  .wysiwyg-wrapper span[style*="font-size"],
  .wysiwyg-wrapper p[style*="font-size"],
  .wysiwyg-wrapper td[style*="font-size"],
  .wysiwyg-wrapper th[style*="font-size"] {
    font-size: inherit !important;
  }
  .wysiwyg-wrapper,
  .wysiwyg-wrapper p,
  .wysiwyg-wrapper li,
  .wysiwyg-wrapper td,
  .wysiwyg-wrapper th {
    font-size: 9.5pt !important;
    line-height: 1.25 !important;
  }

  /* =========================
     LINKS
  ========================= */
  a { color: #000 !important; text-decoration: underline !important; }
  a[href^="http"]:after { content: " (" attr(href) ")"; font-size: 8pt; }
}
/* === KEEP YOUR CURRENT WORKING RULES ABOVE THIS LINE === */

  /* Unhide banner + image */
  #carouselExampleBanners,
  #carouselExampleBanners * {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Ensure image prints reasonably */
  #carouselExampleBanners img {
    max-width: 100% !important;
    height: auto !important;
  }

}
