/*
Theme Name: NeonPress Magazine
Author: OpenAI
Author URI: https://openai.com/
Description: Tema editoriale originale per magazine tecnologici, con hero dinamica, ticker, card modulari, modalità scura e layout responsive.
Version: 1.3.6
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: neonpress-magazine
Tags: blog, news, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks
*/

:root {
	color-scheme: light;
	--np-accent: #d7ff3f;
	--np-accent-strong: #bcec1e;
	--np-ink: #11151c;
	--np-navy: #071b38;
	--np-blue: #3168ff;
	--np-red: #ff4c67;
	--np-cyan: #22cdd0;
	--np-orange: #ff8a32;
	--np-purple: #8c55e8;
	--np-bg: #ffffff;
	--np-surface: #f4f6f8;
	--np-surface-raised: #ffffff;
	--np-border: #e5e8ed;
	--np-muted: #6b7280;
	--np-muted-2: #9299a4;
	--np-shadow-sm: 0 2px 10px rgba(7, 21, 39, 0.06);
	--np-shadow-lg: 0 20px 50px rgba(7, 21, 39, 0.13);
	--np-radius-sm: 10px;
	--np-radius: 16px;
	--np-radius-lg: 22px;
	--np-container: 1232px;
	--np-sidebar-width: 340px;
	--np-hero-height: 490px;
	--np-logo-width: 280px;
	--np-header-height: 142px;
	--np-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--np-display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[data-theme="dark"] {
	color-scheme: dark;
	--np-ink: #f3f5f7;
	--np-navy: #f6f8fb;
	--np-bg: #111419;
	--np-surface: #1a1f26;
	--np-surface-raised: #15191f;
	--np-border: #2b323c;
	--np-muted: #a4abb5;
	--np-muted-2: #7d8692;
	--np-shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.28);
	--np-shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.42);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--np-bg);
	color: var(--np-ink);
	font-family: var(--np-font);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover,
a:focus-visible {
	color: var(--np-blue);
}

button,
input,
textarea,
select {
	font: inherit;
}

button,
[type="button"],
[type="submit"] {
	cursor: pointer;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

svg {
	display: block;
}

::selection {
	background: var(--np-accent);
	color: #0b0e11;
}

.np-container {
	width: min(calc(100% - 48px), var(--np-container));
	margin-inline: auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 10px;
	left: 10px;
	z-index: 10000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 12px 16px;
	margin: 0;
	background: var(--np-accent);
	color: #0b0e11;
	font-weight: 800;
	border-radius: 8px;
}

.np-icon {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.np-eyebrow {
	display: inline-block;
	color: var(--np-blue);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.np-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 22px;
	border-radius: 12px;
	background: var(--np-ink);
	color: var(--np-bg);
	font-weight: 800;
}

.np-button:hover,
.np-button:focus-visible {
	background: var(--np-accent);
	color: #0b0e11;
}

/* Header */
.np-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: color-mix(in srgb, var(--np-bg) 94%, transparent);
	border-bottom: 1px solid var(--np-border);
	backdrop-filter: blur(18px);
	transition: box-shadow 180ms ease;
}

.np-header.is-scrolled {
	box-shadow: 0 10px 30px rgba(7, 21, 39, 0.08);
}

.np-header--static {
	position: relative;
}

.np-header__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 76px;
	gap: 28px;
}

.np-brand,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}

.custom-logo {
	width: auto;
	max-width: var(--np-logo-width);
	max-height: 58px;
	object-fit: contain;
}

.np-brand__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--np-ink);
}

.np-brand__link:hover,
.np-brand__link:focus-visible {
	color: var(--np-ink);
}

.np-brand__mark {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	border: 3px solid #0b0e11;
	border-radius: 50% 42% 54% 46%;
	background: var(--np-accent);
	color: #0b0e11;
	font-family: var(--np-display);
	font-size: 23px;
	font-weight: 950;
	transform: rotate(-4deg);
}

.np-brand__name {
	max-width: 310px;
	overflow: hidden;
	font-family: var(--np-display);
	font-size: clamp(22px, 2.3vw, 32px);
	font-weight: 900;
	letter-spacing: -0.055em;
	line-height: 1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.np-header__actions,
.np-socials {
	display: flex;
	align-items: center;
}

.np-header__actions {
	position: relative;
	z-index: 3;
	gap: 9px;
}

.np-socials {
	gap: 5px;
	margin-right: 2px;
}

.np-social,
.np-icon-button {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--np-border);
	border-radius: 10px;
	background: var(--np-surface);
	color: var(--np-ink);
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
}

.np-social:hover,
.np-social:focus-visible,
.np-icon-button:hover,
.np-icon-button:focus-visible {
	border-color: var(--np-ink);
	background: var(--np-ink);
	color: var(--np-bg);
}

.np-social--facebook { background: #2878e3; border-color: #2878e3; color: #fff; }
.np-social--instagram { background: #e54b72; border-color: #e54b72; color: #fff; }
.np-social--youtube { background: #f00; border-color: #f00; color: #fff; }
.np-social--telegram { background: #26a8df; border-color: #26a8df; color: #fff; }
.np-social--tiktok { background: #111; border-color: #111; color: #fff; }

.np-theme-toggle .np-icon--sun { display: none; }
html[data-theme="dark"] .np-theme-toggle .np-icon--sun { display: block; }
html[data-theme="dark"] .np-theme-toggle .np-icon--moon { display: none; }

.np-offer-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 17px;
	border-radius: 11px;
	background: var(--np-accent);
	color: #0b0e11;
	font-size: 14px;
	font-weight: 850;
	box-shadow: 0 6px 18px rgba(190, 232, 30, 0.22);
}

.np-offer-button:hover,
.np-offer-button:focus-visible {
	background: var(--np-ink);
	color: var(--np-bg);
}

.np-menu-toggle {
	display: none;
}

.np-header__nav-row {
	display: block;
	padding-bottom: 11px;
}

.np-navigation {
	width: 100%;
	min-width: 0;
	padding: 0 10px;
	border: 1px solid var(--np-border);
	border-radius: 14px;
	background: var(--np-surface);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.np-menu,
.np-navigation ul,
.np-footer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.np-navigation > .np-menu,
.np-navigation > div > .np-menu {
	display: flex;
	align-items: center;
	min-height: 48px;
	overflow: visible;
	scrollbar-width: none;
}

.np-navigation > .np-menu::-webkit-scrollbar,
.np-navigation > div > .np-menu::-webkit-scrollbar {
	display: none;
}

.np-menu > li {
	position: relative;
	flex: 0 0 auto;
}

.np-menu > li > a {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 47px;
	padding: 0 11px;
	color: var(--np-ink);
	font-size: 13.5px;
	font-weight: 760;
	white-space: nowrap;
}

.np-menu > li > a::before {
	width: 7px;
	height: 7px;
	flex: 0 0 7px;
	border-radius: 50%;
	background: var(--np-accent);
	box-shadow: 0 0 8px color-mix(in srgb, var(--np-accent) 65%, transparent);
	content: "";
}

.np-menu > li:nth-child(5n + 2) > a::before { background: var(--np-cyan); }
.np-menu > li:nth-child(5n + 3) > a::before { background: var(--np-orange); }
.np-menu > li:nth-child(5n + 4) > a::before { background: var(--np-blue); }
.np-menu > li:nth-child(5n + 5) > a::before { background: var(--np-red); }

.np-no-menu-dots .np-menu > li > a::before {
	display: none;
}

.np-menu > li > a:hover,
.np-menu > li > a:focus-visible,
.np-menu > .current-menu-item > a,
.np-menu > .current-category-ancestor > a {
	color: var(--np-blue);
}

.np-menu .sub-menu {
	position: absolute;
	top: calc(100% - 2px);
	left: 4px;
	z-index: 5;
	display: none;
	width: 230px;
	padding: 10px;
	border: 1px solid var(--np-border);
	border-radius: 12px;
	background: var(--np-surface-raised);
	box-shadow: var(--np-shadow-lg);
}

.np-menu li:hover > .sub-menu,
.np-menu li:focus-within > .sub-menu {
	display: block;
}

.np-menu .sub-menu a {
	display: block;
	padding: 8px 10px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
}

.np-menu .sub-menu a:hover,
.np-menu .sub-menu a:focus-visible {
	background: var(--np-surface);
}

.np-search-trigger {
	position: relative;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-width: 116px;
	height: 46px;
	padding: 0 16px;
	border: 0;
	border-radius: 14px;
	background: #10141b;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	box-shadow: 0 9px 22px rgba(7, 21, 39, 0.16);
	cursor: pointer;
	pointer-events: auto;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
}

.np-search-trigger .np-icon {
	box-sizing: content-box;
	padding: 6px;
	border-radius: 50%;
	background: var(--np-accent);
	color: #0b0e11;
}

.np-search-trigger:hover,
.np-search-trigger:focus-visible {
	background: var(--np-blue);
	color: #fff;
}

/* Native search disclosure */
.np-search-disclosure {
	position: relative;
	z-index: 4;
	flex: 0 0 auto;
}

.np-search-disclosure > summary {
	list-style: none;
	user-select: none;
}

.np-search-disclosure > summary::-webkit-details-marker {
	display: none;
}

.np-search-disclosure[open] {
	z-index: 2100;
}

.np-search-panel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	z-index: 2100;
	width: min(520px, calc(100vw - 36px));
	padding: 24px;
	border: 1px solid var(--np-border);
	border-radius: 18px;
	background: var(--np-bg);
	box-shadow: 0 24px 65px rgba(5, 14, 28, 0.24);
}

.np-search-panel h2 {
	margin: 7px 0 20px;
	font-family: var(--np-display);
	font-size: clamp(24px, 3vw, 32px);
	letter-spacing: -0.04em;
	line-height: 1.1;
}

.np-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.np-search-field {
	min-width: 0;
	height: 54px;
	padding: 0 18px;
	border: 1px solid var(--np-border);
	border-radius: 12px;
	outline: 0;
	background: var(--np-surface);
	color: var(--np-ink);
}

.np-search-field:focus {
	border-color: var(--np-blue);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--np-blue) 15%, transparent);
}

.np-search-submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 54px;
	padding: 0 20px;
	border: 0;
	border-radius: 12px;
	background: var(--np-accent);
	color: #0b0e11;
	font-weight: 850;
}

/* Shared headings */
.np-main {
	min-height: 58vh;
}

.np-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
}

.np-section-heading h2 {
	margin: 3px 0 0;
	font-family: var(--np-display);
	font-size: clamp(25px, 3vw, 34px);
	font-weight: 900;
	letter-spacing: -0.045em;
	line-height: 1.1;
}

.np-section-heading > a {
	padding-bottom: 4px;
	font-size: 13px;
	font-weight: 800;
}

.np-section-heading--compact {
	align-items: center;
	justify-content: start;
	gap: 9px;
	margin-bottom: 10px;
}

.np-section-heading--compact h2 {
	font-size: 21px;
}

.np-section-heading__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--np-red);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--np-red) 14%, transparent);
}

/* Homepage hero */
.np-home {
	padding: 24px 0 76px;
}

.np-home-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--np-sidebar-width);
	gap: 24px;
	margin-bottom: 34px;
}

.np-home-hero.np-home-hero--no-breaking {
	grid-template-columns: minmax(0, 1fr);
}

.np-home-hero.np-home-hero--breaking-only {
	grid-template-columns: minmax(280px, var(--np-sidebar-width));
	justify-content: center;
}

.np-hero-slider {
	position: relative;
	min-width: 0;
	height: var(--np-hero-height);
	overflow: hidden;
	border-radius: var(--np-radius-lg);
	background: var(--np-navy);
	box-shadow: var(--np-shadow-sm);
}

.np-hero-slider__track,
.np-hero-slide,
.np-hero-slide__media {
	position: absolute;
	inset: 0;
}

.np-hero-slide {
	opacity: 0;
	visibility: hidden;
	transition: opacity 500ms ease, visibility 500ms ease;
}

.np-hero-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.np-hero-slide__media {
	display: block;
	color: #fff;
}

.np-hero-slide__image,
.np-hero-slide__media > .np-card__fallback {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.np-hero-slide.is-active:hover .np-hero-slide__image {
	transform: scale(1.035);
}

.np-hero-slide__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(3, 8, 15, 0.04) 20%, rgba(3, 8, 15, 0.86) 100%);
}

.np-hero-slide__content {
	position: absolute;
	left: clamp(26px, 4vw, 42px);
	right: clamp(26px, 4vw, 42px);
	bottom: 28px;
	z-index: 2;
	color: #fff;
	pointer-events: none;
}

.np-hero-slide__content a {
	color: inherit;
	pointer-events: auto;
}

.np-hero-slide__content h2 {
	max-width: 820px;
	margin: 13px 0 10px;
	font-family: var(--np-display);
	font-size: clamp(30px, 3.55vw, 47px);
	font-weight: 900;
	letter-spacing: -0.048em;
	line-height: 1.08;
	text-wrap: balance;
}

.np-hero-slide__content h2 a:hover {
	color: var(--np-accent);
}

.np-hero-slide__meta {
	margin: 0;
	color: rgba(255, 255, 255, 0.74);
	font-size: 13px;
}

.np-hero-slide__meta span {
	margin: 0 4px;
}

.np-hero-slider__dots {
	position: absolute;
	right: 20px;
	bottom: 17px;
	z-index: 5;
	display: flex;
	gap: 5px;
}

.np-hero-slider__dots button {
	width: 20px;
	height: 7px;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.36);
	transition: width 180ms ease, background 180ms ease;
}

.np-hero-slider__dots button.is-active {
	width: 30px;
	background: var(--np-accent);
}

.np-breaking {
	display: flex;
	flex-direction: column;
	height: var(--np-hero-height);
	padding: 18px;
	overflow: hidden;
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius);
	background: var(--np-surface);
}

.np-breaking__all {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	margin-bottom: 13px;
	border-radius: 999px;
	background: var(--np-ink);
	color: var(--np-bg);
	font-size: 13px;
	font-weight: 850;
}

.np-breaking__all:hover,
.np-breaking__all:focus-visible {
	background: var(--np-accent);
	color: #0b0e11;
}

.np-breaking h2 {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 1px 0 7px;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.np-breaking h2 span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--np-red);
	box-shadow: 0 0 10px color-mix(in srgb, var(--np-red) 62%, transparent);
}

.np-breaking__list {
	min-height: 0;
	overflow: hidden;
}

.np-breaking__list a {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	padding: 10px 0;
	border-bottom: 1px solid var(--np-border);
	font-size: 12.5px;
	font-weight: 660;
	line-height: 1.35;
}

.np-breaking__list a:last-child {
	border-bottom: 0;
}

.np-breaking__list time {
	color: var(--np-muted);
	font-size: 11.5px;
	font-variant-numeric: tabular-nums;
}

/* Cards and grids */
.np-latest-strip {
	margin: 0 0 54px;
}

.np-grid {
	display: grid;
	gap: 20px;
}

.np-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.np-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.np-grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.np-card {
	min-width: 0;
}

.np-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius);
	background: var(--np-surface-raised);
	box-shadow: var(--np-shadow-sm);
	color: var(--np-ink);
	transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.np-card__link:hover,
.np-card__link:focus-visible {
	border-color: color-mix(in srgb, var(--np-blue) 38%, var(--np-border));
	box-shadow: var(--np-shadow-lg);
	color: var(--np-ink);
	transform: translateY(-5px);
}

.np-card__media {
	position: relative;
	min-height: 0;
	overflow: hidden;
	background: var(--np-surface);
}

.np-card--grid .np-card__media,
.np-card--archive .np-card__media {
	aspect-ratio: 16 / 10;
}

.np-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 380ms ease;
}

.np-card__link:hover .np-card__image {
	transform: scale(1.035);
}

.np-card__fallback {
	display: grid;
	place-items: center;
	min-height: 160px;
	background:
		radial-gradient(circle at 20% 25%, color-mix(in srgb, var(--np-accent) 72%, transparent), transparent 24%),
		linear-gradient(135deg, #142849, #315ff0 58%, #6b45d8);
	color: #fff;
}

.np-card__fallback span {
	font-family: var(--np-display);
	font-size: clamp(52px, 8vw, 96px);
	font-weight: 950;
	opacity: 0.86;
}

.np-card__badge-wrap {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
}

.np-badge {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: 27px;
	padding: 5px 10px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 8px;
	background: #153a9b;
	box-shadow: 0 3px 9px rgba(3, 12, 31, 0.2);
	color: #fff;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.055em;
	line-height: 1.2;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.np-badge:hover,
.np-badge:focus-visible {
	color: #fff;
	filter: brightness(1.12);
}

.np-badge--0 { background: #153a9b; }
.np-badge--1 { background: #6d43b9; }
.np-badge--2 { background: #0b877f; }
.np-badge--3 { background: #d14d2f; }
.np-badge--4 { background: #c22662; }
.np-badge--5 { background: #283b55; }
.np-badge--6 { background: #456d0a; }
.np-badge--dark { background: rgba(8, 13, 20, 0.78); border-left: 3px solid var(--np-accent); }

.np-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px;
}

.np-card__title {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	font-family: var(--np-display);
	font-size: 17px;
	font-weight: 860;
	letter-spacing: -0.025em;
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow-wrap: break-word;
}

.np-card__excerpt {
	display: -webkit-box;
	margin: 11px 0 0;
	overflow: hidden;
	color: var(--np-muted);
	font-size: 14px;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.np-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 14px;
	color: var(--np-muted);
	font-size: 11px;
}

.np-card__meta span {
	max-width: 55%;
	overflow: hidden;
	color: var(--np-blue);
	font-weight: 800;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.np-home-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--np-sidebar-width);
	gap: 32px;
	align-items: start;
}

.np-home-layout.np-home-layout--wide {
	grid-template-columns: minmax(0, 1fr);
}

.np-home-feed {
	min-width: 0;
}

.np-topic {
	margin-bottom: 58px;
}

.np-topic__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(270px, 0.75fr);
	gap: 14px;
}

.np-card--featured {
	grid-row: 1 / span 4;
}

.np-card--featured .np-card__media {
	flex: 1 1 320px;
	min-height: 320px;
}

.np-card--featured .np-card__body {
	flex: 0 0 auto;
	padding: 20px;
}

.np-card--featured .np-card__title {
	font-size: clamp(21px, 2.2vw, 28px);
	line-height: 1.2;
	-webkit-line-clamp: 2;
}

.np-card--horizontal .np-card__link {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	min-height: 114px;
	border-radius: 13px;
	box-shadow: none;
}

.np-card--horizontal .np-card__media {
	height: 100%;
	min-height: 112px;
}

.np-card--horizontal .np-card__body {
	padding: 13px 14px;
}

.np-card--horizontal .np-card__title {
	font-size: 14px;
	line-height: 1.3;
	-webkit-line-clamp: 3;
}

.np-card--horizontal .np-card__meta {
	padding-top: 7px;
}

.np-card--horizontal .np-card__meta span,
.np-card--horizontal .np-card__badge-wrap {
	display: none;
}

/* Sidebar */
.np-sidebar {
	position: sticky;
	top: calc(var(--np-header-height) + 20px);
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

.np-side-panel,
.np-widget {
	padding: 18px;
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius);
	background: var(--np-surface-raised);
}

.np-side-list {
	display: flex;
	flex-direction: column;
}

.np-side-story {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 11px;
	padding: 11px 0;
	border-bottom: 1px solid var(--np-border);
}

.np-side-story:last-child {
	border-bottom: 0;
}

.np-side-story__media {
	display: block;
	width: 58px;
	height: 58px;
	overflow: hidden;
	border-radius: 9px;
	background: var(--np-surface);
}

.np-side-story__media .np-card__fallback {
	min-height: 58px;
}

.np-side-story__media .np-card__fallback span {
	font-size: 26px;
}

.np-side-story__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
}

.np-side-story strong {
	display: -webkit-box;
	overflow: hidden;
	font-family: var(--np-display);
	font-size: 12.5px;
	line-height: 1.28;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.np-side-story small {
	margin-top: 4px;
	color: var(--np-muted);
	font-size: 10.5px;
}

.np-channel-card {
	position: relative;
	overflow: hidden;
	padding: 22px;
	border-radius: var(--np-radius);
	color: #fff;
	box-shadow: var(--np-shadow-lg);
}

.np-channel-card::after {
	position: absolute;
	top: -40px;
	right: -40px;
	width: 140px;
	height: 140px;
	border: 26px solid rgba(255, 255, 255, 0.07);
	border-radius: 50%;
	content: "";
}

.np-channel-card--blue {
	background: linear-gradient(145deg, #06182b, #0b4c73);
}

.np-channel-card .np-eyebrow {
	color: #55dcff;
}

.np-channel-card h2 {
	margin: 6px 0 8px;
	font-family: var(--np-display);
	font-size: 20px;
	line-height: 1.15;
}

.np-channel-card p {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
	line-height: 1.55;
}

.np-channel-card a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 9px;
	background: rgba(52, 177, 225, 0.28);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.np-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.np-tag-cloud a {
	padding: 6px 9px;
	border: 1px solid var(--np-border);
	border-radius: 999px;
	background: var(--np-surface);
	font-weight: 700;
}

.widget-title {
	margin: 0 0 14px;
	font-family: var(--np-display);
	font-size: 20px;
	letter-spacing: -0.03em;
}

.widget ul {
	margin: 0;
	padding-left: 18px;
}

/* Archives */
.np-archive {
	padding-bottom: 76px;
}

.np-archive-hero {
	position: relative;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--np-border);
	background:
		radial-gradient(circle at 14% 12%, rgba(49, 104, 255, 0.14), transparent 28%),
		linear-gradient(105deg, var(--np-surface) 0%, var(--np-bg) 70%);
}

.np-archive-hero::before {
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: var(--np-blue);
	content: "";
}

.np-archive-hero__inner {
	padding-top: 38px;
	padding-bottom: 38px;
}

.np-archive-hero h1 {
	max-width: 850px;
	margin: 8px 0 0;
	font-family: var(--np-display);
	font-size: clamp(36px, 5vw, 54px);
	font-weight: 950;
	letter-spacing: -0.055em;
	line-height: 1.05;
}

.np-archive-description {
	max-width: 760px;
	margin-top: 14px;
	color: var(--np-muted);
}

.np-archive-description p {
	margin: 0;
}

.np-filter-chips {
	display: flex;
	gap: 8px;
	margin-bottom: 22px;
	overflow-x: auto;
	padding-bottom: 2px;
	scrollbar-width: none;
}

.np-filter-chips::-webkit-scrollbar {
	display: none;
}

.np-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid var(--np-border);
	border-radius: 999px;
	background: var(--np-surface);
	font-size: 12.5px;
	font-weight: 800;
	white-space: nowrap;
}

.np-chip span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--np-cyan);
}

.np-chip:nth-child(3n + 2) span { background: var(--np-red); }
.np-chip:nth-child(3n + 3) span { background: var(--np-accent-strong); }
.np-chip.is-active,
.np-chip:hover,
.np-chip:focus-visible {
	border-color: var(--np-ink);
	background: var(--np-ink);
	color: var(--np-bg);
}

.np-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.np-archive-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.np-archive-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.np-archive-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.np-card--archive-featured {
	grid-column: 1 / -1;
}

.np-card--archive-featured .np-card__link {
	display: grid;
	grid-template-columns: 1.15fr 0.95fr;
	min-height: 360px;
}

.np-card--archive-featured .np-card__media {
	min-height: 360px;
}

.np-card--archive-featured .np-card__body {
	justify-content: center;
	padding: clamp(28px, 4vw, 48px);
}

.np-card--archive-featured .np-card__title {
	font-size: clamp(28px, 3.25vw, 42px);
	letter-spacing: -0.048em;
	line-height: 1.1;
	-webkit-line-clamp: 3;
}

.np-card--archive-featured .np-card__excerpt {
	font-size: 15px;
	-webkit-line-clamp: 3;
}

.np-card--archive .np-card__body {
	min-height: 180px;
}

.navigation.pagination {
	margin-top: 42px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
}

.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--np-border);
	border-radius: 10px;
	background: var(--np-surface-raised);
	font-size: 13px;
	font-weight: 800;
}

.page-numbers.current,
.page-numbers:hover,
.page-numbers:focus-visible {
	border-color: var(--np-ink);
	background: var(--np-ink);
	color: var(--np-bg);
}

.np-empty-state {
	max-width: 720px;
	margin: 70px auto;
	padding: clamp(28px, 6vw, 58px);
	text-align: center;
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius-lg);
	background: var(--np-surface);
}

.np-empty-state__mark {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: var(--np-accent);
	color: #0b0e11;
	font-size: 32px;
	font-weight: 900;
}

.np-empty-state h2 {
	margin: 0;
	font-family: var(--np-display);
	font-size: 30px;
}

.np-empty-state .np-search-form {
	margin-top: 20px;
}

/* Single article */
.np-single {
	padding: 25px 0 80px;
}

.np-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 848px) minmax(280px, var(--np-sidebar-width));
	justify-content: space-between;
	gap: 48px;
	align-items: start;
}

.np-single__layout.np-single__layout--wide {
	display: block;
}

.np-single__layout--wide .np-article {
	max-width: 900px;
	margin-inline: auto;
}

.np-article {
	min-width: 0;
}

.np-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 18px;
	color: var(--np-muted);
	font-size: 12px;
}

.np-breadcrumbs a:hover {
	color: var(--np-blue);
}

.np-article__header > .np-badge {
	margin-bottom: 12px;
}

.np-article__header h1 {
	margin: 0;
	color: var(--np-navy);
	font-family: var(--np-display);
	font-size: clamp(35px, 4.5vw, 53px);
	font-weight: 950;
	letter-spacing: -0.058em;
	line-height: 1.06;
	text-wrap: balance;
	overflow-wrap: break-word;
}

.np-article__dek {
	max-width: 780px;
	margin: 16px 0 0;
	color: var(--np-muted);
	font-size: 19px;
	line-height: 1.5;
}

.np-article__meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	margin-top: 22px;
	padding: 18px 0;
	border-top: 1px solid var(--np-border);
	border-bottom: 1px solid var(--np-border);
}

.np-author-meta {
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
}

.np-author-meta .avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	object-fit: cover;
}

.np-author-meta > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.np-author-meta strong {
	font-size: 13.5px;
}

.np-author-meta span {
	color: var(--np-muted);
	font-size: 11px;
}

.np-share {
	display: flex;
	align-items: center;
	gap: 6px;
}

.np-share > span {
	margin-right: 3px;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.np-share a {
	display: inline-grid;
	place-items: center;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: var(--np-ink);
	color: var(--np-bg);
	font-size: 10px;
	font-weight: 900;
}

.np-share a:first-of-type { background: #2878e3; color: #fff; }
.np-share a:nth-of-type(3) { background: #1477a8; color: #fff; }
.np-share a:nth-of-type(4) { background: #10a85b; color: #fff; }

.np-article__featured {
	margin-top: 24px;
	overflow: hidden;
	border-radius: var(--np-radius);
	background: var(--np-surface);
}

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

.np-article__featured figcaption,
.wp-caption-text,
.gallery-caption {
	padding: 8px 12px;
	color: var(--np-muted);
	font-size: 11px;
	font-style: italic;
}

.np-toc {
	margin: 24px 0;
	overflow: hidden;
	border: 1px solid var(--np-border);
	border-left: 4px solid var(--np-accent-strong);
	border-radius: 13px;
	background: var(--np-surface-raised);
	box-shadow: var(--np-shadow-sm);
}

.np-toc[hidden] {
	display: none;
}

.np-toc summary {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px 17px;
	cursor: pointer;
	list-style: none;
}

.np-toc summary::-webkit-details-marker { display: none; }

.np-toc__icon {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--np-accent);
	color: #0b0e11;
	font-size: 24px;
	font-weight: 900;
}

.np-toc summary > span:last-child {
	display: flex;
	flex-direction: column;
}

.np-toc summary strong {
	font-size: 14px;
}

.np-toc summary small {
	color: var(--np-muted);
	font-size: 11px;
}

.np-toc ol {
	margin: 0;
	padding: 4px 30px 18px 66px;
}

.np-toc li {
	margin: 6px 0;
	font-size: 13px;
}

.np-toc li.np-toc-sub {
	margin-left: 18px;
	color: var(--np-muted);
}

.np-entry-content {
	color: var(--np-ink);
	font-family: Georgia, Cambria, "Times New Roman", serif;
	font-size: 19px;
	line-height: 1.82;
	overflow-wrap: break-word;
}

.np-entry-content iframe,
.np-entry-content video,
.np-entry-content embed,
.np-entry-content object {
	max-width: 100%;
}

.np-entry-content > *:first-child {
	margin-top: 0;
}

.np-entry-content p,
.np-entry-content ul,
.np-entry-content ol {
	margin-top: 0;
	margin-bottom: 1.45em;
}

.np-entry-content h2,
.np-entry-content h3,
.np-entry-content h4 {
	scroll-margin-top: calc(var(--np-header-height) + 26px);
	color: var(--np-ink);
	font-family: var(--np-display);
	font-weight: 900;
	letter-spacing: -0.04em;
	line-height: 1.18;
}

.np-entry-content h2 {
	margin: 1.25em 0 0.68em;
	font-size: clamp(28px, 3.5vw, 37px);
}

.np-entry-content p + h2,
.np-entry-content ul + h2,
.np-entry-content ol + h2 {
	margin-top: 0.9em;
}

.np-entry-content h3 {
	margin: 1.65em 0 0.65em;
	font-size: clamp(23px, 3vw, 29px);
}

.np-entry-content h4 {
	font-size: 21px;
}

.np-entry-content a {
	color: #1f5de2;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--np-blue) 38%, transparent);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.np-entry-content blockquote {
	margin: 1.7em 0;
	padding: 22px 26px;
	border-left: 5px solid var(--np-accent-strong);
	border-radius: 0 14px 14px 0;
	background: var(--np-surface);
	font-size: 1.08em;
	font-style: italic;
}

.np-entry-content blockquote p:last-child {
	margin-bottom: 0;
}

.np-entry-content pre,
.np-entry-content code {
	font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.np-entry-content pre {
	max-width: 100%;
	padding: 18px;
	overflow-x: auto;
	border-radius: 12px;
	background: #0e1625;
	color: #e8efff;
	font-size: 14px;
}

.np-entry-content table {
	width: 100%;
	margin-bottom: 1.5em;
	border-collapse: collapse;
	font-family: var(--np-font);
	font-size: 14px;
}

.np-entry-content th,
.np-entry-content td {
	padding: 11px;
	border: 1px solid var(--np-border);
	text-align: left;
}

.np-entry-content th {
	background: var(--np-surface);
	font-weight: 800;
}

.np-entry-content .alignwide {
	width: min(1080px, calc(100vw - 48px));
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.np-entry-content .alignfull {
	width: 100vw;
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.np-article__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 32px;
	padding-top: 18px;
	border-top: 1px solid var(--np-border);
}

.np-article__tags strong {
	margin-right: 3px;
}

.np-article__tags a {
	padding: 6px 10px;
	border: 1px solid var(--np-border);
	border-radius: 999px;
	background: var(--np-surface);
	font-size: 12px;
	font-weight: 700;
}

.np-author-box {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr);
	gap: 18px;
	margin-top: 34px;
	padding: 24px;
	border: 1px solid var(--np-border);
	border-radius: var(--np-radius);
	background: var(--np-surface);
}

.np-author-box .avatar {
	border-radius: 50%;
}

.np-author-box h2 {
	margin: 4px 0;
	font-family: var(--np-display);
	font-size: 22px;
	line-height: 1.2;
}

.np-author-box p {
	margin: 6px 0 0;
	color: var(--np-muted);
	font-size: 13px;
}

.np-related {
	margin-top: 52px;
}

.np-related .np-card__title {
	font-size: 15px;
}

/* Pages, comments, not found */
.np-page {
	padding: 46px 0 82px;
}

.np-page__container {
	max-width: 960px;
}

.np-page-article__header {
	margin-bottom: 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--np-border);
}

.np-page-article__header h1 {
	margin: 7px 0 0;
	font-family: var(--np-display);
	font-size: clamp(38px, 6vw, 64px);
	letter-spacing: -0.055em;
	line-height: 1.05;
}

.np-comments {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--np-border);
}

.np-comments__title,
.comment-reply-title {
	font-family: var(--np-display);
	font-size: 26px;
	letter-spacing: -0.035em;
}

.comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.comment-list .comment {
	margin: 16px 0;
	padding: 18px;
	border: 1px solid var(--np-border);
	border-radius: 13px;
	background: var(--np-surface-raised);
}

.comment-list .children {
	list-style: none;
}

.comment-form label {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	font-weight: 800;
}

.comment-form input:not([type="submit"]),
.comment-form textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--np-border);
	border-radius: 10px;
	background: var(--np-surface);
	color: var(--np-ink);
}

.comment-form .submit {
	padding: 12px 20px;
	border: 0;
	border-radius: 10px;
	background: var(--np-accent);
	color: #0b0e11;
	font-weight: 850;
}

.np-not-found {
	display: grid;
	place-items: center;
	min-height: 72vh;
	padding: 60px 0;
	background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--np-accent) 18%, transparent), transparent 34%);
}

.np-not-found__inner {
	max-width: 760px;
	text-align: center;
}

.np-not-found__code {
	margin-bottom: -18px;
	color: color-mix(in srgb, var(--np-ink) 8%, transparent);
	font-family: var(--np-display);
	font-size: clamp(120px, 26vw, 260px);
	font-weight: 950;
	letter-spacing: -0.1em;
	line-height: 0.75;
}

.np-not-found h1 {
	margin: 8px 0 12px;
	font-family: var(--np-display);
	font-size: clamp(36px, 6vw, 62px);
	letter-spacing: -0.055em;
	line-height: 1.05;
}

.np-not-found p {
	max-width: 580px;
	margin: 0 auto 24px;
	color: var(--np-muted);
}

.np-not-found .np-search-form {
	max-width: 620px;
	margin: 0 auto 18px;
}

/* Configurable advertising slots */
.np-ad-slot {
	position: relative;
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
	margin-top: 28px;
	margin-bottom: 28px;
	padding: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
}

.np-ad-slot--header-contained {
	margin-top: 20px;
	margin-bottom: 0;
}

.np-ad-label {
	display: none !important;
}

.np-ad-content {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	place-items: center;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow: visible;
	text-align: center;
}

.np-ad-content > :first-child { margin-top: 0; }
.np-ad-content > :last-child { margin-bottom: 0; }
.np-ad-content > * {
	justify-self: center;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.np-ad-content > div,
.np-ad-content > ins,
.np-ad-content > amp-ad {
	justify-self: stretch;
	width: 100%;
	max-width: 100%;
}
.np-ad-content > iframe,
.np-ad-content > object,
.np-ad-content > embed,
.np-ad-content > div > iframe,
.np-ad-content > div > object,
.np-ad-content > div > embed {
	display: block;
	max-width: 100%;
	margin-inline: auto;
	border: 0;
}
.np-ad-content img,
.np-ad-content video {
	display: block;
	width: auto;
	height: auto !important;
	max-width: 100% !important;
	margin-inline: auto;
}
.np-ad-content ins.adsbygoogle {
	display: block !important;
	width: 100% !important;
	min-width: 1px;
	min-height: 1px;
	max-width: 100% !important;
}
.np-ad-slot--amp {
	width: 100%;
	padding-right: 0;
	padding-left: 0;
	overflow: visible;
}
.np-ad-slot--amp .np-ad-content {
	overflow: visible;
}
.np-ad-slot--amp amp-ad,
.np-ad-slot--amp .np-amp-ad {
	display: block;
	width: 100%;
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.np-sidebar .np-ad-slot { width: 100%; margin: 0; }
.np-entry-content .np-ad-slot { font-family: var(--np-font); font-size: 14px; }
.np-entry-content .np-ad-slot--article {
	display: block;
	clear: both;
	width: 100%;
	max-width: 100%;
	margin-right: 0;
	margin-left: 0;
}
.np-entry-content .np-ad-slot--article .np-ad-content,
.np-entry-content .np-ad-slot--article .np-ad-content > * {
	max-width: 100%;
}

/* Footer */
.np-footer {
	padding: 58px 0 20px;
	background: #0d121a;
	color: #eef2f6;
}

.np-footer__grid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 0.8fr;
	gap: 52px;
	padding-bottom: 46px;
}

.np-footer__grid--compact {
	grid-template-columns: 1fr;
}

.np-footer__grid--two {
	grid-template-columns: 1.2fr 0.8fr;
}

.np-brand__link--footer {
	color: #fff;
}

.np-brand__link--footer:hover {
	color: #fff;
}

.np-footer__about p,
.np-footer__column p {
	max-width: 420px;
	margin: 18px 0 0;
	color: #9aa4b0;
	font-size: 13px;
}

.np-footer .widget-title {
	color: #fff;
	font-size: 15px;
	text-transform: uppercase;
}

.np-footer a:hover,
.np-footer a:focus-visible {
	color: var(--np-accent);
}

.np-footer-menu,
.np-footer .np-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px 18px;
}

.np-footer-menu a,
.np-footer .np-menu a {
	color: #b8c0ca;
	font-size: 13px;
}

.np-footer .np-menu > li > a {
	min-height: 0;
	padding: 0;
}

.np-footer .np-menu > li > a::before {
	display: none;
}

.np-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 18px;
	border-top: 1px solid #27303a;
	color: #77828e;
	font-size: 11px;
}

.np-footer__bottom p {
	margin: 0;
}

/* WordPress essentials */
.sticky { position: relative; }
.bypostauthor { position: relative; }
.alignleft { float: left; margin: 0.5em 1.5em 1em 0; }
.alignright { float: right; margin: 0.5em 0 1em 1.5em; }
.aligncenter { display: block; margin-right: auto; margin-left: auto; }

@media (max-width: 1120px) {
	:root { --np-header-height: 132px; }
	.np-container { width: min(calc(100% - 36px), var(--np-container)); }
	.np-home-hero { grid-template-columns: minmax(0, 1fr) 310px; }
	.np-breaking { padding: 15px; }
	.np-home-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 24px; }
	.np-single__layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 34px; }
	.np-home-hero.np-home-hero--no-breaking,
	.np-home-layout.np-home-layout--wide { grid-template-columns: minmax(0, 1fr); }
	.np-single__layout.np-single__layout--wide { display: block; }
	.np-socials { display: none; }
	.np-menu > li > a { padding-inline: 8px; font-size: 12.5px; }
}

@media (max-width: 1023px) {
	:root { --np-header-height: 72px; }
	.np-header__top { min-height: 70px; }
	.np-brand__mark { width: 40px; height: 40px; flex-basis: 40px; font-size: 20px; }
	.np-brand__name { font-size: 24px; }
	.custom-logo { max-width: 225px; max-height: 48px; }
	.np-menu-toggle { display: inline-grid; }
	.np-header__nav-row { display: block; padding: 0; }
	.np-navigation {
		position: absolute;
		top: calc(100% + 1px);
		left: 18px;
		right: 18px;
		width: auto;
		display: none;
		max-height: calc(100vh - 92px);
		padding: 10px;
		overflow-y: auto;
		border-radius: 15px;
		background: var(--np-bg);
		box-shadow: var(--np-shadow-lg);
	}
	.np-navigation.is-open { display: block; }
	.np-navigation > .np-menu,
	.np-navigation > div > .np-menu { display: block; min-height: 0; overflow: visible; }
	.np-menu > li > a { min-height: 44px; padding: 0 10px; font-size: 14px; }
	.np-menu .sub-menu { position: static; display: block; width: auto; margin: 0 0 5px 22px; padding: 0; border: 0; box-shadow: none; }
	.np-menu-toggle { width: 46px; height: 46px; }
	.np-search-trigger { position: relative; min-width: 46px; width: 46px; height: 46px; padding: 0; border-radius: 11px; }
	.np-search-trigger > span:not(.np-search-trigger__icon) { display: none; }
	.np-search-trigger .np-icon { padding: 4px; }
	.np-search-panel { right: -55px; }
	.np-home { padding-top: 18px; }
	.np-home-hero { grid-template-columns: 1fr; }
	.np-home-hero.np-home-hero--breaking-only { grid-template-columns: 1fr; }
	.np-breaking { height: auto; max-height: 380px; }
	.np-breaking__list { overflow: visible; }
	.np-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.np-home-layout { grid-template-columns: 1fr; }
	.np-home-layout > .np-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.np-sidebar { position: static; }
	.np-single__layout { grid-template-columns: 1fr; }
	.np-single__layout > .np-sidebar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.np-archive-grid,
	.np-archive-grid--2,
	.np-archive-grid--3,
	.np-archive-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.np-card--archive-featured { grid-column: 1 / -1; }
	.np-footer__grid { grid-template-columns: 1fr 1fr; }
	.np-footer__about { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
	.np-container { width: min(calc(100% - 28px), var(--np-container)); }
	.np-offer-button { display: none; }
	.np-header__actions { gap: 6px; }
	.np-ad-slot { padding: 0; }
	.np-ad-content > div,
	.np-ad-content > ins,
	.np-ad-content > amp-ad,
	.np-ad-content > iframe { max-width: 100%; }
	.np-entry-content .np-ad-slot--article { padding-right: 0; padding-left: 0; }
	.np-entry-content .np-ad-slot--article.np-ad-slot--amp {
		width: 100vw;
		max-width: none;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
	}
	.np-entry-content .np-ad-slot--article.np-ad-slot--amp .np-ad-content {
		width: 100%;
		max-width: none;
	}
	.np-entry-content .np-ad-slot--article .np-ad-content,
	.np-entry-content .np-ad-slot--article .np-ad-content div,
	.np-entry-content .np-ad-slot--article .np-ad-content ins {
		text-align: center;
	}
	.np-entry-content .np-ad-slot--article .np-ad-content div,
	.np-entry-content .np-ad-slot--article .np-ad-content ins,
	.np-entry-content .np-ad-slot--article .np-ad-content amp-ad,
	.np-entry-content .np-ad-slot--article .np-ad-content a,
	.np-entry-content .np-ad-slot--article .np-ad-content iframe,
	.np-entry-content .np-ad-slot--article .np-ad-content object,
	.np-entry-content .np-ad-slot--article .np-ad-content embed,
	.np-entry-content .np-ad-slot--article .np-ad-content img,
	.np-entry-content .np-ad-slot--article .np-ad-content video {
		margin-right: auto !important;
		margin-left: auto !important;
	}
	.np-entry-content .np-ad-slot--article .np-ad-content iframe,
	.np-entry-content .np-ad-slot--article .np-ad-content object,
	.np-entry-content .np-ad-slot--article .np-ad-content embed,
	.np-entry-content .np-ad-slot--article .np-ad-content img,
	.np-entry-content .np-ad-slot--article .np-ad-content video {
		display: block;
	}
	.np-entry-content .np-ad-slot--article .np-ad-content > div,
	.np-entry-content .np-ad-slot--article .np-ad-content > ins,
	.np-entry-content .np-ad-slot--article .np-ad-content > amp-ad { width: 100%; max-width: 100%; }
	.np-search-panel { right: -52px; width: calc(100vw - 28px); max-width: 520px; }
	.np-hero-slider { height: 430px; border-radius: 16px; }
	.np-hero-slide__content { left: 22px; right: 22px; bottom: 24px; }
	.np-hero-slide__content h2 { font-size: clamp(27px, 7.7vw, 38px); }
	.np-hero-slider__dots { right: 15px; }
	.np-latest-strip { margin-bottom: 44px; }
	.np-topic { margin-bottom: 44px; }
	.np-topic__grid { grid-template-columns: 1fr; }
	.np-card--featured { grid-row: auto; }
	.np-card--featured .np-card__media { min-height: 270px; }
	.np-card--horizontal .np-card__link { grid-template-columns: 132px minmax(0, 1fr); }
	.np-card--horizontal .np-card__title { font-size: 15px; }
	.np-archive-hero__inner { padding-top: 30px; padding-bottom: 30px; }
	.np-card--archive-featured .np-card__link { grid-template-columns: 1fr; }
	.np-card--archive-featured .np-card__media { min-height: 280px; aspect-ratio: 16 / 10; }
	.np-card--archive-featured .np-card__body { padding: 24px; }
	.np-article__meta-row { align-items: flex-start; flex-direction: column; }
	.np-entry-content { font-size: 18px; line-height: 1.76; }
	.np-share > span { display: none; }
	.np-entry-content table { display: block; max-width: 100%; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
	.np-entry-content blockquote { padding: 18px 20px; }
	.np-sidebar { width: 100%; }
	.np-footer__grid { grid-template-columns: 1fr; gap: 30px; }
	.np-footer__about { grid-column: auto; }
}

@media (max-width: 560px) {
	.np-header__top { gap: 8px; }
	.np-brand__name { max-width: 128px; font-size: 20px; }
	.np-brand__link { gap: 8px; }
	.custom-logo { max-width: 150px; max-height: 42px; }
	.np-header__actions { flex: 0 0 auto; }
	.np-theme-toggle { display: none; }
	.np-search-panel { padding: 18px; border-radius: 15px; }
	.np-search-form { grid-template-columns: 1fr; }
	.np-search-submit { justify-content: center; }
	.np-home { padding-top: 14px; }
	.np-home-hero { gap: 14px; }
	.np-hero-slider { height: 390px; }
	.np-hero-slide__content h2 { font-size: 28px; }
	.np-hero-slide__meta { padding-right: 86px; }
	.np-grid--four,
	.np-grid--three,
	.np-grid--related,
	.np-archive-grid,
	.np-archive-grid--2,
	.np-archive-grid--3,
	.np-archive-grid--4 { grid-template-columns: 1fr; }
	.np-home-layout > .np-sidebar,
	.np-single__layout > .np-sidebar { display: flex; }
	.np-section-heading { align-items: flex-start; }
	.np-section-heading > a { margin-top: 9px; white-space: nowrap; }
	.np-card--grid .np-card__media,
	.np-card--archive .np-card__media { aspect-ratio: 16 / 9; }
	.np-card--horizontal .np-card__link { grid-template-columns: 106px minmax(0, 1fr); }
	.np-card--horizontal .np-card__media { min-height: 110px; }
	.np-card--horizontal .np-card__meta span { display: none; }
	.np-card--archive-featured { grid-column: auto; }
	.np-card--archive-featured .np-card__title { font-size: 27px; }
	.np-article__header h1 { font-size: clamp(33px, 10vw, 44px); }
	.np-article__dek { font-size: 17px; }
	.np-author-box { grid-template-columns: 1fr; }
	.np-author-box .avatar { width: 64px; height: 64px; }
	.np-toc ol { padding-left: 42px; }
	.np-entry-content .alignwide { width: calc(100vw - 28px); }
	.np-footer__bottom { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 400px) {
	.np-container { width: min(calc(100% - 24px), var(--np-container)); }
	.np-brand__mark { width: 36px; height: 36px; flex-basis: 36px; font-size: 18px; }
	.np-brand__name { max-width: 104px; font-size: 18px; }
	.custom-logo { max-width: 128px; max-height: 38px; }
	.np-hero-slider { height: 340px; }
	.np-hero-slide__content { left: 18px; right: 18px; bottom: 22px; }
	.np-hero-slide__content h2 { margin-top: 10px; font-size: 24px; line-height: 1.12; }
	.np-hero-slide__meta { padding-right: 72px; font-size: 11px; }
	.np-card--horizontal .np-card__link { grid-template-columns: 92px minmax(0, 1fr); }
	.np-card--horizontal .np-card__body { padding: 11px; }
	.np-card--horizontal .np-card__title { font-size: 14px; }
	.np-article__header h1 { font-size: 31px; }
	.np-entry-content { line-height: 1.72; }
	.np-toc summary { padding: 13px; }
	.np-toc ol { padding-left: 34px; }
	.np-footer { padding-top: 44px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* 1.2.x: targeted visual refinements */
.np-navigation {
	padding: 0 7px;
	border-color: #142a48;
	border-radius: 12px;
	background: #0c1c34;
	box-shadow: 0 8px 20px rgba(7, 21, 39, 0.13);
}

.np-menu > li > a {
	position: relative;
	color: #fff;
	transition: background 160ms ease, color 160ms ease;
}

.np-menu > li > a::after {
	position: absolute;
	right: 11px;
	bottom: 0;
	left: 11px;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: transparent;
	content: "";
}

.np-menu > li > a:hover,
.np-menu > li > a:focus-visible,
.np-menu > .current-menu-item > a,
.np-menu > .current-category-ancestor > a {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

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

.np-offer-button {
	border-radius: 999px;
	background: linear-gradient(135deg, var(--np-blue), #244fd4);
	box-shadow: 0 8px 20px color-mix(in srgb, var(--np-blue) 24%, transparent);
	color: #fff;
	letter-spacing: 0.025em;
}

.np-offer-button:hover,
.np-offer-button:focus-visible {
	background: var(--np-accent);
	color: #0b0e11;
}

.np-search-trigger {
	border: 0;
	border-radius: 10px;
	background: var(--np-surface-raised);
	box-shadow: none;
	color: var(--np-blue);
}

.np-search-trigger .np-icon {
	background: color-mix(in srgb, var(--np-blue) 12%, var(--np-surface));
	color: var(--np-blue);
}

.np-search-trigger:hover,
.np-search-trigger:focus-visible {
	background: var(--np-blue);
	color: #fff;
}

.np-search-trigger:hover .np-icon,
.np-search-trigger:focus-visible .np-icon {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.np-search-disclosure[open] > .np-search-trigger {
	background: var(--np-blue);
	color: #fff;
}

.np-search-disclosure[open] > .np-search-trigger .np-icon {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.np-hero-slider {
	border: 4px solid var(--np-surface-raised);
	border-radius: max(12px, calc(var(--np-radius-lg) - 4px));
	outline: 1px solid var(--np-border);
	box-shadow: 0 18px 42px rgba(7, 21, 39, 0.15);
}

.np-hero-slide__shade {
	background: linear-gradient(115deg, rgba(3, 8, 15, 0.08) 18%, rgba(3, 8, 15, 0.3) 55%, rgba(3, 8, 15, 0.9) 100%);
}

.np-hero-slide__content {
	right: auto;
	bottom: 30px;
	width: min(78%, 760px);
	padding: 18px 21px;
	border-left: 4px solid var(--np-accent);
	border-radius: 0 12px 12px 0;
	background: linear-gradient(90deg, rgba(4, 12, 25, 0.84), rgba(4, 12, 25, 0.54));
	backdrop-filter: blur(4px);
}

.np-hero-slider__dots {
	top: 20px;
	right: 20px;
	bottom: auto;
}

.np-hero-slider__dots button {
	width: 9px;
	height: 9px;
	border-radius: 50%;
}

.np-hero-slider__dots button.is-active {
	width: 30px;
	border-radius: 999px;
}

.np-breaking {
	border-left: 5px solid var(--np-red);
	background: var(--np-surface-raised);
	box-shadow: 0 10px 28px rgba(7, 21, 39, 0.08);
}

.np-breaking h2 {
	order: -3;
	margin: 0 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--np-border);
	font-size: 15px;
}

.np-breaking__all {
	order: -2;
	min-height: 42px;
	margin-bottom: 8px;
	border: 1px solid var(--np-blue);
	border-radius: 9px;
	background: transparent;
	color: var(--np-blue);
}

.np-breaking__all:hover,
.np-breaking__all:focus-visible {
	border-color: var(--np-blue);
	background: var(--np-blue);
	color: #fff;
}

.np-breaking__list {
	order: 0;
}

.np-breaking__list a {
	grid-template-columns: 50px minmax(0, 1fr);
	align-items: center;
	padding: 11px 0;
}

.np-breaking__list time {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 25px;
	padding: 3px 5px;
	border-radius: 6px;
	background: color-mix(in srgb, var(--np-blue) 12%, var(--np-surface));
	color: var(--np-blue);
	font-size: 10px;
	font-weight: 800;
}

.np-toc {
	border: 1px solid var(--np-border);
	border-top: 4px solid var(--np-blue);
	border-left-width: 1px;
	border-radius: 12px;
	background: var(--np-surface);
	box-shadow: none;
}

.np-toc summary {
	padding: 16px 18px;
	background: var(--np-surface-raised);
}

.np-toc[open] summary {
	border-bottom: 1px solid var(--np-border);
}

.np-toc__icon {
	border: 2px solid var(--np-blue);
	border-radius: 50%;
	background: transparent;
	color: var(--np-blue);
	font-size: 20px;
}

.np-toc ol {
	counter-reset: np-toc-item;
	padding: 14px 20px 18px;
	list-style: none;
}

.np-toc li {
	display: grid;
	grid-template-columns: 25px minmax(0, 1fr);
	gap: 8px;
	align-items: baseline;
	counter-increment: np-toc-item;
}

.np-toc li::before {
	color: var(--np-blue);
	content: counter(np-toc-item, decimal-leading-zero);
	font-family: var(--np-font);
	font-size: 10px;
	font-weight: 900;
}

.np-toc li.np-toc-sub {
	margin-left: 20px;
}

.np-no-sticky-sidebar .np-sidebar {
	position: static;
	top: auto;
}

@media (max-width: 1023px) {
	.np-navigation {
		border: 1px solid var(--np-border);
		border-top: 4px solid var(--np-blue);
		border-radius: 12px;
		background: var(--np-bg);
	}
	.np-menu > li > a,
	.np-menu > li > a:hover,
	.np-menu > li > a:focus-visible,
	.np-menu > .current-menu-item > a,
	.np-menu > .current-category-ancestor > a { color: var(--np-ink); }
	.np-menu > li > a:hover,
	.np-menu > li > a:focus-visible,
	.np-menu > .current-menu-item > a,
	.np-menu > .current-category-ancestor > a { background: var(--np-surface); }
	.np-hero-slide__content { left: 24px; }
	.np-breaking { padding: 16px; }
}

@media (max-width: 720px) {
	.np-hero-slider { border-width: 3px; }
	.np-hero-slide__content {
		left: 18px;
		right: 18px;
		bottom: 18px;
		width: auto;
		padding: 15px 17px;
	}
	.np-hero-slider__dots { top: 14px; right: 14px; }
	.np-toc li.np-toc-sub { margin-left: 10px; }
}

@media (max-width: 400px) {
	.np-hero-slide__content { padding: 13px 14px; }
	.np-toc ol { padding-right: 14px; padding-left: 14px; }
}

/* 1.2.11: responsive navigation, sidebar modes and balanced related posts */
.np-submenu-toggle {
	display: none;
}

.np-menu > li:nth-last-child(-n + 2) > .sub-menu {
	right: 4px;
	left: auto;
}

.np-sticky-last-widget .np-sidebar {
	position: static;
	top: auto;
	align-self: stretch;
}

.np-sticky-last-widget .np-sidebar > :last-child {
	position: sticky;
	top: calc(var(--np-header-height) + 20px);
}

.np-footer__about .custom-logo {
	width: auto;
	max-width: min(100%, var(--np-logo-width));
	max-height: 58px;
}

.np-grid--related--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.np-grid--related--count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.np-grid--related--count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.np-grid--related--count-5,
.np-grid--related--count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 1280px) {
	.np-grid--related--count-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1199px) {
	:root { --np-header-height: 72px; }
	.np-header__top { min-height: 70px; }
	.np-menu-toggle {
		display: inline-grid;
		width: 46px;
		height: 46px;
	}
	.np-header__nav-row {
		display: block;
		padding: 0;
	}
	.np-navigation {
		position: absolute;
		top: calc(100% + 1px);
		right: 18px;
		left: 18px;
		z-index: 2000;
		display: none;
		width: auto;
		max-height: calc(100vh - 92px);
		padding: 10px;
		overflow-x: hidden;
		overflow-y: auto;
		border: 1px solid var(--np-border);
		border-top: 4px solid var(--np-blue);
		border-radius: 12px;
		background: var(--np-bg);
		box-shadow: var(--np-shadow-lg);
	}
	.np-navigation.is-open { display: block; }
	.np-navigation > .np-menu,
	.np-navigation > div > .np-menu {
		display: block;
		min-height: 0;
		overflow: visible;
	}
	.np-menu > li {
		width: 100%;
	}
	.np-menu > li > a,
	.np-menu > li > a:hover,
	.np-menu > li > a:focus-visible,
	.np-menu > .current-menu-item > a,
	.np-menu > .current-category-ancestor > a {
		min-height: 44px;
		padding: 0 48px 0 10px;
		color: var(--np-ink);
		font-size: 14px;
	}
	.np-menu > li > a:hover,
	.np-menu > li > a:focus-visible,
	.np-menu > .current-menu-item > a,
	.np-menu > .current-category-ancestor > a {
		background: var(--np-surface);
	}
	.np-menu > li > a::after { display: none; }
	.np-submenu-toggle {
		position: absolute;
		top: 4px;
		right: 2px;
		z-index: 2;
		display: grid;
		place-items: center;
		width: 40px;
		height: 36px;
		padding: 0;
		border: 0;
		border-radius: 9px;
		background: transparent;
		color: var(--np-ink);
		cursor: pointer;
	}
	.np-submenu-toggle:hover,
	.np-submenu-toggle:focus-visible {
		background: var(--np-surface);
		color: var(--np-blue);
	}
	.np-submenu-toggle svg {
		width: 18px;
		height: 18px;
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 2;
		transition: transform 160ms ease;
	}
	.np-menu li.is-submenu-open > .np-submenu-toggle svg {
		transform: rotate(180deg);
	}
	.np-menu .sub-menu,
	.np-menu > li:nth-last-child(-n + 2) > .sub-menu {
		position: static;
		display: block;
		width: auto;
		margin: 0 0 7px 18px;
		padding: 4px 0 6px 12px;
		border: 0;
		border-left: 2px solid var(--np-border);
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}
	.np-navigation.is-submenu-enhanced .np-menu li:not(.is-submenu-open) > .sub-menu { display: none; }
	.np-navigation.is-submenu-enhanced .np-menu li.is-submenu-open > .sub-menu { display: block; }
	.np-menu .sub-menu a {
		padding: 9px 10px;
		color: var(--np-ink);
	}
}

/* 1.3.2: optional centered article category and title */
.np-article__header--centered > .np-badge {
	display: flex;
	width: max-content;
	margin-right: auto;
	margin-left: auto;
}

.np-article__header--centered h1 {
	max-width: 960px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

/* 1.3.1: inline related stories and a mobile-only header advertisement */
.np-ad-slot--header-mobile {
	display: none;
}

.np-inline-related {
	--np-related-bg: var(--np-surface-raised);
	--np-related-border: var(--np-border);
	--np-related-accent: var(--np-blue);
	--np-related-title: var(--np-ink);
	--np-related-muted: var(--np-muted);
	clear: both;
	width: 100%;
	margin: 1.7em 0;
	font-family: var(--np-font);
	font-size: 16px;
	line-height: 1.48;
}

.np-entry-content .np-inline-related__link {
	display: grid;
	grid-template-columns: 154px minmax(0, 1fr);
	min-height: 132px;
	overflow: hidden;
	border: 1px solid var(--np-related-border);
	border-left: 5px solid var(--np-related-accent);
	border-radius: 0 var(--np-radius) var(--np-radius) 0;
	background: var(--np-related-bg);
	color: var(--np-related-title);
	box-shadow: 0 12px 30px rgba(7, 21, 39, 0.08);
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.np-entry-content .np-inline-related__link:hover,
.np-entry-content .np-inline-related__link:focus-visible {
	border-color: color-mix(in srgb, var(--np-related-accent) 64%, var(--np-related-border));
	color: var(--np-related-title);
	box-shadow: 0 18px 38px rgba(7, 21, 39, 0.14);
	transform: translateY(-2px);
}

.np-inline-related__media {
	position: relative;
	display: block;
	min-width: 0;
	height: 100%;
	overflow: hidden;
	background: linear-gradient(145deg, #0c1c34, #3168ff);
}

.np-inline-related__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 132px;
	object-fit: cover;
	transition: transform 240ms ease;
}

.np-inline-related__link:hover .np-inline-related__image,
.np-inline-related__link:focus-visible .np-inline-related__image {
	transform: scale(1.035);
}

.np-inline-related__fallback {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-height: 132px;
	color: var(--np-accent);
	font-family: var(--np-display);
	font-size: 38px;
	font-weight: 900;
}

.np-inline-related__content {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: 17px 20px;
}

.np-inline-related__eyebrow {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 5px;
	color: var(--np-related-accent);
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: 0.09em;
	line-height: 1.2;
	text-transform: uppercase;
}

.np-inline-related__eyebrow > span {
	width: 18px;
	height: 3px;
	border-radius: 999px;
	background: currentColor;
}

.np-inline-related__title {
	display: block;
	color: var(--np-related-title);
	font-family: var(--np-display);
	font-size: 19px;
	font-weight: 900;
	letter-spacing: -0.025em;
	line-height: 1.22;
}

.np-inline-related__excerpt {
	display: block;
	margin-top: 7px;
	color: var(--np-related-muted);
	font-size: 13px;
	line-height: 1.48;
}

.np-inline-related__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 9px;
	color: var(--np-related-accent);
	font-size: 11.5px;
	font-weight: 850;
}

.np-inline-related__cta svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.np-inline-related--no-image .np-inline-related__link {
	grid-template-columns: minmax(0, 1fr);
}

.np-inline-related--accent {
	--np-related-bg: color-mix(in srgb, var(--np-accent) 13%, var(--np-surface-raised));
	--np-related-border: color-mix(in srgb, var(--np-accent) 58%, var(--np-border));
	--np-related-accent: #5f7e17;
}

.np-inline-related--dark {
	--np-related-bg: linear-gradient(120deg, #0c1c34, #152d4b);
	--np-related-border: #254566;
	--np-related-accent: var(--np-accent);
	--np-related-title: #fff;
	--np-related-muted: #c2cfdd;
}

@media (max-width: 720px) {
	.np-ad-slot--header-replaced-mobile {
		display: none;
	}

	.np-ad-slot--header-mobile {
		display: block;
	}
}

@media (max-width: 560px) {
	.np-entry-content .np-inline-related__link {
		grid-template-columns: 105px minmax(0, 1fr);
		min-height: 118px;
	}

	.np-inline-related--no-image .np-inline-related__link {
		grid-template-columns: minmax(0, 1fr);
	}

	.np-inline-related__image,
	.np-inline-related__fallback {
		min-height: 118px;
	}

	.np-inline-related__content {
		padding: 14px 15px;
	}

	.np-inline-related__title {
		font-size: 16px;
	}

	.np-inline-related__excerpt {
		display: none;
	}
}

@media (max-width: 400px) {
	.np-entry-content .np-inline-related__link {
		grid-template-columns: minmax(0, 1fr);
	}

	.np-inline-related__media {
		height: 150px;
	}

	.np-inline-related__image,
	.np-inline-related__fallback {
		height: 150px;
		min-height: 150px;
	}
}

@media (max-width: 1023px) {
	.np-sticky-last-widget .np-sidebar > :last-child {
		position: static;
		top: auto;
	}
}

@media (max-width: 560px) {
	.np-grid--related,
	.np-grid--related--count-2,
	.np-grid--related--count-3,
	.np-grid--related--count-4,
	.np-grid--related--count-5,
	.np-grid--related--count-6 { grid-template-columns: 1fr; }
}

/* 1.3.0: header presets, typography controls, community cards and infoboxes */
.np-navigation > .np-menu > li > a,
.np-navigation > div > .np-menu > li > a {
	text-transform: var(--np-menu-transform, none);
}

.np-menu .sub-menu a {
	text-transform: var(--np-submenu-transform, none);
}

.np-menu-chevron {
	display: inline-grid;
	place-items: center;
	width: 16px;
	height: 16px;
	margin-left: -2px;
	color: currentColor;
	opacity: 0.78;
}

.np-menu-chevron svg {
	display: block;
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	transition: transform 160ms ease;
}

.np-menu li:hover > a .np-menu-chevron svg,
.np-menu li:focus-within > a .np-menu-chevron svg {
	transform: translateY(1px) rotate(180deg);
}

.np-article__header h1,
.np-archive-hero h1,
.np-empty-state h1 {
	font-size: var(--np-article-h1-size, 53px);
}

.np-entry-content h2 {
	font-size: var(--np-article-h2-size, 37px);
}

body.np-header-layout-centered { --np-header-height: 164px; }
body.np-header-layout-inline { --np-header-height: 110px; }
body.np-header-layout-menu-top { --np-header-height: 142px; }

.np-header--layout-centered .np-header__top {
	position: relative;
	justify-content: center;
	min-height: 100px;
}

.np-header--layout-centered .np-brand {
	justify-content: center;
	text-align: center;
}

.np-header--layout-centered .np-header__actions {
	position: absolute;
	right: 0;
}

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

.np-header--layout-inline .np-header__shell {
	display: grid;
	grid-template-columns: minmax(150px, auto) minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	min-height: 88px;
}

.np-header--layout-inline .np-header__top {
	display: contents;
}

.np-header--layout-inline .np-brand {
	grid-column: 1;
	grid-row: 1;
}

.np-header--layout-inline .np-brand__name {
	max-width: 210px;
	font-size: 26px;
}

.np-header--layout-inline .custom-logo {
	max-width: min(var(--np-logo-width), 220px);
}

.np-header--layout-inline .np-header__actions {
	grid-column: 3;
	grid-row: 1;
}

.np-header--layout-inline .np-header__nav-row {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	padding: 8px 0;
}

.np-header--layout-inline .np-navigation {
	min-width: 0;
}

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

.np-header--layout-inline .np-menu > li > a {
	min-height: 42px;
	padding-right: 8px;
	padding-left: 8px;
	font-size: 12.5px;
}

.np-header--layout-menu-top .np-header__shell {
	display: flex;
	flex-direction: column;
}

.np-header--layout-menu-top .np-header__top {
	order: 2;
	width: 100%;
	min-height: 72px;
}

.np-header--layout-menu-top .np-header__nav-row {
	order: 1;
	width: 100%;
	padding: 10px 0 0;
}

.np-header--style-clean {
	background: color-mix(in srgb, var(--np-bg) 97%, transparent);
}

.np-header--style-clean .np-navigation {
	border-color: var(--np-border);
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
}

.np-header--style-clean .np-menu > li > a,
.np-header--style-clean .np-menu > li > a:hover,
.np-header--style-clean .np-menu > li > a:focus-visible,
.np-header--style-clean .np-menu > .current-menu-item > a,
.np-header--style-clean .np-menu > .current-category-ancestor > a {
	color: var(--np-ink);
}

.np-header--style-clean .np-menu > li > a:hover,
.np-header--style-clean .np-menu > li > a:focus-visible,
.np-header--style-clean .np-menu > .current-menu-item > a,
.np-header--style-clean .np-menu > .current-category-ancestor > a {
	background: var(--np-surface);
}

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

.np-header--style-dark {
	border-bottom-color: #1b3558;
	background: #0c1c34;
	backdrop-filter: none;
}

.np-header--style-dark .np-brand__link,
.np-header--style-dark .np-brand__link:hover,
.np-header--style-dark .np-brand__name {
	color: #fff;
}

.np-header--style-dark .np-icon-button {
	border-color: rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.np-header--style-dark .np-icon-button:hover,
.np-header--style-dark .np-icon-button:focus-visible {
	border-color: var(--np-accent);
	background: var(--np-accent);
	color: #0b0e11;
}

.np-header--style-dark .np-navigation {
	border-color: rgba(255, 255, 255, 0.14);
	background: rgba(255, 255, 255, 0.055);
	box-shadow: none;
}

.np-header--style-dark .np-search-trigger {
	background: #fff;
	color: var(--np-blue);
}

.np-header--style-accent {
	border-top: 4px solid var(--np-accent);
	background: linear-gradient(100deg, color-mix(in srgb, var(--np-accent) 9%, var(--np-bg)), var(--np-bg) 42%);
}

.np-header--style-accent .np-navigation {
	border-color: color-mix(in srgb, var(--np-accent) 42%, #142a48);
	background: linear-gradient(90deg, #0c1c34, #123052);
	box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--np-accent) 70%, transparent);
}

.np-channel-card--accent {
	background: linear-gradient(145deg, #182707, #5f7e17);
}

.np-channel-card--accent .np-eyebrow,
.np-channel-card--dark .np-eyebrow {
	color: var(--np-accent);
}

.np-channel-card--accent a {
	background: rgba(215, 255, 63, 0.18);
}

.np-channel-card--dark {
	background: linear-gradient(145deg, #0c121c, #26354a);
}

.np-channel-card--dark a {
	background: rgba(49, 104, 255, 0.25);
}

.np-infobox,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-info,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-note {
	--np-infobox-color: var(--np-blue);
	--np-infobox-symbol: "i";
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	margin: 1.7em 0;
	padding: 20px 22px;
	border: 1px solid color-mix(in srgb, var(--np-infobox-color) 28%, var(--np-border));
	border-left: 5px solid var(--np-infobox-color);
	border-radius: 0 var(--np-radius) var(--np-radius) 0;
	background: color-mix(in srgb, var(--np-infobox-color) 8%, var(--np-surface-raised));
	box-shadow: 0 10px 26px rgba(7, 21, 39, 0.07);
	font-family: var(--np-font);
	font-size: 0.86em;
	line-height: 1.6;
}

.np-infobox--tip,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip {
	--np-infobox-color: #779914;
	--np-infobox-symbol: "✓";
}

.np-infobox--warning,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning {
	--np-infobox-color: #e78316;
	--np-infobox-symbol: "!";
}

.np-infobox--note,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-note {
	--np-infobox-color: #52657f;
	--np-infobox-symbol: "•";
}

.np-infobox__icon,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-info::before,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip::before,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning::before,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-note::before {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 13px;
	background: var(--np-infobox-color);
	color: #fff;
	content: var(--np-infobox-symbol);
	font-family: var(--np-display);
	font-size: 21px;
	font-weight: 950;
	line-height: 1;
}

.np-entry-content .wp-block-group.is-style-neonpress-infobox-info::before,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip::before,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning::before,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-note::before {
	grid-column: 1;
	grid-row: 1 / span 20;
}

.np-entry-content .wp-block-group.is-style-neonpress-infobox-info > *,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip > *,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning > *,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-note > * {
	grid-column: 2;
	width: 100%;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.np-infobox__title {
	display: block;
	margin: 0 0 6px !important;
	color: var(--np-ink);
	font-family: var(--np-display);
	font-size: 1.08em;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.np-infobox p,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-info p,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip p,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning p,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-note p {
	margin-top: 0;
	margin-bottom: 0.65em;
}

.np-infobox p:last-child,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-info > *:last-child,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip > *:last-child,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning > *:last-child,
.np-entry-content .wp-block-group.is-style-neonpress-infobox-note > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 1199px) {
	.np-article__header h1,
	.np-archive-hero h1,
	.np-empty-state h1 {
		font-size: clamp(32px, 5.2vw, var(--np-article-h1-size, 53px));
	}

	.np-entry-content h2 {
		font-size: clamp(24px, 4vw, var(--np-article-h2-size, 37px));
	}

	body.np-header-layout-centered,
	body.np-header-layout-inline,
	body.np-header-layout-menu-top { --np-header-height: 72px; }

	.np-header--layout-centered .np-header__shell,
	.np-header--layout-inline .np-header__shell,
	.np-header--layout-menu-top .np-header__shell {
		display: block;
		min-height: 0;
	}

	.np-header--layout-centered .np-header__top,
	.np-header--layout-inline .np-header__top,
	.np-header--layout-menu-top .np-header__top {
		position: static;
		display: flex;
		justify-content: space-between;
		width: auto;
		min-height: 70px;
	}

	.np-header--layout-centered .np-header__actions,
	.np-header--layout-inline .np-header__actions,
	.np-header--layout-menu-top .np-header__actions {
		position: relative;
		right: auto;
		grid-column: auto;
		grid-row: auto;
	}

	.np-header--layout-inline .np-brand,
	.np-header--layout-inline .np-header__nav-row,
	.np-header--layout-menu-top .np-header__nav-row {
		grid-column: auto;
		grid-row: auto;
		order: initial;
	}

	.np-header--layout-inline .np-brand__name {
		max-width: 310px;
		font-size: 24px;
	}

	.np-header--layout-inline .custom-logo {
		max-width: 225px;
	}

	.np-header--layout-inline .np-menu > li > a {
		min-height: 44px;
		padding: 0 48px 0 10px;
		font-size: 14px;
	}

	.np-header--layout-centered .np-header__nav-row,
	.np-header--layout-inline .np-header__nav-row,
	.np-header--layout-menu-top .np-header__nav-row {
		width: auto;
		padding: 0;
	}

	.np-header .np-navigation {
		border: 1px solid var(--np-border);
		border-top: 4px solid var(--np-blue);
		background: var(--np-bg);
		box-shadow: var(--np-shadow-lg);
	}

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

	.np-menu-chevron { display: none; }
}

@media (max-width: 720px) {
	.np-article__header h1,
	.np-archive-hero h1,
	.np-empty-state h1 {
		font-size: clamp(30px, 8.5vw, calc(var(--np-article-h1-size, 53px) - 9px));
	}

	.np-entry-content h2 {
		font-size: clamp(23px, 6vw, calc(var(--np-article-h2-size, 37px) - 6px));
	}
}

@media (max-width: 560px) {
	.np-infobox,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-info,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-note {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 12px;
		padding: 17px 16px;
	}

	.np-infobox__icon,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-info::before,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-tip::before,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-warning::before,
	.np-entry-content .wp-block-group.is-style-neonpress-infobox-note::before {
		width: 36px;
		height: 36px;
		border-radius: 11px;
		font-size: 18px;
	}
}

/* 1.3.3: independent footer branding and legal line */
.np-footer__legal {
	display: grid;
	min-width: 0;
	gap: 7px;
}

.np-footer__bottom-extra {
	color: #8d98a4;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.np-footer__bottom-extra > * {
	margin-top: 0;
	margin-bottom: 0;
}

.np-footer__bottom-extra a {
	color: #aeb7c1;
	text-decoration: underline;
	text-decoration-color: rgba(174, 183, 193, 0.45);
	text-underline-offset: 3px;
}

/* 1.3.4: softer header actions and progressive infinite scroll */
.np-offer-button {
	border-radius: 10px;
	box-shadow: none;
}

.np-search-trigger .np-icon {
	display: block;
	flex: 0 0 21px;
	visibility: visible;
	opacity: 1;
	stroke: currentColor;
}

.np-search-trigger:hover .np-icon,
.np-search-trigger:focus-visible .np-icon,
.np-search-disclosure[open] > .np-search-trigger .np-icon {
	display: block;
	visibility: visible;
	color: #fff;
	opacity: 1;
	stroke: #fff;
}

.np-archive-pagination.is-infinite-enhanced .navigation.pagination {
	display: none;
}

.np-infinite-scroll {
	display: flex;
	min-height: 86px;
	align-items: center;
	justify-content: center;
	gap: 11px;
	margin-top: 28px;
	color: var(--np-muted);
	font-size: 13px;
	font-weight: 750;
	text-align: center;
}

.np-infinite-scroll[hidden] {
	display: none;
}

.np-infinite-scroll__spinner {
	display: none;
	width: 22px;
	height: 22px;
	border: 3px solid var(--np-border);
	border-top-color: var(--np-blue);
	border-radius: 50%;
	animation: np-infinite-spin 700ms linear infinite;
}

.np-infinite-scroll.is-loading .np-infinite-scroll__spinner {
	display: inline-block;
}

.np-infinite-scroll.is-complete {
	color: var(--np-muted-2);
}

.np-infinite-scroll.has-error {
	min-height: 52px;
	color: var(--np-red);
}

@keyframes np-infinite-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.np-infinite-scroll__spinner { animation: none; }
}

/* 1.3.5: dedicated infinite scroll controls and continuous article reading */
.np-header .np-search-trigger {
	border: 0 !important;
}

.np-header .np-search-trigger:hover,
.np-header .np-search-trigger:focus-visible,
.np-header .np-search-disclosure[open] > .np-search-trigger {
	background: var(--np-blue) !important;
	color: #fff !important;
}

.np-search-trigger__icon {
	position: relative;
	display: block !important;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	visibility: visible !important;
	border-radius: 50%;
	background: color-mix(in srgb, var(--np-blue) 12%, var(--np-surface));
	color: var(--np-blue);
	opacity: 1 !important;
}

.np-search-trigger__icon::before,
.np-search-trigger__icon::after {
	position: absolute;
	display: block;
	visibility: visible !important;
	content: "";
	opacity: 1 !important;
}

.np-search-trigger__icon::before {
	top: 7px;
	left: 7px;
	box-sizing: border-box;
	width: 13px;
	height: 13px;
	border: 2px solid currentColor;
	border-radius: 50%;
}

.np-search-trigger__icon::after {
	top: 20px;
	left: 19px;
	width: 8px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transform: rotate(45deg);
	transform-origin: left center;
}

.np-search-trigger:hover .np-search-trigger__icon,
.np-search-trigger:focus-visible .np-search-trigger__icon,
.np-search-disclosure[open] > .np-search-trigger .np-search-trigger__icon {
	display: block !important;
	visibility: visible !important;
	background: rgba(255, 255, 255, 0.18);
	color: #fff !important;
	opacity: 1 !important;
}

.np-continuous-column {
	min-width: 0;
}

.np-single__layout--wide .np-continuous-column {
	max-width: 900px;
	margin-inline: auto;
}

.np-continuous-article-separator {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 72px 0 40px;
	color: var(--np-blue);
	font-family: var(--np-display);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.np-continuous-article-separator::before,
.np-continuous-article-separator::after {
	height: 1px;
	flex: 1 1 auto;
	background: var(--np-border);
	content: "";
}

.np-continuous-article-separator::before {
	max-width: 48px;
	background: var(--np-blue);
}

.np-article-infinite-scroll {
	display: flex;
	min-height: 96px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 46px;
	color: var(--np-muted);
	font-size: 13px;
	font-weight: 750;
	text-align: center;
}

.np-article-infinite-scroll[hidden] {
	display: none;
}

.np-article-infinite-scroll__spinner {
	display: none;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	border: 3px solid var(--np-border);
	border-top-color: var(--np-blue);
	border-radius: 50%;
	animation: np-infinite-spin 700ms linear infinite;
}

.np-article-infinite-scroll.is-loading .np-article-infinite-scroll__spinner {
	display: block;
}

.np-article-infinite-scroll.is-complete {
	min-height: 66px;
	color: var(--np-muted-2);
}

.np-article-infinite-scroll.has-error {
	min-height: 66px;
	color: var(--np-red);
}

.np-article-infinite-scroll__link {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 0 17px;
	border-radius: 10px;
	background: var(--np-blue);
	color: #fff;
	font-family: var(--np-font);
	font-size: 13px;
	font-weight: 850;
}

.np-article-infinite-scroll__link:hover,
.np-article-infinite-scroll__link:focus-visible {
	background: var(--np-ink);
	color: var(--np-bg);
}

@media (max-width: 720px) {
	.np-continuous-article-separator {
		gap: 11px;
		margin: 54px 0 30px;
	}

	.np-article-infinite-scroll {
		min-height: 82px;
		margin-top: 34px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.np-article-infinite-scroll__spinner { animation: none; }
}

/* 1.3.6: in-article sticky sharing bar */
.np-article__reading-layout {
	min-width: 0;
	margin-top: 24px;
}

.np-article__reading-layout--with-share {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	align-items: start;
	gap: 20px;
}

.np-article__reading-main {
	min-width: 0;
}

.np-article__reading-main > .np-toc:first-child {
	margin-top: 0;
}

.np-reading-share {
	--np-share-control: 40px;
	--np-share-icon: 18px;
	--np-share-gap: 7px;
	position: sticky;
	top: calc(var(--np-header-height) + 18px);
	z-index: 35;
	display: flex;
	width: max-content;
	max-height: calc(100vh - var(--np-header-height) - 36px);
	flex-direction: column;
	align-items: center;
	gap: var(--np-share-gap);
	padding: 10px 8px;
	overflow-y: auto;
	overscroll-behavior: contain;
	border: 1px solid var(--np-border);
	border-radius: 18px;
	background: color-mix(in srgb, var(--np-bg) 96%, transparent);
	box-shadow: var(--np-shadow-sm);
	font-family: var(--np-font);
	scrollbar-width: none;
	backdrop-filter: blur(14px);
}

.np-header--static ~ .np-main .np-reading-share {
	top: 18px;
}

.np-reading-share::-webkit-scrollbar {
	display: none;
}

.np-reading-share--size-small {
	--np-share-control: 32px;
	--np-share-icon: 14px;
	--np-share-gap: 5px;
	padding: 8px 6px;
}

.np-reading-share--size-large {
	--np-share-control: 48px;
	--np-share-icon: 21px;
	--np-share-gap: 8px;
	padding: 12px 9px;
}

.np-reading-share__label {
	margin-bottom: 3px;
	color: var(--np-muted);
	font-size: 9px;
	font-weight: 850;
	letter-spacing: 0.09em;
	line-height: 1;
	text-transform: uppercase;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
}

.np-reading-share__item {
	--np-share-brand: var(--np-blue);
	display: grid;
	width: var(--np-share-control);
	height: var(--np-share-control);
	flex: 0 0 var(--np-share-control);
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--np-share-brand) 24%, var(--np-border));
	border-radius: 50%;
	background: color-mix(in srgb, var(--np-share-brand) 9%, var(--np-surface));
	color: var(--np-share-brand);
	line-height: 1;
	transition: border-color 150ms ease, color 150ms ease, background-color 150ms ease, transform 150ms ease;
}

.np-reading-share__item:hover,
.np-reading-share__item:focus-visible {
	border-color: var(--np-share-brand);
	background: var(--np-share-brand);
	color: #fff;
	transform: translateY(-1px);
}

.np-reading-share__item:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--np-share-brand) 34%, transparent);
	outline-offset: 2px;
}

.np-reading-share__icon {
	display: block;
	width: var(--np-share-icon);
	height: var(--np-share-icon);
	fill: currentColor;
}

.np-reading-share__item--facebook { --np-share-brand: #1877f2; }
.np-reading-share__item--x { --np-share-brand: #111827; }
.np-reading-share__item--linkedin { --np-share-brand: #0a66c2; }
.np-reading-share__item--whatsapp { --np-share-brand: #159957; }
.np-reading-share__item--telegram { --np-share-brand: #168dcc; }

.np-reading-share--style-card .np-reading-share__item--x,
.np-reading-share--style-minimal .np-reading-share__item--x {
	color: var(--np-ink);
}

.np-reading-share--style-card .np-reading-share__item--x:hover,
.np-reading-share--style-card .np-reading-share__item--x:focus-visible {
	color: #fff;
}

.np-reading-share--style-brand {
	padding-right: 0;
	padding-left: 0;
	border-color: transparent;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.np-reading-share--style-brand .np-reading-share__item {
	border-color: var(--np-share-brand);
	background: var(--np-share-brand);
	color: #fff;
}

.np-reading-share--style-brand .np-reading-share__item:hover,
.np-reading-share--style-brand .np-reading-share__item:focus-visible {
	filter: brightness(0.88);
	transform: translateY(-2px) scale(1.03);
}

.np-reading-share--style-minimal {
	padding-right: 0;
	padding-left: 0;
	border-color: transparent;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.np-reading-share--style-minimal .np-reading-share__item {
	border-color: var(--np-border);
	background: transparent;
	color: var(--np-ink);
}

.np-reading-share--style-minimal .np-reading-share__item:hover,
.np-reading-share--style-minimal .np-reading-share__item:focus-visible {
	border-color: var(--np-share-brand);
	background: color-mix(in srgb, var(--np-share-brand) 11%, var(--np-surface));
	color: var(--np-share-brand);
}

@media (max-width: 720px) {
	.np-article__reading-layout--with-share {
		display: block;
	}

	.np-reading-share,
	.np-reading-share--style-brand,
	.np-reading-share--style-minimal {
		top: calc(var(--np-header-height) + 8px);
		width: 100%;
		max-width: 100%;
		max-height: none;
		flex-direction: row;
		justify-content: center;
		gap: var(--np-share-gap);
		margin: 0 0 24px;
		padding: 8px 10px;
		overflow-x: auto;
		overflow-y: hidden;
		border: 1px solid var(--np-border);
		border-radius: 14px;
		background: color-mix(in srgb, var(--np-bg) 94%, transparent);
		box-shadow: var(--np-shadow-sm);
		backdrop-filter: blur(14px);
	}

	.np-header--static ~ .np-main .np-reading-share {
		top: 8px;
	}

	.np-reading-share--size-large {
		--np-share-control: 42px;
		--np-share-icon: 19px;
	}

	.np-reading-share__label {
		margin: 0 3px 0 0;
		writing-mode: horizontal-tb;
		transform: none;
	}
}

@media (max-width: 480px) {
	.np-reading-share__label {
		display: none;
	}
}

@media (max-width: 360px) {
	.np-reading-share,
	.np-reading-share--style-brand,
	.np-reading-share--style-minimal {
		--np-share-gap: 5px;
		padding-right: 6px;
		padding-left: 6px;
	}

	.np-reading-share--size-large {
		--np-share-control: 40px;
		--np-share-icon: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.np-reading-share__item {
		transition: none;
	}
}
