html {
	box-sizing: border-box;
	scroll-behavior: smooth;
	background: var(--nmg-bg);
}

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

body.nmg-theme {
	margin: 0;
	background:
		radial-gradient(circle at 82% -10%, color-mix(in srgb, var(--nmg-accent) 10%, transparent), transparent 32rem),
		var(--nmg-bg);
	color: var(--nmg-text);
	font-family: var(--nmg-font);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.nmg-theme,
body.nmg-theme button,
body.nmg-theme input,
body.nmg-theme select,
body.nmg-theme textarea { font-family: var(--nmg-font); }

body.nmg-theme img,
body.nmg-theme svg,
body.nmg-theme video,
body.nmg-theme canvas { max-width: 100%; }

body.nmg-theme img { height: auto; }

body.nmg-theme a {
	color: #a9c8ff;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
	transition: color var(--nmg-transition), background-color var(--nmg-transition), border-color var(--nmg-transition), transform var(--nmg-transition);
}

body.nmg-theme a:hover { color: #d6e5ff; }

body.nmg-theme :focus-visible {
	outline: 3px solid color-mix(in srgb, var(--nmg-accent) 78%, white);
	outline-offset: 3px;
}

body.nmg-theme ::selection {
	background: color-mix(in srgb, var(--nmg-accent) 42%, transparent);
	color: #fff;
}

body.nmg-theme h1,
body.nmg-theme h2,
body.nmg-theme h3,
body.nmg-theme h4,
body.nmg-theme h5,
body.nmg-theme h6 {
	margin-top: 0;
	color: var(--nmg-text);
	font-weight: 750;
	line-height: 1.2;
	letter-spacing: -.025em;
}

body.nmg-theme h1 { font-size: clamp(2rem, 4vw, 3.3rem); }
body.nmg-theme h2 { font-size: clamp(1.35rem, 2.4vw, 2.05rem); }
body.nmg-theme h3 { font-size: clamp(1.05rem, 2vw, 1.35rem); }
body.nmg-theme p,
body.nmg-theme ul,
body.nmg-theme ol { margin-top: 0; margin-bottom: 1.2rem; }

body.nmg-theme #page,
body.nmg-theme .site.grid-container {
	width: 100%;
	max-width: none;
	background: transparent;
}

body.nmg-theme .site-content {
	width: min(100% - clamp(28px, 5vw, 72px), var(--nmg-container));
	margin-inline: auto;
	padding: clamp(24px, 4vw, 52px) 0 clamp(56px, 7vw, 96px);
}

body.nmg-theme .content-area,
body.nmg-theme .site-main { width: 100%; min-width: 0; }

body.nmg-theme .inside-article,
body.nmg-theme .comments-area,
body.nmg-theme .page-header {
	background: transparent;
	padding: 0;
}

body.nmg-theme.one-container .site-content,
body.nmg-theme.separate-containers .site-main { margin: 0; }

body.nmg-theme .site-main > * + * { margin-top: var(--nmg-gap); }

body.nmg-theme .nmg-breadcrumbs-wrap {
	margin: 0 0 clamp(18px, 3vw, 28px);
}

body.nmg-theme .nmg-breadcrumbs,
body.nmg-theme .rank-math-breadcrumb {
	overflow: hidden;
	color: var(--nmg-muted);
	font-size: .86rem;
	line-height: 1.4;
}

body.nmg-theme .rank-math-breadcrumb p,
body.nmg-theme .nmg-breadcrumbs__inner {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	margin: 0;
	white-space: nowrap;
}

body.nmg-theme .nmg-breadcrumbs a,
body.nmg-theme .rank-math-breadcrumb a {
	flex: 0 0 auto;
	color: var(--nmg-text-soft);
	font-weight: 600;
	text-decoration: none;
}

body.nmg-theme .nmg-breadcrumbs a:hover,
body.nmg-theme .rank-math-breadcrumb a:hover { color: #fff; }

body.nmg-theme .nmg-breadcrumb-separator,
body.nmg-theme .rank-math-breadcrumb .separator {
	flex: 0 0 auto;
	color: #5f6d82;
	font-size: 1.1em;
}

body.nmg-theme .nmg-breadcrumbs__inner > :last-child,
body.nmg-theme .rank-math-breadcrumb p > :last-child {
	overflow: hidden;
	text-overflow: ellipsis;
}

body.nmg-theme button,
body.nmg-theme input[type="button"],
body.nmg-theme input[type="reset"],
body.nmg-theme input[type="submit"],
body.nmg-theme .button,
body.nmg-theme .wp-element-button,
body.nmg-theme .nmg-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	border: 1px solid var(--nmg-border-strong);
	border-radius: var(--nmg-radius-sm);
	background: var(--nmg-surface-2);
	padding: 9px 15px;
	color: var(--nmg-text);
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: color var(--nmg-transition), background-color var(--nmg-transition), border-color var(--nmg-transition), transform var(--nmg-transition);
}

body.nmg-theme button:hover,
body.nmg-theme input[type="button"]:hover,
body.nmg-theme input[type="reset"]:hover,
body.nmg-theme input[type="submit"]:hover,
body.nmg-theme .button:hover,
body.nmg-theme .wp-element-button:hover,
body.nmg-theme .nmg-button:hover {
	border-color: color-mix(in srgb, var(--nmg-accent) 54%, var(--nmg-border));
	background: var(--nmg-surface-3);
	color: #fff;
	transform: translateY(-1px);
}

body.nmg-theme .nmg-button--primary,
body.nmg-theme .wp-block-button:not(.is-style-outline) .wp-element-button {
	border-color: transparent;
	background: var(--nmg-accent);
	color: #fff;
}

body.nmg-theme .nmg-button--primary:hover { background: var(--nmg-accent-hover); color: #fff; }
body.nmg-theme .nmg-button--ghost { background: transparent; }
body.nmg-theme button[disabled] { cursor: not-allowed; opacity: .55; transform: none; }

body.nmg-theme label { color: var(--nmg-text-soft); font-weight: 650; }

body.nmg-theme input[type="text"],
body.nmg-theme input[type="email"],
body.nmg-theme input[type="url"],
body.nmg-theme input[type="password"],
body.nmg-theme input[type="number"],
body.nmg-theme input[type="tel"],
body.nmg-theme input[type="search"],
body.nmg-theme select,
body.nmg-theme textarea {
	width: 100%;
	border: 1px solid var(--nmg-border-strong);
	border-radius: var(--nmg-radius-sm);
	background: var(--nmg-surface);
	padding: 10px 13px;
	color: var(--nmg-text);
	font-size: 1rem;
}

body.nmg-theme input:focus,
body.nmg-theme select:focus,
body.nmg-theme textarea:focus {
	border-color: var(--nmg-accent);
	box-shadow: 0 0 0 4px var(--nmg-accent-soft);
	outline: 0;
}

body.nmg-theme .navigation.pagination,
body.nmg-theme .paging-navigation,
body.nmg-theme .nmg-pagination {
	width: 100%;
	margin: 28px 0 0;
	background: transparent;
	padding: 0;
}

body.nmg-theme .nav-links,
body.nmg-theme .nmg-pagination__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.nmg-theme .page-numbers,
body.nmg-theme .nmg-pagination__link,
body.nmg-theme .nmg-pagination__current,
body.nmg-theme .nmg-pagination__dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 42px;
	height: 42px;
	min-height: 42px;
	border: 1px solid var(--nmg-border);
	border-radius: var(--nmg-radius-sm);
	background: var(--nmg-surface);
	padding: 0 11px;
	color: var(--nmg-text-soft);
	font-size: .88rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

body.nmg-theme .page-numbers.current,
body.nmg-theme .page-numbers:hover,
body.nmg-theme .nmg-pagination__current,
body.nmg-theme .nmg-pagination__link:hover {
	border-color: var(--nmg-accent);
	background: var(--nmg-accent-soft);
	color: #fff;
}
body.nmg-theme .nmg-pagination__dots { border-color: transparent; background: transparent; padding-inline: 3px; }
body.nmg-theme .nmg-pagination__icon { font-size: 1.15em; line-height: 1; }

@media (max-width: 640px) {
	body.nmg-theme .nav-links,
	body.nmg-theme .nmg-pagination__list { gap: 6px; }
	body.nmg-theme .page-numbers,
	body.nmg-theme .nmg-pagination__link,
	body.nmg-theme .nmg-pagination__current,
	body.nmg-theme .nmg-pagination__dots {
		min-width: 40px;
		width: 40px;
		height: 40px;
		min-height: 40px;
		padding: 0;
	}
	body.nmg-theme .nmg-pagination__label,
	body.nmg-theme .nmg-pagination-label { display: none; }
}

body.nmg-theme .nmg-footer-directory {
	border-top: 1px solid rgba(109, 93, 252, .28);
	background:
		radial-gradient(circle at 10% 0%, rgba(109, 93, 252, .16), transparent 30rem),
		linear-gradient(145deg, var(--nmg-brand-surface), var(--nmg-brand-surface-deep));
	color: var(--nmg-brand-ink);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}

body.nmg-theme .nmg-footer-directory,
body.nmg-theme .nmg-footer-directory a,
body.nmg-theme .nmg-footer-directory p,
body.nmg-theme .nmg-footer-directory span,
body.nmg-theme .nmg-footer-directory strong,
body.nmg-theme .nmg-footer-directory small,
body.nmg-theme .nmg-footer-directory address,
body.nmg-theme .nmg-footer-directory nav,
body.nmg-theme .nmg-footer-directory ul,
body.nmg-theme .nmg-footer-directory li {
	font-family: var(--nmg-font);
}

body.nmg-theme .nmg-footer-directory__inner {
	display: grid;
	grid-template-columns: minmax(280px, 1.55fr) repeat(3, minmax(130px, .72fr));
	gap: clamp(28px, 4vw, 64px);
	width: min(100% - clamp(28px, 5vw, 72px), var(--nmg-container));
	margin-inline: auto;
	padding: clamp(42px, 5vw, 68px) 0;
}

body.nmg-theme .nmg-footer-directory__brand { max-width: 430px; }
body.nmg-theme .nmg-footer-directory__logo {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: min(245px, 100%);
	margin-bottom: 18px;
	border: 0;
	background: transparent;
	padding: 0;
	text-decoration: none;
	transition: transform var(--nmg-transition), filter var(--nmg-transition);
}
body.nmg-theme .nmg-footer-directory__logo:hover,
body.nmg-theme .nmg-footer-directory__logo:focus-visible {
	transform: translateY(-2px);
	filter: brightness(1.05);
}
body.nmg-theme .nmg-footer-directory__logo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4.5 / 1;
	object-fit: contain;
	filter:
		drop-shadow(1px 0 0 rgba(255, 255, 255, .5))
		drop-shadow(-1px 0 0 rgba(255, 255, 255, .5))
		drop-shadow(0 1px 0 rgba(255, 255, 255, .5))
		drop-shadow(0 -1px 0 rgba(255, 255, 255, .5))
		drop-shadow(0 9px 22px rgba(0, 0, 0, .34));
}
body.nmg-theme .nmg-footer-directory__logo--text {
	color: var(--nmg-brand-ink);
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: -.03em;
}
body.nmg-theme .nmg-footer-directory__description {
	max-width: 42ch;
	margin: 0 0 18px;
	color: var(--nmg-brand-ink-soft);
	font-size: .92rem;
	font-weight: 400;
	line-height: 1.68;
}
body.nmg-theme .nmg-footer-directory__address {
	display: grid;
	gap: 5px;
	margin: 0 0 16px;
	color: var(--nmg-brand-ink-soft);
	font-size: .84rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.58;
}
body.nmg-theme .nmg-footer-directory__address strong,
body.nmg-theme .nmg-footer-directory__contact strong {
	color: var(--nmg-brand-ink);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.nmg-theme .nmg-footer-directory__address small {
	max-width: 46ch;
	color: var(--nmg-muted);
	font-size: .76rem;
	font-weight: 400;
	line-height: 1.5;
}
body.nmg-theme .nmg-footer-directory__contact {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 7px 10px;
	margin: 0;
	font-size: .86rem;
	font-weight: 400;
}
body.nmg-theme .nmg-footer-directory__contact a {
	color: #b7c1ff;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}
body.nmg-theme .nmg-footer-directory__contact a:hover { color: #fff; }
body.nmg-theme .nmg-footer-directory__heading {
	margin: 0 0 14px;
	color: var(--nmg-brand-ink);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.3;
	text-transform: uppercase;
}
body.nmg-theme .nmg-footer-directory__links {
	display: grid;
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body.nmg-theme .nmg-footer-directory__links li { margin: 0; }
body.nmg-theme .nmg-footer-directory__links a {
	color: var(--nmg-brand-ink-soft);
	font-size: .89rem;
	font-weight: 500;
	text-decoration: none;
}
body.nmg-theme .nmg-footer-directory__links a:hover { color: #fff; }

body.nmg-theme .site-footer { border-top: 0; background: #060e1a; }
body.nmg-theme .site-info {
	border-top: 1px solid rgba(173, 192, 216, .12);
	background: #060e1a;
	color: var(--nmg-muted);
}

body.nmg-theme .inside-site-info {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100% - clamp(28px, 5vw, 72px), var(--nmg-container));
	min-height: 70px;
	margin-inline: auto;
	padding: 18px 0;
	color: var(--nmg-muted);
	font-family: var(--nmg-font);
	font-size: .82rem;
	font-weight: 400;
	text-align: center;
}

@media (max-width: 900px) {
	body.nmg-theme .nmg-footer-directory__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.nmg-theme .nmg-footer-directory__brand { max-width: none; }
}

@media (max-width: 768px) {
	body.nmg-theme .nmg-footer-directory__inner {
		grid-template-columns: minmax(108px, .82fr) minmax(0, 1.18fr);
		grid-template-areas:
			"brand brand"
			"company legal"
			"help legal";
		column-gap: clamp(18px, 6vw, 28px);
		row-gap: 26px;
		padding: 34px 0;
	}
	body.nmg-theme .nmg-footer-directory__brand {
		grid-area: brand;
		max-width: none;
	}
	body.nmg-theme .nmg-footer-directory__group--company { grid-area: company; }
	body.nmg-theme .nmg-footer-directory__group--help { grid-area: help; }
	body.nmg-theme .nmg-footer-directory__group--legal { grid-area: legal; }
	body.nmg-theme .nmg-footer-directory__group { min-width: 0; }
	body.nmg-theme .nmg-footer-directory__links { gap: 8px; }
	body.nmg-theme .nmg-footer-directory__links a { overflow-wrap: anywhere; }
}

@media (max-width: 420px) {
	body.nmg-theme .nmg-footer-directory__inner {
		grid-template-columns: minmax(104px, .8fr) minmax(0, 1.2fr);
		width: min(100% - 26px, var(--nmg-container));
		column-gap: 16px;
		row-gap: 24px;
		padding: 30px 0;
	}
	body.nmg-theme .nmg-footer-directory__logo { width: min(220px, 100%); }
	body.nmg-theme .nmg-footer-directory__heading {
		margin-bottom: 12px;
		font-size: .76rem;
	}
	body.nmg-theme .nmg-footer-directory__links a {
		font-size: .85rem;
		line-height: 1.45;
	}
}

body.nmg-theme .nmg-empty-state,
body.nmg-theme .no-results,
body.nmg-theme .nmg-404-card {
	border: 1px solid var(--nmg-border);
	border-radius: var(--nmg-radius-lg);
	background: var(--nmg-surface);
	padding: clamp(24px, 5vw, 54px);
}

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

body.nmg-theme .nmg-search-form,
body.nmg-theme .search-form {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 560px;
	border: 1px solid var(--nmg-border-strong);
	border-radius: 999px;
	background: var(--nmg-surface);
}
body.nmg-theme .nmg-search-form:focus-within,
body.nmg-theme .search-form:focus-within { border-color: var(--nmg-accent); box-shadow: 0 0 0 4px var(--nmg-accent-soft); }
body.nmg-theme .nmg-search-form__label { flex: 1; min-width: 0; }
body.nmg-theme .nmg-search-form .search-field { min-height: 46px; border: 0; background: transparent; box-shadow: none; }
body.nmg-theme .search-submit { display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; border: 0; border-radius: 50%; background: transparent; padding: 0; color: var(--nmg-text-soft); }
body.nmg-theme .search-submit:hover { background: var(--nmg-accent-soft); color: #fff; transform: none; }

body.nmg-theme .nmg-empty-state__actions,
body.nmg-theme .nmg-404__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
body.nmg-theme .nmg-404 { max-width: 860px; margin-inline: auto; border: 1px solid var(--nmg-border); border-radius: var(--nmg-radius-xl); background: var(--nmg-surface); padding: clamp(28px, 6vw, 68px); text-align: center; }
body.nmg-theme .nmg-404__code { margin-bottom: 8px; color: var(--nmg-accent); font-size: clamp(4rem, 13vw, 8rem); font-weight: 850; line-height: .9; letter-spacing: -.08em; }
body.nmg-theme .nmg-404__search { display: flex; justify-content: center; margin-top: 26px; }
body.nmg-theme .nmg-404__actions { justify-content: center; }
body.nmg-theme .nmg-embed { position: relative; overflow: hidden; width: 100%; }
