/**
 * NeonPress 1.7.2 design presets.
 * Loaded after style.css so complete presets can override legacy combinations.
 */

/* --------------------------------------------------------------------------
   Twenty complete header presets
   -------------------------------------------------------------------------- */

.np-header--has-preset {
	--np-preset-bg: var(--np-bg);
	--np-preset-fg: var(--np-ink);
	--np-preset-line: var(--np-border);
	--np-preset-nav-bg: var(--np-surface);
	--np-preset-nav-fg: var(--np-ink);
	--np-preset-action-bg: var(--np-surface);
	--np-preset-action-fg: var(--np-ink);
	--np-preset-highlight: var(--np-accent);
	border-color: var(--np-preset-line);
	background: var(--np-preset-bg);
	color: var(--np-preset-fg);
	backdrop-filter: none;
}

.np-header--has-preset .np-brand,
.np-header--has-preset .np-brand__link,
.np-header--has-preset .np-brand__link:hover,
.np-header--has-preset .np-brand__link:focus-visible,
.np-header--has-preset .np-brand__name {
	color: var(--np-preset-fg);
}

.np-header--has-preset .np-navigation {
	border-color: var(--np-preset-line);
	background: var(--np-preset-nav-bg);
	box-shadow: none;
}

.np-header--has-preset .np-menu > li > a,
.np-header--has-preset .np-menu > li > a:hover,
.np-header--has-preset .np-menu > li > a:focus-visible,
.np-header--has-preset .np-menu > .current-menu-item > a,
.np-header--has-preset .np-menu > .current-category-ancestor > a {
	color: var(--np-preset-nav-fg);
}

.np-header--has-preset .np-menu > li > a:hover,
.np-header--has-preset .np-menu > li > a:focus-visible,
.np-header--has-preset .np-menu > .current-menu-item > a,
.np-header--has-preset .np-menu > .current-category-ancestor > a {
	background: color-mix(in srgb, var(--np-preset-highlight) 16%, transparent);
}

.np-header--has-preset .np-menu > li > a:hover::after,
.np-header--has-preset .np-menu > li > a:focus-visible::after,
.np-header--has-preset .np-menu > .current-menu-item > a::after,
.np-header--has-preset .np-menu > .current-category-ancestor > a::after {
	background: var(--np-preset-highlight);
}

.np-header--has-preset .np-social,
.np-header--has-preset .np-icon-button {
	border-color: var(--np-preset-line);
	background: var(--np-preset-action-bg);
	color: var(--np-preset-action-fg);
}

.np-header--has-preset .np-search-trigger {
	border: 1px solid var(--np-preset-line) !important;
	background: var(--np-preset-action-bg) !important;
	color: var(--np-preset-action-fg) !important;
	box-shadow: none;
}

.np-header--has-preset .np-search-trigger:hover,
.np-header--has-preset .np-search-trigger:focus-visible,
.np-header--has-preset .np-search-disclosure[open] > .np-search-trigger {
	border-color: var(--np-preset-highlight) !important;
	background: var(--np-preset-highlight) !important;
	color: #071018 !important;
}

.np-header--has-preset .np-offer-button {
	background: var(--np-preset-highlight);
	color: #071018;
}

/* 01 — Metro compatto */
.np-header--variant-metro {
	--np-preset-bg: #071a31;
	--np-preset-fg: #f7fbff;
	--np-preset-line: rgba(255, 255, 255, 0.16);
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #f7fbff;
	--np-preset-action-bg: rgba(255, 255, 255, 0.09);
	--np-preset-action-fg: #fff;
	border-top: 4px solid var(--np-accent);
}

.np-header--variant-metro .np-navigation {
	border-width: 0 0 0 1px;
	border-radius: 0;
}

.np-header--variant-metro .np-menu > li > a {
	font-size: 12px;
	letter-spacing: 0.035em;
	text-transform: uppercase;
}

/* 02 — Aurora centrale */
.np-header--variant-aurora {
	--np-preset-bg: linear-gradient(112deg, #142f74 0%, #4354b8 48%, #8b3fb1 100%);
	--np-preset-fg: #fff;
	--np-preset-line: rgba(255, 255, 255, 0.18);
	--np-preset-nav-bg: rgba(255, 255, 255, 0.11);
	--np-preset-nav-fg: #fff;
	--np-preset-action-bg: rgba(255, 255, 255, 0.13);
	--np-preset-action-fg: #fff;
	--np-preset-highlight: #d9ff57;
}

.np-header--variant-aurora .np-navigation {
	border-radius: 999px;
	backdrop-filter: blur(14px);
}

/* 03 — Newsroom a doppio livello */
.np-header--variant-newsroom {
	--np-preset-bg: #fff;
	--np-preset-fg: #0b1830;
	--np-preset-line: #d8dee8;
	--np-preset-nav-bg: #0b1830;
	--np-preset-nav-fg: #fff;
	--np-preset-action-bg: #eff2f6;
	--np-preset-action-fg: #0b1830;
	--np-preset-highlight: #ff526a;
	border-top: 5px solid #ff526a;
}

.np-header--variant-newsroom .np-navigation {
	border-radius: 3px;
}

/* 04 — Minimal lineare */
.np-header--variant-minimal-line {
	--np-preset-bg: color-mix(in srgb, #fff 95%, transparent);
	--np-preset-fg: #11151c;
	--np-preset-line: #dfe3e9;
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #11151c;
	--np-preset-action-bg: transparent;
	--np-preset-action-fg: #11151c;
	--np-preset-highlight: #3168ff;
	backdrop-filter: blur(20px);
}

.np-header--variant-minimal-line .np-navigation {
	border-width: 0 0 1px;
	border-radius: 0;
}

.np-header--variant-minimal-line .np-menu > li > a::before {
	display: none;
}

/* 05 — Dock sospeso in vetro */
.np-header--variant-glass-dock {
	--np-preset-bg: transparent;
	--np-preset-fg: var(--np-ink);
	--np-preset-line: color-mix(in srgb, var(--np-border) 76%, transparent);
	--np-preset-nav-bg: color-mix(in srgb, var(--np-surface) 68%, transparent);
	--np-preset-nav-fg: var(--np-ink);
	--np-preset-action-bg: color-mix(in srgb, var(--np-surface) 74%, transparent);
	--np-preset-action-fg: var(--np-ink);
	border: 0;
}

.np-header--variant-glass-dock .np-header__shell {
	margin-top: 10px;
	margin-bottom: 10px;
	border: 1px solid var(--np-preset-line);
	border-radius: 22px;
	background: color-mix(in srgb, var(--np-bg) 76%, transparent);
	box-shadow: 0 16px 38px rgba(7, 21, 39, 0.12);
	backdrop-filter: blur(24px) saturate(1.18);
}

.np-header--variant-glass-dock .np-navigation {
	border-radius: 16px;
	backdrop-filter: blur(18px);
}

/* 06 — Split corallo */
.np-header--variant-coral-split {
	--np-preset-bg: #fff5f1;
	--np-preset-fg: #2a1720;
	--np-preset-line: #f0b9ad;
	--np-preset-nav-bg: #ff765f;
	--np-preset-nav-fg: #32120d;
	--np-preset-action-bg: #fff;
	--np-preset-action-fg: #2a1720;
	--np-preset-highlight: #d7ff3f;
	border-bottom-width: 3px;
}

.np-header--variant-coral-split .np-navigation {
	border-radius: 7px 22px 7px 22px;
}

/* 07 — Rail midnight */
.np-header--variant-midnight-rail {
	--np-preset-bg: #081528;
	--np-preset-fg: #f4f8ff;
	--np-preset-line: #29405f;
	--np-preset-nav-bg: #102641;
	--np-preset-nav-fg: #f4f8ff;
	--np-preset-action-bg: #122b4a;
	--np-preset-action-fg: #fff;
	--np-preset-highlight: #45d8db;
}

.np-header--variant-midnight-rail .np-brand {
	align-self: stretch;
	padding-right: 22px;
	border-right: 2px solid #45d8db;
}

.np-header--variant-midnight-rail .np-navigation {
	border-radius: 999px;
}

/* 08 — Masthead editoriale */
.np-header--variant-paper-masthead {
	--np-preset-bg: #f4ecd9;
	--np-preset-fg: #2d281f;
	--np-preset-line: #9e8c6a;
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #2d281f;
	--np-preset-action-bg: #fffaf0;
	--np-preset-action-fg: #2d281f;
	--np-preset-highlight: #a53b32;
	border-top: 1px solid #9e8c6a;
	border-bottom: 4px double #9e8c6a;
}

.np-header--variant-paper-masthead .np-brand__name {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 800;
	letter-spacing: -0.025em;
}

.np-header--variant-paper-masthead .np-navigation {
	border-width: 1px 0 0;
	border-radius: 0;
}

.np-header--variant-paper-masthead .np-menu > li > a::before {
	width: 4px;
	height: 4px;
	flex-basis: 4px;
	border-radius: 0;
	box-shadow: none;
}

/* 09 — Griglia tech */
.np-header--variant-tech-grid {
	--np-preset-bg: #092349;
	--np-preset-fg: #f2f8ff;
	--np-preset-line: rgba(103, 190, 255, 0.35);
	--np-preset-nav-bg: rgba(8, 28, 60, 0.72);
	--np-preset-nav-fg: #f2f8ff;
	--np-preset-action-bg: rgba(27, 84, 139, 0.55);
	--np-preset-action-fg: #fff;
	--np-preset-highlight: #62e8e0;
	background-color: #092349;
	background-image: linear-gradient(rgba(98, 232, 224, 0.065) 1px, transparent 1px), linear-gradient(90deg, rgba(98, 232, 224, 0.065) 1px, transparent 1px);
	background-size: 24px 24px;
}

.np-header--variant-tech-grid .np-navigation {
	border-radius: 4px;
}

.np-header--variant-tech-grid .np-menu > li > a {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
}

/* 10 — Menu a capsule */
.np-header--variant-capsule {
	--np-preset-bg: #f7f9fc;
	--np-preset-fg: #0c1c34;
	--np-preset-line: #dfe5ee;
	--np-preset-nav-bg: #fff;
	--np-preset-nav-fg: #0c1c34;
	--np-preset-action-bg: #0c1c34;
	--np-preset-action-fg: #fff;
	--np-preset-highlight: #d7ff3f;
}

.np-header--variant-capsule .np-navigation {
	padding: 6px;
	border-radius: 999px;
	box-shadow: 0 8px 22px rgba(7, 21, 39, 0.08);
}

.np-header--variant-capsule .np-menu > li > a {
	min-height: 38px;
	border-radius: 999px;
}

.np-header--variant-capsule .np-menu > li > a::after,
.np-header--variant-capsule .np-menu > li > a::before {
	display: none;
}

/* 11 — Ribbon a tutta larghezza */
.np-header--variant-wide-ribbon {
	--np-preset-bg: #fff;
	--np-preset-fg: #0c1c34;
	--np-preset-line: #dbe2eb;
	--np-preset-nav-bg: linear-gradient(90deg, #0b2350, #245ab5 54%, #6738a6);
	--np-preset-nav-fg: #fff;
	--np-preset-action-bg: #eff3f8;
	--np-preset-action-fg: #0c1c34;
	--np-preset-highlight: #d7ff3f;
}

.np-header--variant-wide-ribbon .np-navigation {
	border: 0;
	border-radius: 0;
	box-shadow: 0 8px 18px rgba(16, 45, 96, 0.18);
}

/* 12 — Logo protagonista */
.np-header--variant-center-stage {
	--np-preset-bg: #fff;
	--np-preset-fg: #071b38;
	--np-preset-line: #e0e5ec;
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #071b38;
	--np-preset-action-bg: #f1f4f7;
	--np-preset-action-fg: #071b38;
	--np-preset-highlight: #3168ff;
	border-bottom: 6px solid #071b38;
}

.np-header--variant-center-stage .np-brand__name {
	font-size: clamp(31px, 3.2vw, 46px);
	letter-spacing: -0.065em;
}

.np-header--variant-center-stage .np-navigation {
	border-width: 1px 0 0;
	border-radius: 0;
}

/* 13 — Menu in primo piano */
.np-header--variant-menu-first {
	--np-preset-bg: #fff;
	--np-preset-fg: #0b1b32;
	--np-preset-line: #d9e0e9;
	--np-preset-nav-bg: #0b1b32;
	--np-preset-nav-fg: #fff;
	--np-preset-action-bg: #eef2f6;
	--np-preset-action-fg: #0b1b32;
	--np-preset-highlight: #ff596e;
}

.np-header--variant-menu-first .np-navigation {
	border-radius: 0 0 14px 14px;
}

/* 14 — Monocromatico */
.np-header--variant-monochrome {
	--np-preset-bg: #080808;
	--np-preset-fg: #fff;
	--np-preset-line: #414141;
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #fff;
	--np-preset-action-bg: #fff;
	--np-preset-action-fg: #080808;
	--np-preset-highlight: #fff;
}

.np-header--variant-monochrome .np-navigation {
	border-width: 0 1px;
	border-radius: 0;
}

.np-header--variant-monochrome .np-menu > li > a::before {
	background: #fff;
	box-shadow: none;
}

/* 15 — Cornice lime */
.np-header--variant-accent-frame {
	--np-preset-bg: #f9fbf4;
	--np-preset-fg: #101810;
	--np-preset-line: #26351d;
	--np-preset-nav-bg: #152410;
	--np-preset-nav-fg: #fff;
	--np-preset-action-bg: #fff;
	--np-preset-action-fg: #101810;
	--np-preset-highlight: #d7ff3f;
	border: 5px solid #d7ff3f;
	border-right: 0;
	border-left: 0;
}

.np-header--variant-accent-frame .np-navigation {
	border-radius: 8px;
	box-shadow: inset 0 -4px 0 #d7ff3f;
}

/* 16 — Blueprint blu */
.np-header--variant-blueprint {
	--np-preset-bg: #06366f;
	--np-preset-fg: #eef7ff;
	--np-preset-line: rgba(185, 223, 255, 0.36);
	--np-preset-nav-bg: rgba(0, 30, 71, 0.38);
	--np-preset-nav-fg: #eef7ff;
	--np-preset-action-bg: rgba(255, 255, 255, 0.11);
	--np-preset-action-fg: #fff;
	--np-preset-highlight: #75d7ff;
	background-color: #06366f;
	background-image: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px);
	background-size: 100% 12px;
}

.np-header--variant-blueprint .np-navigation {
	border-style: dashed;
	border-radius: 2px;
}

/* 17 — Ultra compatto */
.np-header--variant-ultra-compact {
	--np-preset-bg: #fff;
	--np-preset-fg: #10151d;
	--np-preset-line: #e2e6eb;
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #10151d;
	--np-preset-action-bg: #f1f3f6;
	--np-preset-action-fg: #10151d;
	--np-preset-highlight: #3168ff;
}

.np-header--variant-ultra-compact .np-navigation {
	border: 0;
	border-radius: 0;
}

.np-header--variant-ultra-compact .np-menu > li > a {
	min-height: 36px;
	font-size: 12px;
}

.np-header--variant-ultra-compact .np-brand__name {
	font-size: 23px;
}

/* 18 — Luxe editoriale */
.np-header--variant-luxe {
	--np-preset-bg: #211b18;
	--np-preset-fg: #f6efe4;
	--np-preset-line: #806c50;
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #f6efe4;
	--np-preset-action-bg: #352c26;
	--np-preset-action-fg: #f6efe4;
	--np-preset-highlight: #d7b878;
	border-top: 3px solid #d7b878;
}

.np-header--variant-luxe .np-brand__name {
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700;
	letter-spacing: 0.015em;
}

.np-header--variant-luxe .np-navigation {
	border-width: 1px 0;
	border-radius: 0;
}

.np-header--variant-luxe .np-menu > li > a {
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: 0.025em;
}

/* 19 — Neon night */
.np-header--variant-neon-night {
	--np-preset-bg: #05080e;
	--np-preset-fg: #f3f9ff;
	--np-preset-line: rgba(56, 231, 224, 0.38);
	--np-preset-nav-bg: #07141d;
	--np-preset-nav-fg: #f3f9ff;
	--np-preset-action-bg: #0d1923;
	--np-preset-action-fg: #fff;
	--np-preset-highlight: #38e7e0;
	border-bottom: 2px solid #38e7e0;
	box-shadow: 0 8px 28px rgba(56, 231, 224, 0.13);
}

.np-header--variant-neon-night .np-navigation {
	border-radius: 5px;
	box-shadow: inset 0 0 22px rgba(56, 231, 224, 0.06), 0 0 18px rgba(56, 231, 224, 0.08);
}

.np-header--variant-neon-night .np-brand__mark {
	box-shadow: 0 0 18px rgba(215, 255, 63, 0.5);
}

/* 20 — Aria e spazio */
.np-header--variant-airy {
	--np-preset-bg: #fff;
	--np-preset-fg: #162032;
	--np-preset-line: #e7eaf0;
	--np-preset-nav-bg: transparent;
	--np-preset-nav-fg: #162032;
	--np-preset-action-bg: #f7f8fa;
	--np-preset-action-fg: #162032;
	--np-preset-highlight: #6b78ff;
}

.np-header--variant-airy .np-navigation {
	border-width: 1px 0 0;
	border-radius: 0;
}

.np-header--variant-airy .np-menu > li > a {
	padding-right: 18px;
	padding-left: 18px;
	font-weight: 650;
}

/* Desktop geometry shared by all presets. */
@media (min-width: 1200px) {
	body.np-header-variant-metro,
	body.np-header-variant-minimal-line,
	body.np-header-variant-coral-split,
	body.np-header-variant-midnight-rail,
	body.np-header-variant-tech-grid,
	body.np-header-variant-capsule,
	body.np-header-variant-monochrome,
	body.np-header-variant-accent-frame,
	body.np-header-variant-blueprint,
	body.np-header-variant-neon-night { --np-header-height: 88px; }

	body.np-header-variant-glass-dock { --np-header-height: 108px; }
	body.np-header-variant-ultra-compact { --np-header-height: 66px; }
	body.np-header-variant-newsroom,
	body.np-header-variant-wide-ribbon,
	body.np-header-variant-airy { --np-header-height: 136px; }
	body.np-header-variant-menu-first { --np-header-height: 130px; }
	body.np-header-variant-aurora,
	body.np-header-variant-paper-masthead,
	body.np-header-variant-center-stage,
	body.np-header-variant-luxe { --np-header-height: 158px; }

	.np-header--has-preset .np-header__shell {
		display: grid;
		min-height: 88px;
		grid-template-columns: max-content minmax(0, 1fr) max-content;
		gap: 18px;
		align-items: center;
	}

	.np-header--has-preset .np-header__top {
		display: contents;
	}

	.np-header--has-preset .np-brand {
		grid-column: 1;
		grid-row: 1;
	}

	.np-header--has-preset .np-header__actions {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.np-header--has-preset .np-header__nav-row {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		padding: 0;
	}

	.np-header--has-preset .np-navigation {
		width: fit-content;
		max-width: 100%;
		margin-inline: auto;
	}

	.np-header--has-preset .np-navigation > .np-menu,
	.np-header--has-preset .np-navigation > div > .np-menu {
		flex-wrap: wrap;
		justify-content: center;
	}

	.np-header--variant-coral-split .np-navigation,
	.np-header--variant-midnight-rail .np-navigation {
		margin-left: 0;
	}

	.np-header--variant-glass-dock .np-header__shell {
		min-height: 86px;
		padding-right: 18px;
		padding-left: 18px;
	}

	.np-header--variant-ultra-compact .np-header__shell {
		min-height: 64px;
	}

	.np-header--variant-ultra-compact .custom-logo {
		max-height: 42px;
	}

	/* Left-aligned two-level presets. */
	.np-header--variant-newsroom .np-header__shell,
	.np-header--variant-wide-ribbon .np-header__shell,
	.np-header--variant-airy .np-header__shell {
		display: flex;
		min-height: 0;
		flex-direction: column;
		gap: 0;
	}

	.np-header--variant-newsroom .np-header__top,
	.np-header--variant-wide-ribbon .np-header__top,
	.np-header--variant-airy .np-header__top {
		display: flex;
		width: 100%;
		min-height: 78px;
	}

	.np-header--variant-newsroom .np-brand,
	.np-header--variant-wide-ribbon .np-brand,
	.np-header--variant-airy .np-brand,
	.np-header--variant-newsroom .np-header__actions,
	.np-header--variant-wide-ribbon .np-header__actions,
	.np-header--variant-airy .np-header__actions {
		grid-column: auto;
		grid-row: auto;
	}

	.np-header--variant-newsroom .np-header__nav-row,
	.np-header--variant-wide-ribbon .np-header__nav-row,
	.np-header--variant-airy .np-header__nav-row {
		width: 100%;
	}

	.np-header--variant-newsroom .np-navigation,
	.np-header--variant-wide-ribbon .np-navigation,
	.np-header--variant-airy .np-navigation {
		width: 100%;
	}

	.np-header--variant-newsroom .np-navigation > .np-menu,
	.np-header--variant-newsroom .np-navigation > div > .np-menu,
	.np-header--variant-wide-ribbon .np-navigation > .np-menu,
	.np-header--variant-wide-ribbon .np-navigation > div > .np-menu,
	.np-header--variant-airy .np-navigation > .np-menu,
	.np-header--variant-airy .np-navigation > div > .np-menu {
		justify-content: flex-start;
	}

	.np-header--variant-wide-ribbon .np-navigation {
		width: calc(100% + 24px);
		margin-right: -12px;
		margin-left: -12px;
	}

	.np-header--variant-airy .np-header__top {
		min-height: 88px;
	}

	.np-header--variant-airy .np-navigation > .np-menu,
	.np-header--variant-airy .np-navigation > div > .np-menu {
		justify-content: center;
	}

	/* Centered mastheads. */
	.np-header--variant-aurora .np-header__shell,
	.np-header--variant-paper-masthead .np-header__shell,
	.np-header--variant-center-stage .np-header__shell,
	.np-header--variant-luxe .np-header__shell {
		display: flex;
		min-height: 0;
		flex-direction: column;
		gap: 0;
	}

	.np-header--variant-aurora .np-header__top,
	.np-header--variant-paper-masthead .np-header__top,
	.np-header--variant-center-stage .np-header__top,
	.np-header--variant-luxe .np-header__top {
		position: relative;
		display: flex;
		width: 100%;
		min-height: 98px;
		justify-content: center;
	}

	.np-header--variant-aurora .np-brand,
	.np-header--variant-paper-masthead .np-brand,
	.np-header--variant-center-stage .np-brand,
	.np-header--variant-luxe .np-brand {
		grid-column: auto;
		grid-row: auto;
		justify-content: center;
		text-align: center;
	}

	.np-header--variant-aurora .np-header__actions,
	.np-header--variant-paper-masthead .np-header__actions,
	.np-header--variant-center-stage .np-header__actions,
	.np-header--variant-luxe .np-header__actions {
		position: absolute;
		right: 0;
		grid-column: auto;
		grid-row: auto;
	}

	.np-header--variant-aurora .np-header__nav-row,
	.np-header--variant-paper-masthead .np-header__nav-row,
	.np-header--variant-center-stage .np-header__nav-row,
	.np-header--variant-luxe .np-header__nav-row {
		width: 100%;
	}

	.np-header--variant-aurora .np-navigation,
	.np-header--variant-paper-masthead .np-navigation,
	.np-header--variant-center-stage .np-navigation,
	.np-header--variant-luxe .np-navigation {
		width: 100%;
	}

	.np-header--variant-paper-masthead .np-navigation > .np-menu,
	.np-header--variant-paper-masthead .np-navigation > div > .np-menu,
	.np-header--variant-center-stage .np-navigation > .np-menu,
	.np-header--variant-center-stage .np-navigation > div > .np-menu,
	.np-header--variant-luxe .np-navigation > .np-menu,
	.np-header--variant-luxe .np-navigation > div > .np-menu {
		justify-content: center;
	}

	/* Menu-first preset. */
	.np-header--variant-menu-first .np-header__shell {
		display: grid;
		min-height: 128px;
		grid-template-columns: minmax(0, 1fr) max-content;
		grid-template-rows: 50px 78px;
		gap: 0 18px;
	}

	.np-header--variant-menu-first .np-header__top {
		display: contents;
	}

	.np-header--variant-menu-first .np-header__nav-row {
		grid-column: 1 / -1;
		grid-row: 1;
		width: 100%;
	}

	.np-header--variant-menu-first .np-navigation {
		width: 100%;
	}

	.np-header--variant-menu-first .np-brand {
		grid-column: 1;
		grid-row: 2;
	}

	.np-header--variant-menu-first .np-header__actions {
		grid-column: 2;
		grid-row: 2;
	}
}

/* Every preset becomes the same reliable compact structure below desktop. */
@media (max-width: 1199px) {
	body[class*="np-header-variant-"] { --np-header-height: 72px; }

	.np-header--has-preset .np-header__shell,
	.np-header--variant-menu-first .np-header__shell,
	.np-header--variant-newsroom .np-header__shell,
	.np-header--variant-wide-ribbon .np-header__shell,
	.np-header--variant-airy .np-header__shell,
	.np-header--variant-aurora .np-header__shell,
	.np-header--variant-paper-masthead .np-header__shell,
	.np-header--variant-center-stage .np-header__shell,
	.np-header--variant-luxe .np-header__shell {
		display: block;
		min-height: 0;
		margin-top: 0;
		margin-bottom: 0;
		padding-right: 0;
		padding-left: 0;
		border-right: 0;
		border-left: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.np-header--has-preset .np-header__top,
	.np-header--variant-menu-first .np-header__top,
	.np-header--variant-newsroom .np-header__top,
	.np-header--variant-wide-ribbon .np-header__top,
	.np-header--variant-airy .np-header__top,
	.np-header--variant-aurora .np-header__top,
	.np-header--variant-paper-masthead .np-header__top,
	.np-header--variant-center-stage .np-header__top,
	.np-header--variant-luxe .np-header__top {
		position: static;
		display: flex;
		width: auto;
		min-height: 70px;
		justify-content: space-between;
	}

	.np-header--has-preset .np-brand,
	.np-header--has-preset .np-header__actions,
	.np-header--has-preset .np-header__nav-row {
		position: static;
		grid-column: auto;
		grid-row: auto;
		order: initial;
	}

	.np-header--has-preset .np-brand {
		align-self: auto;
		justify-content: flex-start;
		padding-right: 0;
		border-right: 0;
		text-align: left;
	}

	.np-header--has-preset .np-header__actions {
		right: auto;
		justify-self: auto;
	}

	.np-header--has-preset .np-header__nav-row {
		width: auto;
		margin: 0;
		padding: 0;
	}

	.np-header--has-preset .np-navigation {
		width: auto;
		max-width: none;
		margin: 0;
		border: 1px solid var(--np-border);
		border-top: 4px solid var(--np-preset-highlight);
		border-radius: 15px;
		background: var(--np-bg);
		box-shadow: var(--np-shadow-lg);
	}

	.np-header--has-preset .np-menu > li > a,
	.np-header--has-preset .np-menu > li > a:hover,
	.np-header--has-preset .np-menu > li > a:focus-visible,
	.np-header--has-preset .np-menu > .current-menu-item > a,
	.np-header--has-preset .np-menu > .current-category-ancestor > a {
		min-height: 44px;
		padding: 0 48px 0 10px;
		color: var(--np-ink);
		font-family: var(--np-font);
		font-size: 14px;
		letter-spacing: normal;
		text-transform: var(--np-menu-transform, none);
	}

	.np-header--has-preset .np-brand__name {
		font-family: var(--np-display);
		font-size: 24px;
		letter-spacing: -0.055em;
	}
}

/* --------------------------------------------------------------------------
   Twenty article-top and featured-image variants
   -------------------------------------------------------------------------- */

.np-article__top,
.np-article__top .np-article__header,
.np-article__top .np-article__featured {
	min-width: 0;
}

.np-article__top .np-article__header,
.np-article__top .np-article__featured {
	position: relative;
}

.np-article__top .np-article__header {
	z-index: 2;
}

.np-article__top .np-article__featured img {
	width: 100%;
}

/* 01 — Classic intentionally inherits the established article design. */
.np-article__top--classic {
	display: block;
}

/* 02 — Soft card. */
.np-article__top--soft-card {
	padding: clamp(22px, 3.2vw, 34px);
	border: 1px solid var(--np-border);
	border-radius: calc(var(--np-radius-lg) + 4px);
	background: linear-gradient(145deg, var(--np-surface-raised), var(--np-surface));
	box-shadow: var(--np-shadow-sm);
}

.np-article__top--soft-card .np-article__featured {
	box-shadow: 0 14px 34px rgba(7, 21, 39, 0.11);
}

/* 03 — Full bleed inside the editorial column. */
.np-article__top--full-bleed .np-article__featured {
	border-radius: 0;
}

.np-article__top--full-bleed .np-article__featured img {
	max-height: 620px;
	object-fit: cover;
}

/* 04 — Framed editorial card. */
.np-article__top--framed {
	padding: clamp(18px, 2.8vw, 30px);
	border: 2px solid var(--np-ink);
	border-top: 8px solid var(--np-accent);
	background: var(--np-bg);
}

.np-article__top--framed .np-article__featured {
	border: 1px solid var(--np-ink);
	border-radius: 2px;
}

/* 05 and 06 — Split layouts. */
.np-article__top--split-right,
.np-article__top--split-left {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(300px, 0.98fr);
	overflow: hidden;
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius-lg);
	background: var(--np-surface-raised);
	box-shadow: var(--np-shadow-sm);
}

.np-article__top--split-right .np-article__header,
.np-article__top--split-left .np-article__header {
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: clamp(24px, 3.4vw, 40px);
}

.np-article__top--split-right .np-article__featured,
.np-article__top--split-left .np-article__featured {
	min-height: 100%;
	margin-top: 0;
	border-radius: 0;
}

.np-article__top--split-right .np-article__featured img,
.np-article__top--split-left .np-article__featured img {
	height: 100%;
	min-height: 470px;
	object-fit: cover;
}

.np-article__top--split-right .np-article__header {
	grid-column: 1;
	grid-row: 1;
}

.np-article__top--split-right .np-article__featured {
	grid-column: 2;
	grid-row: 1;
}

.np-article__top--split-left .np-article__header {
	grid-column: 2;
	grid-row: 1;
}

.np-article__top--split-left .np-article__featured {
	grid-column: 1;
	grid-row: 1;
}

.np-article__top:is(.np-article__top--split-right, .np-article__top--split-left) .np-article__header h1 {
	font-size: clamp(31px, 3.25vw, 46px);
}

.np-article__top:is(.np-article__top--split-right, .np-article__top--split-left) .np-article__meta-row {
	align-items: flex-start;
	flex-direction: column;
}

/* 07, 08 and 09 — Image overlays. */
.np-article__top--overlay-bottom,
.np-article__top--overlay-center,
.np-article__top--cinematic {
	position: relative;
	display: grid;
	overflow: hidden;
	border-radius: var(--np-radius-lg);
	background: #071426;
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__header,
.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured {
	grid-column: 1;
	grid-row: 1;
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured {
	min-height: 520px;
	margin-top: 0;
	border-radius: 0;
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(2, 8, 18, 0.08) 22%, rgba(2, 8, 18, 0.9) 100%);
	content: "";
	pointer-events: none;
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured img {
	height: 100%;
	min-height: 520px;
	object-fit: cover;
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__header {
	align-self: end;
	padding: clamp(28px, 5vw, 58px);
	color: #fff;
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__header h1,
.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__dek,
.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-author-meta span {
	color: #fff;
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__meta-row {
	border-color: rgba(255, 255, 255, 0.28);
}

.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured figcaption {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	max-width: calc(100% - 24px);
	border-radius: 7px;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
}

.np-article__top--overlay-center .np-article__header {
	align-self: center;
	text-align: center;
}

.np-article__top--overlay-center .np-article__header > .np-badge {
	display: flex;
	width: max-content;
	margin-right: auto;
	margin-left: auto;
}

.np-article__top--overlay-center .np-article__dek {
	margin-right: auto;
	margin-left: auto;
}

.np-article__top--overlay-center .np-article__meta-row {
	justify-content: center;
}

.np-article__top--cinematic {
	border-radius: 2px;
	box-shadow: 0 22px 52px rgba(7, 21, 39, 0.2);
}

.np-article__top--cinematic .np-article__featured,
.np-article__top--cinematic .np-article__featured img {
	min-height: 470px;
}

.np-article__top--cinematic .np-article__featured img {
	filter: saturate(0.9) contrast(1.06);
}

/* 10 — Editorial rule. */
.np-article__top--editorial-line {
	padding-left: clamp(20px, 3vw, 34px);
	border-left: 7px solid var(--np-accent-strong);
}

.np-article__top--editorial-line .np-article__header {
	padding-bottom: 4px;
}

.np-article__top--editorial-line .np-article__featured {
	border-radius: 3px var(--np-radius-lg) var(--np-radius-lg) 3px;
}

/* 11 — Compact. */
.np-article__top--compact .np-article__header h1 {
	max-width: 760px;
	font-size: clamp(31px, 3.7vw, 44px);
}

.np-article__top--compact .np-article__dek {
	font-size: 17px;
}

.np-article__top--compact .np-article__meta-row {
	margin-top: 15px;
	padding: 11px 0;
}

.np-article__top--compact .np-article__featured {
	margin-top: 16px;
}

.np-article__top--compact .np-article__featured img {
	max-height: 390px;
	object-fit: cover;
}

/* 12 — Magazine band. */
.np-article__top--magazine-band {
	overflow: hidden;
	border-radius: var(--np-radius-lg);
	background: #0b1b32;
	box-shadow: var(--np-shadow-lg);
}

.np-article__top--magazine-band .np-article__header {
	padding: clamp(24px, 4vw, 42px);
	color: #fff;
}

.np-article__top--magazine-band .np-article__header h1,
.np-article__top--magazine-band .np-article__dek,
.np-article__top--magazine-band .np-author-meta span {
	color: #fff;
}

.np-article__top--magazine-band .np-article__meta-row {
	border-color: rgba(255, 255, 255, 0.2);
}

.np-article__top--magazine-band .np-article__featured {
	margin-top: 0;
	border-top: 6px solid var(--np-accent);
	border-radius: 0;
}

/* 13 — Floating title card. */
.np-article__top--floating-title {
	display: flex;
	flex-direction: column;
	padding-bottom: 28px;
}

.np-article__top--floating-title .np-article__featured {
	order: 1;
	margin-top: 0;
	border-radius: var(--np-radius-lg);
}

.np-article__top--floating-title .np-article__featured img {
	min-height: 430px;
	object-fit: cover;
}

.np-article__top--floating-title .np-article__header {
	order: 2;
	width: min(92%, 760px);
	margin: -96px auto 0;
	padding: clamp(22px, 3.5vw, 38px);
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius-lg);
	background: var(--np-surface-raised);
	box-shadow: 0 20px 48px rgba(7, 21, 39, 0.18);
}

/* 14 — Image first. */
.np-article__top--image-first {
	display: flex;
	flex-direction: column;
}

.np-article__top--image-first .np-article__featured {
	order: 1;
	margin-top: 0;
	border-radius: var(--np-radius-lg);
}

.np-article__top--image-first .np-article__header {
	order: 2;
	padding-top: clamp(22px, 3vw, 34px);
}

/* 15 — Panorama. */
.np-article__top--panorama .np-article__featured {
	border-radius: 3px;
}

.np-article__top--panorama .np-article__featured img {
	width: 100%;
	aspect-ratio: 21 / 9;
	object-fit: cover;
}

/* 16 — Portrait focus. */
.np-article__top--portrait-focus {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(260px, 0.72fr);
	gap: clamp(24px, 4vw, 44px);
	align-items: center;
	padding: clamp(22px, 3vw, 36px);
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius-lg);
	background: var(--np-surface);
}

.np-article__top--portrait-focus .np-article__featured {
	margin-top: 0;
	border-radius: 999px 999px 24px 24px;
}

.np-article__top--portrait-focus .np-article__featured img {
	width: 100%;
	min-height: 520px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.np-article__top--portrait-focus .np-article__header h1 {
	font-size: clamp(32px, 3.8vw, 48px);
}

.np-article__top--portrait-focus .np-article__meta-row {
	align-items: flex-start;
	flex-direction: column;
}

/* 17 — Photographic print. */
.np-article__top--polaroid .np-article__featured {
	margin: 32px 10px 12px;
	padding: 12px 12px 38px;
	border: 1px solid #dedbd2;
	border-radius: 2px;
	background: #fffdf8;
	box-shadow: 0 18px 38px rgba(39, 31, 20, 0.17);
	transform: rotate(-0.6deg);
}

.np-article__top--polaroid .np-article__featured figcaption {
	padding-bottom: 0;
	color: #625e55;
	font-family: Georgia, "Times New Roman", serif;
	text-align: center;
}

/* 18 — Duotone tech. */
.np-article__top--duotone {
	padding: clamp(22px, 3vw, 34px);
	border-radius: var(--np-radius-lg);
	background: linear-gradient(135deg, color-mix(in srgb, var(--np-blue) 11%, var(--np-surface)), color-mix(in srgb, var(--np-cyan) 10%, var(--np-bg)));
}

.np-article__top--duotone .np-article__featured {
	isolation: isolate;
	border-radius: 2px 24px 2px 24px;
	background: #244d9e;
}

.np-article__top--duotone .np-article__featured::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(49, 104, 255, 0.42), rgba(34, 205, 208, 0.23));
	content: "";
	mix-blend-mode: color;
	pointer-events: none;
}

.np-article__top--duotone .np-article__featured figcaption {
	position: relative;
	z-index: 2;
}

/* 19 — Dark stage. */
.np-article__top--dark-stage {
	padding: clamp(24px, 4vw, 44px);
	border-radius: var(--np-radius-lg);
	background: radial-gradient(circle at top right, #193f72 0, #0a1a30 43%, #07111f 100%);
	box-shadow: 0 24px 54px rgba(4, 13, 26, 0.25);
}

.np-article__top--dark-stage .np-article__header {
	color: #fff;
}

.np-article__top--dark-stage .np-article__header h1,
.np-article__top--dark-stage .np-article__dek,
.np-article__top--dark-stage .np-author-meta span {
	color: #fff;
}

.np-article__top--dark-stage .np-article__meta-row {
	border-color: rgba(255, 255, 255, 0.22);
}

.np-article__top--dark-stage .np-article__featured {
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 5px;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.3);
}

.np-article__top--dark-stage .np-article__featured figcaption {
	color: #d2dbea;
}

/* 20 — Square focus. */
.np-article__top--square-focus {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(290px, 0.82fr);
	gap: clamp(24px, 4vw, 46px);
	align-items: center;
	padding: clamp(12px, 2vw, 20px) 0 clamp(12px, 2vw, 20px) clamp(22px, 3vw, 36px);
	border-left: 5px solid var(--np-blue);
}

.np-article__top--square-focus .np-article__featured {
	margin-top: 0;
	border: 10px solid var(--np-surface);
	border-radius: 50% 8px 8px 8px;
	box-shadow: var(--np-shadow-lg);
}

.np-article__top--square-focus .np-article__featured img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.np-article__top--square-focus .np-article__header h1 {
	font-size: clamp(31px, 3.5vw, 47px);
}

.np-article__top--square-focus .np-article__meta-row {
	align-items: flex-start;
	flex-direction: column;
}

/* Variants remain useful when an article has no featured image. */
.np-article__top--no-image:is(.np-article__top--split-right, .np-article__top--split-left, .np-article__top--portrait-focus, .np-article__top--square-focus) {
	display: block;
}

.np-article__top--no-image:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) {
	display: block;
	padding: clamp(26px, 4vw, 44px);
}

.np-article__top--no-image:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__header {
	padding: 0;
}

.np-article__top--no-image.np-article__top--floating-title {
	padding-bottom: 0;
}

.np-article__top--no-image.np-article__top--floating-title .np-article__header {
	width: 100%;
	margin-top: 0;
}

/* Article tops collapse safely without horizontal overflow. */
@media (max-width: 760px) {
	.np-article__top--split-right,
	.np-article__top--split-left,
	.np-article__top--portrait-focus,
	.np-article__top--square-focus {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 0;
		border-left-width: 1px;
	}

	.np-article__top:is(.np-article__top--split-right, .np-article__top--split-left, .np-article__top--portrait-focus, .np-article__top--square-focus) .np-article__header {
		order: 1;
		width: 100%;
		padding: 22px;
	}

	.np-article__top:is(.np-article__top--split-right, .np-article__top--split-left, .np-article__top--portrait-focus, .np-article__top--square-focus) .np-article__featured {
		order: 2;
		width: 100%;
		margin: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.np-article__top:is(.np-article__top--split-right, .np-article__top--split-left, .np-article__top--portrait-focus, .np-article__top--square-focus) .np-article__featured img {
		width: 100%;
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.np-article__top--overlay-bottom,
	.np-article__top--overlay-center,
	.np-article__top--cinematic {
		display: flex;
		flex-direction: column;
		border-radius: var(--np-radius);
	}

	.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__header {
		order: 1;
		padding: 22px;
		text-align: left;
	}

	.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured {
		order: 2;
		min-height: 0;
	}

	.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured::after {
		display: none;
	}

	.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured img {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.np-article__top--overlay-center .np-article__header > .np-badge,
	.np-article__top--overlay-center .np-article__dek {
		margin-left: 0;
	}

	.np-article__top--overlay-center .np-article__meta-row {
		justify-content: flex-start;
	}

	.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__featured figcaption {
		position: static;
		max-width: none;
		border-radius: 0;
		background: #071426;
	}

	.np-article__top--floating-title {
		padding-bottom: 0;
	}

	.np-article__top--floating-title .np-article__featured img {
		min-height: 280px;
	}

	.np-article__top--floating-title .np-article__header {
		width: calc(100% - 24px);
		margin-top: -46px;
		padding: 21px;
	}

	.np-article__top--soft-card,
	.np-article__top--framed,
	.np-article__top--duotone,
	.np-article__top--dark-stage {
		padding: 20px;
	}

	.np-article__top--polaroid .np-article__featured {
		margin-right: 2px;
		margin-left: 2px;
		transform: none;
	}
}

@media (max-width: 480px) {
	.np-article__top--soft-card,
	.np-article__top--framed,
	.np-article__top--duotone,
	.np-article__top--dark-stage {
		padding: 16px;
	}

	.np-article__top:is(.np-article__top--split-right, .np-article__top--split-left, .np-article__top--portrait-focus, .np-article__top--square-focus) .np-article__header,
	.np-article__top:is(.np-article__top--overlay-bottom, .np-article__top--overlay-center, .np-article__top--cinematic) .np-article__header {
		padding: 18px;
	}

	.np-article__top--floating-title .np-article__header {
		width: calc(100% - 16px);
		margin-top: -34px;
		padding: 18px;
	}
}
