/**
 * MilitarySci — Entities Layer v5.0
 * Dossier shell, entity hero, facts, subnav, sections, archives.
 * Every entity detail page reads as an intelligence dossier.
 *//* ============================================================
   DOSSIER SHELL — main + identity aside
   ============================================================ */
.msi-dossier {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: var(--ms-space-7);
	align-items: start;
	padding-block: var(--ms-space-7) var(--ms-space-9);
}
.msi-dossier__main {
	min-inline-size: 0;
	display: grid;
	gap: var(--ms-space-7);
}
.msi-dossier__aside {
	position: static;
	inset-block-start: calc(var(--ms-header-h) + var(--ms-subnav-h) + var(--ms-space-4));
	display: grid;
	gap: var(--ms-space-4);
	align-self: start;
}
/* ============================================================
   ENTITY HERO — identity block
   ============================================================ */
.msi-entityhero {
	position: relative;
	overflow: hidden;
	border-block-end: 1px solid var(--ms-color-border);
	background: var(--ms-color-bg-secondary);
}
.msi-entityhero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
	gap: var(--ms-space-8);
	align-items: center;
	padding-block: var(--ms-space-8);
	position: relative;
}
/* Ambient wash behind hero */
.msi-entityhero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--ms-atmo-vignette);
	pointer-events: none;
}
.msi-entityhero__title {
	font-family: var(--ms-font-display);
	font-size: var(--ms-fs-hero);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.015em;
	margin-block: var(--ms-space-3);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--ms-space-3);
}
.msi-entityhero__title small {
	font-family: var(--ms-font-mono);
	font-size: var(--ms-fs-h4);
	font-weight: 500;
	color: var(--ms-color-text-tertiary);
	letter-spacing: .02em;
	direction: ltr;
	unicode-bidi: embed;
}
.msi-entityhero__excerpt {
	color: var(--ms-color-text-secondary);
	font-size: calc(var(--ms-fs-body) * 1.08);
	max-inline-size: 62ch;
}
.msi-entityhero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ms-space-2);
	margin-block-start: var(--ms-space-4);
}
.msi-entityhero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--ms-space-2);
	margin-block-start: var(--ms-space-5);
}
.msi-entityhero__media {
	position: relative;
	border-radius: var(--ms-radius-xl);
	overflow: hidden;
	border: 1px solid var(--ms-color-border-strong);
	box-shadow: var(--ms-shadow-3);
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(var(--ms-atmo-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--ms-atmo-grid) 1px, transparent 1px),
		var(--ms-color-bg-deep);
	background-size: 32px 32px, 32px 32px, auto;
}
.msi-entityhero__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}
.msi-entityhero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 11, 14, .38), transparent 45%);
	pointer-events: none;
}
/* Hero kicker row: type chip + verification + confidence */
.msi-ehero-kicker {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--ms-space-2);
}
/* ============================================================
   FACTS — identity key/value block (aside + hero)
   ============================================================ */
.msi-facts {
	display: grid;
	gap: 1px;
	background: var(--ms-color-hairline);
	border: 1px solid var(--ms-color-border);
	border-radius: var(--ms-radius-lg);
	overflow: hidden;
}
.msi-facts__row {
	display: grid;
	grid-template-columns: 70px 1fr;
	gap: var(--ms-space-3);
	padding: 10px var(--ms-space-4);
	background: var(--ms-color-surface);
	font-size: var(--ms-fs-small);
	align-items: baseline;
}
.msi-facts__label {
	color: var(--ms-color-text-tertiary);
	font-size: var(--ms-fs-tiny);
}
.msi-facts__value {
	color: var(--ms-color-text);
	font-weight: 500;
	min-inline-size: 0;
	overflow-wrap: anywhere;
}
.msi-facts__value [data-mono] { font-weight: 600; }
/* ============================================================
   SUBNAV — dossier section anchor rail
   ============================================================ */
.msi-subnav {
	position: sticky;
	inset-block-start: var(--ms-header-h);
	z-index: 50;
	background: color-mix(in srgb, var(--ms-color-bg) 88%, transparent);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-block-end: 1px solid var(--ms-color-border);
	block-size: var(--ms-subnav-h);
}
.msi-subnav__list {
	display: flex;
	align-items: center;
	gap: var(--ms-space-1);
	list-style: none;
	margin: 0;
	padding: 0;
	block-size: 100%;
	overflow-x: auto;
	scrollbar-width: none;
}
.msi-subnav__list::-webkit-scrollbar { display: none; }
.msi-subnav__link {
	display: inline-flex;
	align-items: center;
	block-size: 100%;
	padding-inline: var(--ms-space-3);
	font-size: var(--ms-fs-tiny);
	font-weight: 500;
	color: var(--ms-color-text-tertiary);
	position: relative;
	white-space: nowrap;
	transition: color var(--ms-dur-fast) var(--ms-ease-out);
}
.msi-subnav__link:hover { color: var(--ms-color-text); }
.msi-subnav__link.is-active {
	color: var(--ms-color-accent);
}
.msi-subnav__link.is-active::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline: var(--ms-space-3);
	block-size: 2px;
	background: var(--ms-color-accent);
	border-radius: var(--ms-radius-pill);
}
.msi-subnav__list > li:first-child .msi-subnav__link {
	color: var(--ms-color-text-secondary);
	font-weight: 600;
}
/* ============================================================
   SECTIONS
   ============================================================ */
.msi-sec {
	scroll-margin-block-start: calc(var(--ms-header-h) + var(--ms-subnav-h) + 16px);
}
/* Content prose (entity article body) */
.msi-entitycontent {
	font-size: calc(var(--ms-fs-body) * 1.02);
	color: var(--ms-color-text-secondary);
	max-inline-size: 78ch;
	padding: var(--ms-space-5);
}
.msi-mode-sponsor-premium .msi-entitycontent{	max-inline-size: 100%;}
.msi-entitycontent p + p { margin-block-start: var(--ms-space-4); }
.msi-entitycontent strong { color: var(--ms-color-text); }
.msi-entitycontent a { color: var(--ms-color-cobalt); text-decoration: underline; text-underline-offset: 3px; }
.msi-entitycontent a:hover { color: var(--ms-color-accent); }
.msi-entitycontent ul { padding-inline-start: var(--ms-space-5); display: grid; gap: 6px; }
.msi-entitycontent li::marker { color: var(--ms-color-accent); }
/* Profile grid — identity facts inside content sections */
.msi-profilegrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1px;
	background: var(--ms-color-hairline);
	border: 1px solid var(--ms-color-border);
	border-radius: var(--ms-radius-lg);
	overflow: hidden;
}
.msi-profilegrid__cell {
	background: var(--ms-color-surface);
	padding: var(--ms-space-3) var(--ms-space-4);
	display: grid;
	gap: 3px;
}
.msi-profilegrid__label {
	font-size: var(--ms-fs-micro);
	color: var(--ms-color-text-tertiary);
	letter-spacing: .03em;
}
.msi-profilegrid__value {
	font-size: var(--ms-fs-small);
	color: var(--ms-color-text);
	font-weight: 500;
}
/* Rows (exhibitions/documents lists) */
.msi-rows { display: grid; gap: var(--ms-space-2); }
.msi-docgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); padding: var(--ms-space-3); }
/* ============================================================
   ARCHIVES
   ============================================================ */
.msi-archivegrid {
	display: grid;
	gap: var(--ms-space-5);
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	padding-block: var(--ms-space-6);
}
.msi-filterbar__count {
	font-family: var(--ms-font-mono);
	font-size: var(--ms-fs-tiny);
	color: var(--ms-color-text-tertiary);
	direction: ltr;
	unicode-bidi: embed;
}
/* Archive list view *//* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1200px) {
	.msi-dossier { grid-template-columns: minmax(0, 1fr) 288px; gap: var(--ms-space-6); }
}
@media (max-width: 900px) {
	.msi-dossier { grid-template-columns: 1fr; }
	.msi-dossier__aside {
		position: static;
		order: -1;
	}
	.msi-entityhero__inner { grid-template-columns: 1fr; gap: var(--ms-space-5); }
	.msi-entityhero__media { order: -1; aspect-ratio: 16 / 9; }
	.msi-entityhero__title { font-size: var(--ms-fs-display); }
}
@media (max-width: 640px) {
	.msi-facts__row { grid-template-columns: 1fr; gap: 2px; }
	.msi-profilegrid { grid-template-columns: 1fr; }
}
/* ============================================================
   BREADCRUMBS
   ============================================================ */
.msi-breadcrumbs {
	padding-block: var(--ms-space-3) 0;
	font-size: var(--ms-fs-tiny);
	padding: 25px 0;
}
.msi-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ms-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}
.msi-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	gap: var(--ms-space-2);
	color: var(--ms-color-text-tertiary);
}
.msi-breadcrumbs__item + .msi-breadcrumbs__item::before {
	content: "‹";
	color: var(--ms-color-text-quaternary);
}
html[dir="ltr"] .msi-breadcrumbs__item + .msi-breadcrumbs__item::before {
	content: "›";
}
.msi-breadcrumbs__item a {
	color: var(--ms-color-text-tertiary);
	transition: color var(--ms-dur-fast) var(--ms-ease-out);
}
.msi-breadcrumbs__item a:hover { color: var(--ms-color-accent); }
.msi-breadcrumbs__item[aria-current="page"] span {
	color: var(--ms-color-text-secondary);
	font-weight: 500;
}
.msi-alt-names-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.msi-alt-names-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.875rem;
	color: var(--ms-color-text-secondary);
	padding: 8px 0;
	border-block-end: 1px solid var(--ms-color-hairline);
	transition: color var(--ms-dur-fast) var(--ms-ease-out);
}
.msi-alt-names-item:last-child {
	border-block-end: none;
	padding-block-end: 0;
}
.msi-alt-names-item::before {
	content: "";
	inline-size: 6px;
	block-size: 6px;
	border-radius: 50%;
	background: var(--ms-color-accent);
	flex-shrink: 0;
	opacity: 0.7;
}
.msi-alt-names-item:hover {
	color: var(--ms-color-text);
}
.msi-alt-names-item:hover::before {
	opacity: 1;
	background: var(--ms-color-accent-hover);
}