/* ---------------------------------------------------------------------------
 * Single treatment — Noir (Monsoon Dark)
 * Dark cinematic reading: glowing headline, luminous rules, film-grain
 * media and dense soft-white text on charcoal.
 * ------------------------------------------------------------------------- */

body.np-system-monsoon-dark .np-single--noir {
	--np-noir-ink: #e9edf3;
	max-width: 880px;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

body.np-system-monsoon-dark .np-single__head--noir {
	padding: 3.5rem 0 1.5rem;
}

body.np-system-monsoon-dark .np-single__head--noir .np-eyebrow {
	color: var(--np-color-primary, #38bdf8);
	text-shadow: 0 0 16px color-mix(in srgb, var(--np-color-primary) 65%, transparent);
}

body.np-system-monsoon-dark .np-single__title {
	color: var(--np-noir-ink);
	font-size: clamp(2rem, 5vw, 3.4rem);
	line-height: 1.04;
	letter-spacing: -0.01em;
	margin: 0.5rem 0;
}

body.np-system-monsoon-dark .np-single__dek {
	color: color-mix(in srgb, var(--np-noir-ink) 72%, transparent);
	font-size: var(--np-size-lg, 1.125rem);
}

body.np-system-monsoon-dark .np-single__head--noir .np-meta {
	color: color-mix(in srgb, var(--np-noir-ink) 60%, transparent);
	font-family: var(--np-font-mono, monospace);
	font-size: var(--np-size-xs, 0.75rem);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.np-system-monsoon-dark .np-single__noir-media {
	position: relative;
	margin: 2rem 0;
}

body.np-system-monsoon-dark .np-single__noir-media img {
	width: 100%;
	height: auto;
	display: block;
	filter: saturate(0.85) contrast(1.06);
}

body.np-system-monsoon-dark .np-single__noir-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 3px 3px;
	opacity: 0.5;
	mix-blend-mode: overlay;
}

body.np-system-monsoon-dark .np-single__noir-body {
	color: var(--np-noir-ink);
	font-size: var(--np-size-lg, 1.125rem);
	line-height: 1.85;
}

body.np-system-monsoon-dark .np-single__noir-body > p:first-of-type::first-letter {
	font-family: var(--np-font-display, serif);
	font-size: 4em;
	font-weight: 700;
	float: left;
	line-height: 0.8;
	padding: 0.1em 0.15em 0 0;
	color: var(--np-color-primary, #38bdf8);
	text-shadow: 0 0 22px color-mix(in srgb, var(--np-color-primary) 60%, transparent);
}

body.np-system-monsoon-dark .np-single__noir-body blockquote {
	border-left: 3px solid var(--np-color-primary, #38bdf8);
	box-shadow: -14px 0 30px -22px var(--np-color-primary);
	padding-left: 1.25rem;
	font-size: 1.3em;
	font-style: italic;
	color: var(--np-noir-ink);
	margin: 2.25rem 0;
}

body.np-system-monsoon-dark .np-single__noir-body a {
	color: var(--np-color-primary, #38bdf8);
	text-decoration-color: color-mix(in srgb, var(--np-color-primary) 40%, transparent);
}

body.np-system-monsoon-dark .np-single__noir-body .np-article__foot {
	border-top: 1px solid color-mix(in srgb, var(--np-noir-ink) 18%, transparent);
	padding-top: 1.5rem;
}

body.np-system-monsoon-dark .np-single__noir-body .np-tags a {
	background: color-mix(in srgb, var(--np-color-primary) 14%, transparent);
	color: var(--np-noir-ink);
	border: 1px solid color-mix(in srgb, var(--np-color-primary) 35%, transparent);
}
