/* ─────────────────────────────────────────────────────────────
   print.css — linked with media="print" on every page.
   Goal: a recruiter who prints a page (or saves it to PDF) gets a
   clean, ink-cheap document with working references, not a
   screenshot of a dark website.
   ───────────────────────────────────────────────────────────── */

@page{margin:16mm 14mm;}

html,body{
  background:#fff !important;
  color:#111 !important;
}

body{
  font-size:11pt !important;
  line-height:1.55 !important;
  padding:0 !important;
  animation:none !important;
}

/* ── strip interactive + decorative chrome ── */
nav,.top-bar,.mobile-menu,.hamburger,.nav-tools,.nav-dl,.nav-back,
#ambientCanvas,#ambientFx,#rv-progress,canvas,
.fab-stack,.cc-banner,.pal-backdrop,.modal-backdrop,.toast-wrap,
.skip-link,.copy-btn,.scroll-hint,.filter-bar,#filter-bar,
.nl,.form-submit,#contact-form,.faq-q .faq-mark{
  display:none !important;
}

/* ── every reveal must be visible on paper ── */
[data-rv],.appear,.tl-item,.proj-card,.reveal{
  opacity:1 !important;
  transform:none !important;
  animation:none !important;
  transition:none !important;
}

/* ── flatten the dark palette ── */
*{
  background-image:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  color:#111 !important;
}
section,footer,.proj-card,.cert-card,.wid-card,.ep-card,.contact-card,
.left-panel,.right-panel,.faq-item,.card{
  background:#fff !important;
  border-color:#bbb !important;
}

/* ── type ── */
h1{font-size:20pt !important;}
h2{font-size:15pt !important;}
h3,.proj-title,.faq-q{font-size:12pt !important;}
.hero-name,.ph-title,.lp-title,.footer-brand{font-size:22pt !important;letter-spacing:-.5px !important;}
.proj-desc,.wid-desc,.ep-desc,p,li,td{font-size:10.5pt !important;}
.proj-idx,.proj-n,.proj-tag,.pal-it-kind{color:#666 !important;}

/* ── print the destination of every meaningful link ── */
a{text-decoration:none !important;border:0 !important;}
a[href^="http"]::after{
  content:" (" attr(href) ")";
  font-size:8.5pt;color:#555 !important;word-break:break-all;
}
a[href^="#"]::after,a:not([href^="http"]):not([href^="mailto"])::after,a[download]::after{content:"";}

/* ── pagination discipline ── */
h1,h2,h3,.section-header,.proj-title,.faq-q{break-after:avoid;page-break-after:avoid;}
.proj-card,.cert-card,.cert-item,.wid-card,.faq-item,.timeline-item,.exp-item,tr{
  break-inside:avoid;page-break-inside:avoid;
}
section{break-before:auto;}
footer{border-top:1px solid #bbb !important;padding-top:8pt !important;}

/* ── grids collapse to a readable column count on paper ── */
.projects-grid{display:block !important;}
.proj-card{margin-bottom:8pt !important;border:1px solid #bbb !important;padding:10pt !important;}
.proj-card.wide{display:block !important;}
.wid-grid,.explore-grid,.exp-grid{
  display:grid !important;grid-template-columns:1fr 1fr !important;gap:8pt !important;
}
.contact-wrap{display:block !important;}

/* accordions print open — a closed FAQ on paper is a blank line */
.faq-a{height:auto !important;overflow:visible !important;}

/* tables */
table{width:100% !important;border-collapse:collapse !important;}
th,td{border-bottom:1px solid #ccc !important;padding:4pt 6pt !important;}
thead{display:table-header-group;}

/* images stay inside the page box */
img{max-width:100% !important;page-break-inside:avoid;}
.avatar,.photo-wrap img{max-width:32mm !important;}
