/* ============================================================
   Print stylesheet — Tech Edition
   Hides chrome, ads, nav, and paywall; prints just the article.
   ============================================================ */

@media print {

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

	body {
		font-family: Georgia, 'Times New Roman', Times, serif;
		font-size: 12pt;
		line-height: 1.5;
		margin: 0;
		padding: 0;
	}

	/* ---- Hide everything that isn't content ---- */
	.util-bar,
	.site-header,
	.section-nav,
	.mini-header,
	.progress-bar,
	.filter-bar,
	.archive-sidebar,
	.ad-slot,
	.in-article-ad,
	.inline-newsletter,
	.subscriber-gate,
	.comment-respond,
	.comment-list,
	.related-section,
	.more-from-author,
	.author-card,
	.tag-row,
	.meta-actions,
	.author-sidebar,
	.site-footer,
	.skip-link,
	nav,
	aside,
	.paywall { display: none !important; }

	/* ---- Article container ---- */
	.article-container {
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* ---- Typography ---- */
	h1, h2, h3, h4, h5, h6 {
		font-family: Georgia, 'Times New Roman', Times, serif;
		page-break-after: avoid;
	}

	.article-title {
		font-size: 24pt;
		line-height: 1.2;
		margin-bottom: 8pt;
	}

	.article-subhead {
		font-size: 14pt;
		font-weight: normal;
		margin-bottom: 8pt;
	}

	/* ---- Byline ---- */
	.byline-row {
		border-top: 1pt solid #000;
		border-bottom: 1pt solid #000;
		padding: 6pt 0;
		margin-bottom: 12pt;
		font-size: 10pt;
	}

	.author-photo { display: none !important; }

	/* ---- Article meta ---- */
	.article-meta {
		font-size: 9pt;
		color: #444 !important;
		margin-bottom: 12pt;
	}

	/* ---- Hero image ---- */
	.hero-image {
		margin: 12pt 0 !important;
		page-break-inside: avoid;
	}

	.hero-image img {
		max-width: 100% !important;
		height: auto !important;
	}

	.hero-caption {
		font-size: 9pt;
		font-style: italic;
	}

	/* ---- Body text ---- */
	.article-body {
		font-size: 11pt;
		line-height: 1.6;
	}

	.article-body p {
		orphans: 3;
		widows: 3;
		margin-bottom: 10pt;
	}

	/* ---- Show URLs after links ---- */
	.article-body a[href]::after {
		content: " (" attr(href) ")";
		font-size: 9pt;
		color: #444 !important;
		word-break: break-all;
	}

	/* Don't expand internal anchors or JS links */
	.article-body a[href^="#"]::after,
	.article-body a[href^="javascript:"]::after { content: ""; }

	/* ---- Pull quotes ---- */
	.pull-quote {
		border-top: 1pt solid #000;
		border-bottom: 1pt solid #000;
		margin: 16pt 0;
		padding: 8pt 0;
		page-break-inside: avoid;
	}

	.pull-quote blockquote {
		font-size: 14pt;
		font-style: italic;
	}

	/* ---- Images ---- */
	img {
		max-width: 100% !important;
		page-break-inside: avoid;
	}

	/* ---- Page breaks ---- */
	.article-end { page-break-before: always; }

	/* ---- Print header (shown only when printing) ---- */
	@page {
		margin: 1.5cm 2cm;
	}
}
