/**
 * MilitarySci 2.0 — Presentation Identity Engine + Command Palette CSS.
 *
 * Tokens come from tokens.css (--msi-signal, --msi-cobalt, --msi-teal,
 * --msi-amber, --msi-crimson, --msi-tier-*). No hardcoded colors here.
 *//* ============================================================
   PRESENTATION TIER ACCENTS — applied to .msi-presentation
   wrappers by PresentationContext::wrapperClass()
   ============================================================ */
.msi-presentation {
	position: relative;
}
.msi-presentation.msi-tier-sponsor   { border-block-start: 3px solid var(--msi-tier-sponsor); }
.msi-presentation.msi-tier-vip       { border-block-start: 3px solid var(--msi-tier-vip); }
.msi-presentation.msi-tier-premium   { border-block-start: 3px solid var(--msi-tier-premium); }
.msi-presentation.msi-tier-strategic { border-block-start: 3px solid var(--msi-tier-strategic); }
/* ============================================================
   PRESENTATION SELECTOR — grid of mode cards used in the admin
   meta box + frontend editor tab.
   ============================================================ */
.msi-presentation-selector {
	display: grid;
	gap: var(--msi-space-4);
}
.msi-presentation-selector__hint {
	color: var(--msi-text-2);
	font-size: var(--msi-fs-meta);
	margin: 0;
}
.msi-presentation-selector__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--msi-space-3);
}

.msi-pcard {
	display: grid;
	gap: 8px;
	padding: var(--msi-space-3);
	background: var(--msi-surface-2);
	border: 1px solid var(--msi-border);
	color: inherit;
	text-align: start;
	cursor: pointer;
	transition: border-color var(--msi-dur) var(--msi-ease), background var(--msi-dur) var(--msi-ease);
	font: inherit;
}
.msi-pcard:hover,
.msi-pcard:focus-visible {
	border-color: var(--msi-signal);
	outline: none;
}
.msi-pcard.is-recommended {
	border-color: var(--msi-signal);
	background: color-mix(in srgb, var(--msi-signal-soft) 60%, var(--msi-surface-2));
}
.msi-pcard.is-selected {
	border-color: var(--msi-signal);
	border-width: 2px;
	background: var(--msi-signal-soft);
}
.msi-pcard__head {
	display: flex;
	align-items: center;
	gap: 6px;
}
.msi-pcard__title {
	font-weight: 600;
	font-family: var(--msi-font-display);
	color: var(--msi-text);
	flex: 1;
}
.msi-pcard__recommended {
	display: inline-block;
	padding: 1px 6px;
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--msi-technical-white);
	background: var(--msi-signal);
	font-family: var(--msi-font-data);
}
.msi-pcard__desc {
	margin: 0;
	font-size: var(--msi-fs-meta);
	color: var(--msi-text-2);
	line-height: 1.45;
}
.msi-pcard__meta {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px;
	font-size: var(--msi-fs-caption);
	color: var(--ms-color-text-quaternary);
}
.msi-pcard__meta dt {
	font-family: var(--msi-font-data);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.65rem;
}
.msi-pcard__meta dd { margin: 0; }
/* Admin meta-box (light WordPress admin surface — scoped overrides) */
.msi-presentation-meta-box { display: grid; gap: 6px; }
.msi-pmode-option {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 6px;
	padding: 6px 8px;
	border: 1px solid var(--msi-border);
	background: var(--msi-surface-2);
	cursor: pointer;
}
.msi-pmode-option.is-recommended,
.msi-pmode-option.is-selected {
	border-color: var(--msi-signal);
	background: var(--msi-signal-soft);
}
.msi-pmode-option input { margin-top: 2px; }
.msi-pmode-option__label { font-weight: 600; }
.msi-pmode-option__hint {
	color: var(--msi-text-2);
	font-style: italic;
	margin-inline-start: 4px;
}
.msi-pmode-option__desc {
	grid-column: 2;
	color: var(--msi-text-2);
	font-size: 0.85em;
}
.msi-pmode-recommended {
	display: inline-block;
	margin-inline-start: 6px;
	padding: 0 6px;
	background: var(--msi-signal);
	color: var(--msi-technical-white);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-family: var(--msi-font-data);
}
/* ============================================================
   COMMAND PALETTE — ⌘K / Ctrl+K overlay.
   ============================================================ */
.msi-commandpalette {
	position: fixed;
	inset: 0;
	z-index: var(--msi-z-command-palette, 600);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-block-start: 12vh;
	background: var(--msi-overlay);
	backdrop-filter: blur(6px);
}
.msi-commandpalette[hidden] { display: none; }
.msi-commandpalette__backdrop {
	position: absolute;
	inset: 0;
}
.msi-commandpalette__panel {
	position: relative;
	inline-size: min(640px, calc(100% - 32px));
	background: var(--msi-surface);
	border: 1px solid var(--msi-border-strong);
	box-shadow: var(--msi-shadow);
	max-block-size: 70vh;
	display: flex;
	opacity: 1;
	flex-direction: column;
	overflow: hidden;
}
.msi-commandpalette__form {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: var(--msi-space-3) var(--msi-space-4);
	border-block-end: 1px solid var(--msi-border);
	background: var(--msi-surface-2);
}
.msi-commandpalette__input {
	flex: 1;
	background: transparent;
	border: none;
	color: var(--msi-text);
	font-family: var(--msi-font-ui);
	font-size: var(--msi-fs-h4);
	padding: 4px 0;
}
.msi-commandpalette__input:focus { outline: none; }
.msi-commandpalette__hint {
	font-family: var(--msi-font-data);
	font-size: var(--msi-fs-caption);
	padding: 2px 6px;
	background: var(--msi-surface-2);
	border: 1px solid var(--msi-border);
	color: var(--ms-color-text-quaternary);
}
.msi-commandpalette__results {
	flex: 1;
	overflow-y: auto;
	padding: var(--msi-space-2) 0;
}
.msi-commandpalette__list { list-style: none; margin: 0; padding: 0; }
.msi-commandpalette__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: var(--msi-space-2) var(--msi-space-4);
	cursor: pointer;
	color: var(--msi-text);
}
.msi-commandpalette__item.is-active,
.msi-commandpalette__item:hover {
	background: var(--msi-signal-soft);
	border-inline-start: 2px solid var(--msi-signal);
	padding-inline-start: calc(var(--msi-space-4) - 2px);
}
.msi-commandpalette__item-meta {
	font-family: var(--msi-font-data);
	font-size: var(--msi-fs-caption);
	color: var(--ms-color-text-quaternary);
	padding: 1px 4px;
	border: 1px solid var(--msi-border);
}
.msi-commandpalette__empty {
	padding: var(--msi-space-4);
	color: var(--ms-color-text-quaternary);
	text-align: center;
}
/* Floating trigger button — shows the ⌘K hint in the header. */
.msi-commandpalette-trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--msi-surface-2);
	border: 1px solid var(--msi-border);
	color: var(--msi-text-2);
	padding: 6px 10px;
	font: inherit;
	cursor: pointer;
	font-size: var(--msi-fs-meta);
}
.msi-commandpalette-trigger:hover {
	border-color: var(--msi-signal);
	color: var(--msi-text);
}
.msi-commandpalette-trigger__hint kbd {
	font-family: var(--msi-font-data);
	font-size: var(--msi-fs-caption);
	padding: 1px 4px;
	background: var(--msi-bg);
	border: 1px solid var(--msi-border);
	color: var(--ms-color-text-quaternary);
}
@media (max-width: 640px) {
	.msi-commandpalette-trigger__hint { display: none; }
}
/* ============================================================
   PMODE BADGE — small chip showing which presentation mode
   an entity is using (visible to editors/admins in admin bar).
   ============================================================ *//* ============================================================
   Reduced motion + touch device accommodations
   ============================================================ */
@media (prefers-reduced-motion: reduce), (pointer: coarse) {
	.msi-pcard,
	.msi-commandpalette-trigger {
		transition: none;
	}
	.msi-commandpalette {
		backdrop-filter: none;
		background: var(--msi-overlay);
	}
}
/* ============================================================
   PHASE 2 — Specialized presentation mode styles
   Each mode has its own visual identity while staying within
   the MilitarySci Design System.
   ============================================================ *//* === TIER BADGES === */
.msi-tier-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	font-family: var(--msi-font-data);
	font-size: 0.65rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border: 1px solid var(--msi-border);
}
.msi-tier-badge--sponsor   { color: var(--msi-signal); background: var(--msi-signal-soft); border-color: var(--msi-border-signal); }
.msi-tier-badge--vip        { color: var(--msi-amber); background: var(--msi-amber-soft); border-color: color-mix(in srgb, var(--msi-amber) 40%, transparent); }
.msi-tier-badge--premium    { color: var(--msi-cobalt); background: var(--msi-cobalt-soft); border-color: color-mix(in srgb, var(--msi-cobalt) 40%, transparent); }
.msi-tier-badge--strategic  { color: var(--msi-teal); background: var(--msi-teal-soft); border-color: color-mix(in srgb, var(--msi-teal) 40%, transparent); }
.msi-tier-badge--standard   { color: var(--msi-text-2); }
/* === PRODUCT: AVIATION === *//* Aviation performance bar — horizontal spotlight *//* === PRODUCT: NAVAL === *//* === PRODUCT: DEFENSE SYSTEM === *//* === PRODUCT: INDUSTRIAL === *//* === PRODUCT: INTELLIGENCE COMPACT === */
.msi-mode-intelligence-compact .msi-icompact-hero { padding-block-end: var(--msi-space-4); border-block-end: 1px solid var(--msi-border); display: grid; gap: var(--msi-space-3); }
.msi-mode-intelligence-compact .msi-icompact-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-intelligence-compact .msi-icompact-hero__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.msi-mode-intelligence-compact .msi-icompact-hero__chip { padding: 2px 8px; background: var(--msi-surface-2); border: 1px solid var(--msi-border); font-size: 0.8rem; font-family: var(--msi-font-data); color: var(--msi-text-2); }
.msi-mode-intelligence-compact .msi-icompact-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--msi-space-2); margin-block: var(--msi-space-5); }
.msi-mode-intelligence-compact .msi-icompact-specs__row { padding: var(--msi-space-2) var(--msi-space-3); background: var(--msi-surface-2); border: 1px solid var(--msi-border); display: grid; gap: 2px; }
.msi-mode-intelligence-compact .msi-icompact-specs__label { font-size: 0.65rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); font-family: var(--msi-font-data); }
.msi-mode-intelligence-compact .msi-icompact-specs__value { font-weight: 600; }
.msi-mode-intelligence-compact .msi-icompact-relationships { padding: var(--msi-space-4); background: var(--msi-surface-2); border: 1px solid var(--msi-border); margin-block-start: var(--msi-space-4); }
.msi-mode-intelligence-compact .msi-icompact-relationships__title { font-family: var(--msi-font-display); margin: 0 0 var(--msi-space-3); font-size: var(--msi-fs-h3); }
.msi-mode-intelligence-compact .msi-icompact-relationships__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.msi-mode-intelligence-compact .msi-icompact-relationships__relation { display: inline-block; margin-inline-end: 6px; font-size: 0.65rem; color: var(--ms-color-text-quaternary); text-transform: uppercase; font-family: var(--msi-font-data); }
.msi-mode-intelligence-compact .msi-icompact-verification { display: flex; gap: var(--msi-space-2); align-items: center; padding-block: var(--msi-space-3); }
.msi-mode-intelligence-compact .msi-icompact-docs { margin-block-start: var(--msi-space-4); }
.msi-mode-intelligence-compact .msi-icompact-docs__title { font-family: var(--msi-font-display); margin: 0 0 var(--msi-space-3); font-size: var(--msi-fs-h3); }
/* === EXHIBITION SERIES: GLOBAL PREMIUM === */
.msi-mode-global-premium .msi-series-hero {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: var(--msi-space-5);
	padding-block-end: var(--msi-space-5);
	border-block-end: 1px solid var(--msi-border);
}
@media (max-width: 900px) { .msi-mode-global-premium .msi-series-hero { grid-template-columns: 1fr; } }
.msi-mode-global-premium .msi-series-hero__media { margin: 0; }
.msi-mode-global-premium .msi-series-hero__media img { inline-size: 100%; max-block-size: 320px; object-fit: cover; }
.msi-mode-global-premium .msi-series-hero__inner { display: grid; gap: var(--msi-space-3); align-content: start; }
.msi-mode-global-premium .msi-series-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-display); margin: 0; line-height: 1.1; }
.msi-mode-global-premium .msi-series-hero__brand { font-family: var(--msi-font-data); color: var(--msi-signal); margin: 0; }
.msi-mode-global-premium .msi-series-hero__recurrence { padding: 2px 8px; background: var(--msi-surface-2); border: 1px solid var(--msi-border); }
.msi-mode-global-premium .msi-series-hero__identitystrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--msi-space-3); margin-block-start: var(--msi-space-3); }
.msi-mode-global-premium .msi-series-hero__key { display: block; font-size: 0.65rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); font-family: var(--msi-font-data); }
.msi-mode-global-premium .msi-series-hero__val { display: block; }
.msi-mode-global-premium .msi-series-upcoming { background: var(--msi-surface-2); border: 1px solid var(--msi-border); border-inline-start: 3px solid var(--msi-signal); }
.msi-mode-global-premium .msi-series-upcoming__body { display: grid; grid-template-columns: 1fr auto; gap: var(--msi-space-3); align-items: center; }
.msi-mode-global-premium .msi-series-upcoming__title { font-family: var(--msi-font-display); margin: 0; font-size: var(--msi-fs-h3); }
.msi-mode-global-premium .msi-series-upcoming__meta { display: flex; gap: var(--msi-space-2); color: var(--msi-text-2); margin-block-start: 4px; }
/* === EXHIBITION SERIES: COMMAND CENTER === */
.msi-mode-command-center .msi-cmd-hero { padding-block-end: var(--msi-space-4); border-block-end: 1px solid var(--msi-border); display: grid; gap: var(--msi-space-2); }
.msi-mode-command-center .msi-cmd-hero__meta { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.msi-mode-command-center .msi-cmd-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-command-center .msi-cmd-hero__status { padding: 2px 8px; background: var(--msi-signal-soft); color: var(--msi-signal); border: 1px solid var(--msi-border-signal); }
.msi-mode-command-center .msi-cmd-statblock { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--msi-space-3); margin-block: var(--msi-space-4); }
.msi-mode-command-center .msi-cmd-statblock__cell { padding: var(--msi-space-4); background: var(--msi-surface-2); border: 1px solid var(--msi-border); border-block-start: 2px solid var(--msi-signal); }
.msi-mode-command-center .msi-cmd-statblock__num { display: block; font-size: 2rem; font-weight: 600; color: var(--msi-signal); line-height: 1.1; font-family: var(--msi-font-data); }
.msi-mode-command-center .msi-cmd-statblock__label { display: block; font-size: 0.7rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); margin-block-start: 4px; font-family: var(--msi-font-data); }
.msi-mode-command-center .msi-cmd-edition { display: grid; grid-template-columns: 60px 1fr auto; gap: var(--msi-space-3); align-items: center; }
.msi-mode-command-center .msi-cmd-edition__year { font-family: var(--msi-font-data); font-size: 1.2rem; color: var(--msi-signal); }
.msi-mode-command-center .msi-cmd-sponsorwall { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--msi-space-3); }
.msi-mode-command-center .msi-cmd-sponsorcard { display: flex; flex-direction: column; gap: 4px; padding: var(--msi-space-3); background: var(--msi-surface-2); border: 1px solid var(--msi-border); text-decoration: none; color: inherit; }
.msi-mode-command-center .msi-cmd-sponsorcard:hover { border-color: var(--msi-signal); }
.msi-mode-command-center .msi-cmd-sponsorcard__name { font-weight: 600; }
.msi-mode-command-center .msi-cmd-sponsorcard__appearances { font-family: var(--msi-font-data); font-size: 0.75rem; color: var(--ms-color-text-quaternary); }
/* === EXHIBITION SERIES: INTERACTIVE MAP === */
.msi-mode-interactive-map .msi-map-hero { padding-block-end: var(--msi-space-4); border-block-end: 1px solid var(--msi-border); display: grid; gap: var(--msi-space-3); }
.msi-mode-interactive-map .msi-map-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-interactive-map .msi-map-stage { display: grid; grid-template-columns: 1fr 280px; gap: var(--msi-space-3); }
@media (max-width: 900px) { .msi-mode-interactive-map .msi-map-stage { grid-template-columns: 1fr; } }
.msi-mode-interactive-map .msi-map-stage__canvas { min-block-size: 480px; background: var(--msi-bg); border: 1px solid var(--msi-border); }
.msi-mode-interactive-map .msi-map-stage__list ul { list-style: none; margin: 0; padding: 0; }
.msi-mode-interactive-map .msi-map-stage__list li { padding: var(--msi-space-2); border-block-end: 1px solid var(--msi-border); }
.msi-mode-interactive-map .msi-map-stage__list a { color: var(--msi-text); text-decoration: none; }
.msi-mode-interactive-map .msi-map-stage__list a:hover { color: var(--msi-signal); }
/* === EXHIBITION SERIES: EDITORIAL === */
.msi-mode-editorial .msi-mag-hero { padding-block-end: var(--msi-space-5); border-block-end: 1px solid var(--msi-border); }
.msi-mode-editorial .msi-mag-hero__title { font-family: var(--msi-font-editorial); font-size: var(--msi-fs-display); margin: var(--msi-space-2) 0; line-height: 1.05; font-weight: 700; }
.msi-mode-editorial .msi-mag-hero__brand { font-family: var(--msi-font-data); color: var(--msi-signal); margin: 0; }
.msi-mode-editorial .msi-mag-hero__lede { font-family: var(--msi-font-editorial); font-size: var(--msi-fs-lead); color: var(--msi-text-2); margin: var(--msi-space-3) 0 0; max-inline-size: 64ch; }
.msi-mode-editorial .msi-mag-hero__byline { font-family: var(--msi-font-data); font-size: 0.75rem; color: var(--ms-color-text-quaternary); margin-block-start: var(--msi-space-3); }
.msi-mode-editorial .msi-mag-body { max-inline-size: 72ch; margin: 0 auto; padding: var(--msi-space-5) 0; }
.msi-mode-editorial .msi-entitycontent--editorial { font-family: var(--msi-font-editorial); font-size: var(--msi-fs-lead); line-height: 1.7; color: var(--msi-text); }
.msi-mode-editorial .msi-mag-featured { margin-block: var(--msi-space-6); }
.msi-mode-editorial .msi-archivegrid--editorial { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
/* === EXHIBITION SERIES: TECHNICAL INTELLIGENCE === */
.msi-mode-technical-intelligence .msi-ti-hero { padding-block-end: var(--msi-space-4); border-block-end: 1px solid var(--msi-border); display: grid; gap: var(--msi-space-3); }
.msi-mode-technical-intelligence .msi-ti-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-technical-intelligence .msi-ti-hero__stats { display: flex; gap: var(--msi-space-4); flex-wrap: wrap; margin-block-start: var(--msi-space-2); }
.msi-mode-technical-intelligence .msi-ti-hero__stats > div { display: grid; gap: 2px; }
.msi-mode-technical-intelligence .msi-ti-hero__stats b { font-family: var(--msi-font-data); font-size: 1.6rem; color: var(--msi-signal); }
.msi-mode-technical-intelligence .msi-ti-hero__stats span { font-size: 0.65rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); font-family: var(--msi-font-data); }

.msi-mode-technical-intelligence .msi-ti-matrix { display: grid; gap: 4px; }
.msi-mode-technical-intelligence .msi-ti-matrix__row { display: grid; grid-template-columns: 160px 1fr 60px; align-items: center; gap: var(--msi-space-2); padding: 6px 0; border-block-end: 1px solid var(--msi-border); }
.msi-mode-technical-intelligence .msi-ti-matrix__label { font-size: 0.85rem; color: var(--msi-text); }
.msi-mode-technical-intelligence .msi-ti-matrix__bar { block-size: 6px; background: var(--msi-signal); width: calc(var(--pct, 0%) * 1); max-width: 100%; }
.msi-mode-technical-intelligence .msi-ti-matrix__value { font-family: var(--msi-font-data); text-align: end; color: var(--msi-text-2); }
/* === EXHIBITION EDITION: GLOBAL PREMIUM === */.msi-mode-global-premium .msi-docgrid--sponsors { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--msi-space-3); }
.msi-sponsorcard { display: flex; flex-direction: column; gap: 6px; padding: var(--msi-space-3); background: var(--msi-surface-2); border: 1px solid var(--msi-border); text-decoration: none; color: inherit; align-items: center; text-align: center; }
.msi-sponsorcard:hover { border-color: var(--msi-signal); }
.msi-sponsorcard__name { font-weight: 600; font-size: 0.9rem; }
/* === EXHIBITION EDITION: INTERACTIVE MAP === */
.msi-mode-interactive-map .msi-imap-hero { padding-block-end: var(--msi-space-4); border-block-end: 1px solid var(--msi-border); display: grid; gap: var(--msi-space-3); }
.msi-mode-interactive-map .msi-imap-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-interactive-map .msi-imap-stage { padding: 0; }
.msi-mode-interactive-map .msi-floorplan--fullscreen { display: grid; grid-template-columns: 240px 1fr 280px; gap: 0; min-block-size: 600px; }
@media (max-width: 1024px) { .msi-mode-interactive-map .msi-floorplan--fullscreen { grid-template-columns: 1fr; } }
.msi-mode-interactive-map .msi-floorplan__sidebar { padding: var(--msi-space-3); background: var(--msi-surface-2); border-inline-end: 1px solid var(--msi-border); }
.msi-mode-interactive-map .msi-floorplan__stage { background: var(--msi-bg); }
.msi-mode-interactive-map .msi-floorplan__panel { padding: var(--msi-space-3); background: var(--msi-surface-2); border-inline-start: 1px solid var(--msi-border); }
/* === COMPANY: SPONSOR PREMIUM === */
.msi-mode-sponsor-premium .msi-sp-hero {
	position: relative;
	padding: var(--msi-space-6) var(--msi-space-5);
	background: var(--msi-surface);
	border: 1px solid var(--msi-border);
	border-block-start: 4px solid var(--msi-signal);
	overflow: hidden;
}
.msi-mode-sponsor-premium .msi-sp-hero__media-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0.12; filter: blur(2px); }
.msi-mode-sponsor-premium .msi-sp-hero__inner { position: relative; z-index: 1; display: grid; gap: var(--msi-space-3); }
.msi-mode-sponsor-premium .msi-sp-hero__top { display: flex; align-items: center; gap: var(--msi-space-4); flex-wrap: wrap; }
.msi-mode-sponsor-premium .msi-sp-hero__logo img { max-block-size: 100px; max-inline-size: 200px; object-fit: contain; background: var(--msi-surface); padding: 8px; }
.msi-mode-sponsor-premium .msi-sp-hero__badges { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.msi-mode-sponsor-premium .msi-sp-sponsor-badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; background: var(--msi-signal); color: var(--msi-technical-white); font-family: var(--msi-font-data); font-size: 0.7rem; text-transform: uppercase; }
.msi-mode-sponsor-premium .msi-sp-sponsor-badge--platinum { background: linear-gradient(135deg, #C0C0C0, #8A9099); color: #0E0F12; }
.msi-mode-sponsor-premium .msi-sp-sponsor-badge--gold { background: linear-gradient(135deg, #FFD700, #B8860B); color: #0E0F12; }
.msi-mode-sponsor-premium .msi-sp-sponsor-badge--silver { background: linear-gradient(135deg, #D8D8D8, #9094A0); color: #0E0F12; }
.msi-mode-sponsor-premium .msi-sp-sponsor-badge--bronze { background: linear-gradient(135deg, #CD7F32, #8B4513); color: #ECEEF3; }
.msi-mode-sponsor-premium .msi-sp-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-display); margin: 0; line-height: 1.1; }
.msi-mode-sponsor-premium .msi-sp-hero__legal { font-family: var(--msi-font-data); color: var(--msi-text-2); margin: 0; }
.msi-mode-sponsor-premium .msi-sp-hero__identitystrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--msi-space-3); }
.msi-mode-sponsor-premium .msi-sp-hero__key { display: block; font-size: 0.65rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); font-family: var(--msi-font-data); }
.msi-mode-sponsor-premium .msi-sp-hero__val { display: block; }
.msi-mode-sponsor-premium .msi-archivegrid--premium { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--msi-space-4); }
.msi-mode-sponsor-premium .msi-archivegrid--premium .msi-card { border-block-start: 2px solid var(--msi-signal); }
/* === COMPANY: INTELLIGENCE DOSSIER === */
.msi-mode-intelligence-dossier .msi-idossier-hero { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--msi-space-5); padding-block-end: var(--msi-space-5); border-block-end: 1px solid var(--msi-border); }
@media (max-width: 900px) { .msi-mode-intelligence-dossier .msi-idossier-hero { grid-template-columns: 1fr; } }
.msi-mode-intelligence-dossier .msi-idossier-hero__inner { display: grid; gap: var(--msi-space-3); align-content: start; }
.msi-mode-intelligence-dossier .msi-idossier-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-intelligence-dossier .msi-idossier-hero__legal { font-family: var(--msi-font-data); color: var(--msi-text-2); margin: 0; }
.msi-mode-intelligence-dossier .msi-idossier-hero__logo { margin: 0; }
.msi-mode-intelligence-dossier .msi-idossier-hero__logo img { max-inline-size: 100%; max-block-size: 100px; object-fit: contain; }
.msi-mode-intelligence-dossier .msi-dossier--intelligence { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--msi-space-6); align-items: start; }
@media (max-width: 1024px) { .msi-mode-intelligence-dossier .msi-dossier--intelligence { grid-template-columns: 1fr; } }
/* === COMPANY: INDUSTRIAL === */
.msi-mode-industrial .msi-ind-hero { display: grid; grid-template-columns: 1fr 2fr; gap: var(--msi-space-5); padding-block-end: var(--msi-space-5); border-block-end: 1px solid var(--msi-border); }
@media (max-width: 900px) { .msi-mode-industrial .msi-ind-hero { grid-template-columns: 1fr; } }
.msi-mode-industrial .msi-ind-hero__logo img { max-inline-size: 100%; max-block-size: 80px; object-fit: contain; }
.msi-mode-industrial .msi-ind-hero__inner { display: grid; gap: var(--msi-space-3); }
.msi-mode-industrial .msi-ind-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-industrial .msi-ind-hero__country { font-family: var(--msi-font-data); color: var(--msi-text-2); margin: 0; }
/* === COMPANY: EXHIBITOR === */
.msi-mode-exhibitor .msi-exh-hero { display: grid; grid-template-columns: 1fr 2fr; gap: var(--msi-space-5); padding-block-end: var(--msi-space-5); border-block-end: 1px solid var(--msi-border); }
@media (max-width: 900px) { .msi-mode-exhibitor .msi-exh-hero { grid-template-columns: 1fr; } }
.msi-mode-exhibitor .msi-exh-hero__logo img { max-inline-size: 100%; max-block-size: 80px; object-fit: contain; }
.msi-mode-exhibitor .msi-exh-hero__inner { display: grid; gap: var(--msi-space-3); }
.msi-mode-exhibitor .msi-exh-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
/* === PERSON: STANDARD === */
.msi-mode-standard .msi-pprofile { display: grid; grid-template-columns: 1fr 2fr; gap: var(--msi-space-5); padding: var(--msi-space-4); background: var(--msi-surface); border: 1px solid var(--msi-border); }
@media (max-width: 640px) { .msi-mode-standard .msi-pprofile { grid-template-columns: 1fr; } }
.msi-mode-standard .msi-pprofile__photo img { inline-size: 100%; max-block-size: 240px; object-fit: cover; }
.msi-mode-standard .msi-pprofile__body { display: grid; gap: 4px; align-content: start; }
.msi-mode-standard .msi-pprofile__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-standard .msi-pprofile__position { color: var(--msi-signal); margin: 0; }
.msi-mode-standard .msi-pprofile__org { color: var(--msi-text); margin: 0; }
.msi-mode-standard .msi-pprofile__country { color: var(--ms-color-text-quaternary); margin: 0; }
/* === PERSON: ANALYST/RESEARCHER === */
.msi-mode-analyst-researcher .msi-analyst-hero { display: grid; grid-template-columns: 1fr 2fr; gap: var(--msi-space-5); padding-block-end: var(--msi-space-5); border-block-end: 1px solid var(--msi-border); }
@media (max-width: 640px) { .msi-mode-analyst-researcher .msi-analyst-hero { grid-template-columns: 1fr; } }
.msi-mode-analyst-researcher .msi-analyst-hero__photo img { inline-size: 100%; max-block-size: 280px; object-fit: cover; }
.msi-mode-analyst-researcher .msi-analyst-hero__inner { display: grid; gap: var(--msi-space-3); align-content: start; }
.msi-mode-analyst-researcher .msi-analyst-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-analyst-researcher .msi-analyst-hero__position { color: var(--msi-signal); margin: 0; }
.msi-mode-analyst-researcher .msi-analyst-hero__identitystrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--msi-space-3); }
.msi-mode-analyst-researcher .msi-analyst-hero__key { display: block; font-size: 0.65rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); font-family: var(--msi-font-data); }
.msi-mode-analyst-researcher .msi-analyst-hero__val { display: block; }
/* === PERSON: VIP === */
.msi-mode-vip .msi-vip-hero {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: var(--msi-space-5);
	padding: var(--msi-space-5);
	background: var(--msi-surface);
	border: 1px solid var(--msi-border);
	border-block-start: 4px solid var(--msi-amber);
	position: relative;
	overflow: hidden;
}
@media (max-width: 640px) { .msi-mode-vip .msi-vip-hero { grid-template-columns: 1fr; } }
.msi-mode-vip .msi-vip-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at top right, var(--msi-amber-soft), transparent 60%);
	pointer-events: none;
}
.msi-mode-vip .msi-vip-hero__photo { position: relative; z-index: 1; }
.msi-mode-vip .msi-vip-hero__photo img { inline-size: 100%; max-block-size: 320px; object-fit: cover; border: 2px solid var(--msi-amber); }
.msi-mode-vip .msi-vip-hero__inner { position: relative; z-index: 1; display: grid; gap: var(--msi-space-3); align-content: start; }
.msi-mode-vip .msi-vip-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-display); margin: 0; line-height: 1.1; }
.msi-mode-vip .msi-vip-hero__position { color: var(--msi-amber); margin: 0; font-size: var(--msi-fs-lead); }
.msi-mode-vip .msi-vip-hero__identitystrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--msi-space-3); }
.msi-mode-vip .msi-vip-hero__key { display: block; font-size: 0.65rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); font-family: var(--msi-font-data); }
.msi-mode-vip .msi-vip-hero__val { display: block; }
/* === REPORT: INTELLIGENCE BRIEF === */
.msi-mode-intelligence .msi-brief-hero { padding-block-end: var(--msi-space-4); border-block-end: 1px solid var(--msi-border); display: grid; gap: var(--msi-space-3); }
.msi-mode-intelligence .msi-brief-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-intelligence .msi-brief-hero__lede { font-family: var(--msi-font-editorial); font-size: var(--msi-fs-lead); color: var(--msi-text-2); margin: 0; max-inline-size: 64ch; }
.msi-mode-intelligence .msi-brief-hero__meta-2 { display: flex; gap: var(--msi-space-3); align-items: center; flex-wrap: wrap; font-family: var(--msi-font-data); }
.msi-mode-intelligence .msi-brief-hero__access { padding: 2px 8px; background: var(--msi-signal-soft); color: var(--msi-signal); border: 1px solid var(--msi-border-signal); display: inline-flex; align-items: center; gap: 4px; }
.msi-mode-intelligence .msi-brief-bluf { background: var(--msi-surface-2); border: 1px solid var(--msi-border); border-inline-start: 3px solid var(--msi-signal); }
.msi-mode-intelligence .msi-brief-bluf__text { font-family: var(--msi-font-editorial); font-size: var(--msi-fs-lead); line-height: 1.6; color: var(--msi-text); margin: 0; }
/* === REPORT: TECHNICAL === */
.msi-mode-technical .msi-tech-hero { padding-block-end: var(--msi-space-4); border-block-end: 1px solid var(--msi-border); display: grid; gap: var(--msi-space-3); }
.msi-mode-technical .msi-tech-hero__title { font-family: var(--msi-font-display); font-size: var(--msi-fs-h1); margin: 0; }
.msi-mode-technical .msi-tech-hero__meta-2 { font-family: var(--msi-font-data); color: var(--ms-color-text-quaternary); font-size: 0.75rem; }
.msi-mode-technical .msi-tech-hero__abstract { color: var(--msi-text-2); font-family: var(--msi-font-editorial); max-inline-size: 70ch; margin: 0; }
/* === MEDIA IMAGE DEFAULTS === */
.msi-mode-aviation img,
.msi-mode-naval img,
.msi-mode-defense-system img,
.msi-mode-global-premium img,
.msi-mode-sponsor-premium img,
.msi-mode-vip img { max-inline-size: 100%; block-size: auto; }
/* ============================================================
   PRODUCT COMPARISON SURFACE
   ============================================================ */
.msi-compare-wrap { overflow-x: auto; }
.msi-compare-table { min-inline-size: 600px; }
.msi-compare-table .msi-compare__rowhead {
	text-align: start;
	background: var(--msi-surface-2);
	font-weight: 600;
	font-family: var(--msi-font-data);
	font-size: 0.85rem;
}
.msi-compare-table .msi-compare__colhead { min-inline-size: 200px; text-align: center; }
.msi-compare-table .msi-compare__thumb { margin: 0 0 8px; max-block-size: 80px; display: flex; align-items: center; justify-content: center; }
.msi-compare-table .msi-compare__thumb img { max-block-size: 80px; max-inline-size: 100%; object-fit: contain; }
.msi-compare-table .msi-compare__source { display: inline-block; margin-inline-start: 4px; color: var(--ms-color-text-quaternary); font-size: 0.6rem; }
/* ============================================================
   COMPARE FAB — floating action button shown when the user has
   added products to the comparison cart (sessionStorage).
   ============================================================ */
.msi-compare-fab {
	position: fixed;
	inset-block-end: 24px;
	inset-inline-end: 24px;
	z-index: var(--msi-z-modal, 400);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	background: var(--msi-signal);
	color: var(--msi-technical-white);
	text-decoration: none;
	font-family: var(--msi-font-display);
	font-weight: 600;
	box-shadow: var(--msi-shadow);
	border-radius: var(--msi-radius-pill);
	transition: transform var(--msi-dur) var(--msi-ease);
}
.msi-compare-fab:hover { transform: translateY(-2px); background: var(--msi-signal-hover); }
.msi-compare-fab__icon { display: inline-block; width: 16px; height: 16px; }
.msi-compare-fab__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	block-size: 22px;
	inline-size: 22px;
	background: rgba(0,0,0,0.32);
	border-radius: 50%;
	font-family: var(--msi-font-data);
	font-size: 0.75rem;
}
@media (max-width: 640px) {
	.msi-compare-fab { inset-block-end: 16px; inset-inline-end: 16px; padding: 8px 12px; }
	.msi-compare-fab__label { display: none; }
}
/* ============================================================
   EDITOR TAB — Presentation Identity
   ============================================================ */
.msi-pres-summary {
	padding: var(--msi-space-4);
	background: var(--msi-surface-2);
	border: 1px solid var(--msi-border);
	margin-block-end: var(--msi-space-5);
}
.msi-pres-summary .msi-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--msi-space-3);
	margin: 0;
}
.msi-pres-summary .msi-facts__row { display: grid; gap: 2px; }
.msi-pres-summary .msi-facts__label { font-size: 0.65rem; text-transform: uppercase; color: var(--ms-color-text-quaternary); font-family: var(--msi-font-data); }
/* Live preview iframe */
.msi-pres-preview {
	inline-size: 100%;
	block-size: 600px;
	border: 1px solid var(--msi-border);
	background: var(--msi-bg);
}
@media (max-width: 768px) {
	.msi-pres-preview { block-size: 480px; }
}
/* Hide the actual radio input — the parent .msi-pcard label toggles the .is-selected class */
.msi-pcard input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.msi-pcard:has(input:checked) {
	border-color: var(--msi-signal);
	border-width: 2px;
	background: var(--msi-signal-soft);
}
