/* ============================================================
   Gray Lorusso — print stylesheet
   Strips dark theme, glows, fixed nav, and modal for clean ink.
   ============================================================ */

@page {
  size: Letter;
  margin: 0.5in;
}

@media print {

  /* ---- reset to ink-on-paper ---------------------------------- */
  *,
  *::before,
  *::after {
    background: transparent !important;
    background-image: none !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    animation: none !important;
    transition: none !important;
  }

  html,
  body {
    background: #fff !important;
    color: #000 !important;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 10.5pt;
    line-height: 1.45;
  }

  /* kill the blueprint grid, grain overlay, and arc glow */
  body {
    background-image: none !important;
  }
  body::before,
  body::after {
    display: none !important;
    content: none !important;
  }

  /* ---- hide chrome / interactive bits ------------------------- */
  .nav,
  nav.nav,
  .nav-links,
  .nav .cta,
  .actions,
  .hero .actions,
  #cert-lightbox,
  .cert-lightbox,
  [role="dialog"],
  .lightbox,
  .modal,
  .reveal-trigger,
  button,
  .btn {
    display: none !important;
  }

  /* let reveal-animation elements show in print */
  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  /* ---- layout shell ------------------------------------------- */
  .shell {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* hazard stripes flatten to a thin gray rule */
  .hazard-rule,
  .id-card::before,
  .contact-block::before {
    background: #999 !important;
    height: 1px !important;
    opacity: 1 !important;
  }

  /* ---- hero --------------------------------------------------- */
  .hero {
    display: block !important;
    min-height: 0 !important;
    padding: 0 0 18pt 0 !important;
    page-break-after: avoid;
  }
  .hero h1 {
    font-family: 'Archivo Black', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 36pt !important;
    line-height: 1 !important;
    margin-bottom: 8pt !important;
    color: #000 !important;
  }
  .hero h1 .stop {
    color: #000 !important;
    font-style: italic;
  }
  .hero .subline {
    font-size: 13pt !important;
    color: #000 !important;
    margin-bottom: 8pt !important;
  }
  .hero .tag {
    font-size: 10.5pt !important;
    max-width: 100% !important;
    margin-bottom: 10pt !important;
  }
  .hero-meta,
  .meta-row {
    font-size: 9pt !important;
    color: #333 !important;
  }
  .status-pill {
    border: 1px solid #000 !important;
    color: #000 !important;
    background: transparent !important;
  }
  .status-pill .dot {
    background: #000 !important;
  }

  /* ID card -- compact for print */
  .id-card {
    border: 1px solid #999 !important;
    margin-top: 12pt !important;
    page-break-inside: avoid;
  }
  .id-card-head,
  .id-card-foot {
    border-color: #ccc !important;
  }
  .id-grid {
    border-color: #ccc !important;
    background: transparent !important;
  }
  .id-cell {
    border: 1px solid #eee !important;
  }

  /* ---- sections ----------------------------------------------- */
  .section {
    padding: 14pt 0 !important;
    border-top: 1px solid #999 !important;
    page-break-inside: auto;
  }
  .section-head {
    display: block !important;
    margin-bottom: 12pt !important;
  }
  .section-title {
    font-family: 'Archivo Black', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 18pt !important;
    line-height: 1.05 !important;
    color: #000 !important;
  }
  .section-eyebrow {
    font-size: 8.5pt !important;
    color: #555 !important;
  }
  .section-meta-text {
    font-size: 10pt !important;
    color: #333 !important;
    text-align: left !important;
    max-width: 100% !important;
  }

  /* ---- certs -------------------------------------------------- */
  .cert-intro {
    font-size: 10.5pt !important;
  }
  .cert-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8pt !important;
  }
  .cert-card {
    border: 1px solid #999 !important;
    padding: 10pt !important;
    page-break-inside: avoid;
  }
  .cert-card::before {
    display: none !important;
  }
  .cert-name {
    font-size: 12pt !important;
  }
  .cert-spec {
    font-size: 10pt !important;
    font-style: italic;
  }
  .cert-desc {
    font-size: 9.5pt !important;
  }
  .cert-top,
  .cert-process,
  .cert-pos {
    color: #333 !important;
    border-color: #999 !important;
  }

  /* cert thumbnails -- reasonable print size */
  .cert-thumb,
  .cert-card img,
  .cert-card svg {
    max-width: 100% !important;
    max-height: 1.5in !important;
    height: auto !important;
    width: auto !important;
    page-break-inside: avoid;
  }

  .cert-note {
    border: 1px solid #999 !important;
    border-left: 3px solid #000 !important;
    padding: 8pt !important;
    page-break-inside: avoid;
  }

  /* ---- processes ---------------------------------------------- */
  .proc-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 1pt !important;
    border: 1px solid #999 !important;
    background: transparent !important;
  }
  .proc {
    padding: 8pt !important;
    border: 1px solid #ddd !important;
    page-break-inside: avoid;
  }
  .proc .code {
    color: #555 !important;
    font-size: 8.5pt !important;
  }
  .proc .name {
    font-size: 11pt !important;
  }
  .proc .det {
    font-size: 9.5pt !important;
    color: #333 !important;
  }

  /* ---- experience --------------------------------------------- */
  .exp-list {
    display: block !important;
  }
  .exp-row {
    display: grid !important;
    grid-template-columns: 110pt 1fr 100pt !important;
    gap: 12pt !important;
    padding: 8pt 0 !important;
    border-bottom: 1px solid #ccc !important;
    page-break-inside: avoid;
  }
  .exp-row:hover {
    padding-left: 0 !important;
    background: transparent !important;
  }
  .exp-when,
  .exp-loc {
    font-size: 9pt !important;
    color: #555 !important;
  }
  .exp-title {
    font-size: 11pt !important;
  }
  .exp-company {
    font-style: italic;
    color: #000 !important;
  }
  .exp-blurb {
    font-size: 9.5pt !important;
    color: #333 !important;
    max-width: 100% !important;
  }

  /* ---- bottom strip ------------------------------------------- */
  .bottom-strip {
    display: grid !important;
    grid-template-columns: 1.1fr 1fr !important;
    border: 1px solid #999 !important;
    background: transparent !important;
    page-break-inside: avoid;
  }
  .bs-col {
    padding: 10pt !important;
    border: 1px solid #eee !important;
  }
  .bs-col h4 {
    color: #000 !important;
    font-size: 9pt !important;
    margin-bottom: 8pt !important;
  }
  .edu-name {
    font-size: 10.5pt !important;
  }
  .edu-detail {
    font-size: 9.5pt !important;
    color: #333 !important;
  }
  .dist {
    border: 1px solid #999 !important;
    background: transparent !important;
    color: #000 !important;
    font-size: 8.5pt !important;
    padding: 3pt 6pt !important;
  }

  /* ---- contact ------------------------------------------------ */
  .contact-block {
    display: block !important;
    border: 1px solid #999 !important;
    padding: 14pt !important;
    background: transparent !important;
    page-break-inside: avoid;
  }
  .contact-block::after {
    display: none !important;
  }
  .contact-lead {
    font-size: 16pt !important;
    margin-bottom: 10pt !important;
  }
  .contact-lead .sub {
    font-size: 10pt !important;
    color: #333 !important;
    margin-top: 8pt !important;
  }
  .contact-actions {
    display: block !important;
  }
  .contact-link {
    display: block !important;
    border: 1px solid #ddd !important;
    padding: 6pt 8pt !important;
    margin-bottom: 4pt !important;
    font-size: 9.5pt !important;
  }
  .contact-link .a {
    display: none !important;
  }

  /* ---- footer ------------------------------------------------- */
  footer {
    border-top: 1px solid #999 !important;
    padding: 8pt 0 !important;
    font-size: 8.5pt !important;
    color: #555 !important;
  }

  /* show full URLs after links */
  a[href^="http"]::after,
  a[href^="mailto:"]::after,
  a[href^="tel:"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: #555;
    word-break: break-all;
  }
  a[href^="#"]::after {
    content: "";
  }

  /* avoid orphaned headings */
  h1, h2, h3, h4 {
    page-break-after: avoid;
  }
}
