/*
Theme Name: NavyMentor Magazine
Theme URI: https://navymentor.org/
Author: NavyMentor
Author URI: https://navymentor.org/
Description: Independent editorial magazine theme for NavyMentor.org — Navy careers, preparation, fitness, life and gear. Magazine homepage and category pages, long-form article template with automatic table of contents, sources and trust elements, reusable buying-guide components (product boxes, comparison tables, disclosures) and browser-based tools (checklists, pace calculator, study planner, career explorer). Successor to Navy Mentor Pro 1.x.
Version: 2.0.0
Requires at least: 6.3
Tested up to: 7.1
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: navymentor
Tags: blog, news, two-columns, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ============================================================
   01 · TOKENS
   ============================================================ */
:root {
	--nm-navy-950: #07142a;
	--nm-navy-900: #0b1f3a;
	--nm-navy-800: #12305a;
	--nm-navy-700: #1a4480;
	--nm-blue-600: #1b5cb8;
	--nm-blue-100: #e3edfa;
	--nm-blue-50: #f1f6fd;
	--nm-ink: #101828;
	--nm-body: #263042;
	--nm-muted: #586174;
	--nm-line: #e1e6ee;
	--nm-mist: #f4f6f9;
	--nm-paper: #fff;
	--nm-gold: #c9a227;
	--nm-gold-700: #7d6100;
	--nm-gold-50: #fbf6e1;
	--nm-green: #17713f;
	--nm-green-50: #edf7f1;
	--nm-red: #a8261d;
	--nm-red-50: #fdf1ef;
	--nm-amazon: #ffd814;
	--nm-amazon-hover: #f7ca00;
	--cat: var(--nm-blue-600);

	--nm-font-head: "Source Serif 4", "Iowan Old Style", Georgia, "Times New Roman", serif;
	--nm-font-ui: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--nm-wrap: 1200px;
	--nm-gutter: 20px;
	--nm-radius: 8px;
	--nm-radius-sm: 5px;
	--nm-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 10px 28px rgba(16, 24, 40, .08);
	--nm-header-h: 64px;
}

/* Subtle per-topic accents; the brand stays navy throughout. */
.cat--navy-careers { --cat: #1b5cb8; }
.cat--navy-life { --cat: #0f6f72; }
.cat--navy-fitness { --cat: #a84a16; }
.cat--navy-gear { --cat: #12305a; }
.cat--buying-guides { --cat: #7d6100; }
.cat--veterans-transition { --cat: #4d5870; }

/* ============================================================
   02 · BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--nm-header-h) + 20px); }
body {
	margin: 0;
	background: var(--nm-paper);
	color: var(--nm-body);
	font-family: var(--nm-font-ui);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--nm-blue-600); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--nm-navy-800); }
h1, h2, h3, h4 { color: var(--nm-ink); font-family: var(--nm-font-head); font-weight: 700; line-height: 1.2; margin: 0 0 .5em; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.25em; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
table { border-collapse: collapse; width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid var(--nm-gold); outline-offset: 2px; border-radius: 3px; }
::selection { background: var(--nm-navy-800); color: #fff; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.nm-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--nm-navy-900); color: #fff; padding: 10px 16px; border-radius: var(--nm-radius-sm); }
.nm-skip:focus { top: 12px; color: #fff; }

.nm-wrap { width: 100%; max-width: var(--nm-wrap); margin-inline: auto; padding-inline: var(--nm-gutter); }
.nm-wrap--text { max-width: 820px; }
.nm-wrap--media { max-width: 1000px; }
.nm-ico { flex: none; vertical-align: -.18em; }
.nm-mt { margin-top: 28px; }
.nm-mt-lg { margin-top: 56px; }
.nm-hp { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); opacity: 0; pointer-events: none; }

/* ============================================================
   03 · BUTTONS, CHIPS, KICKERS
   ============================================================ */
.nm-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 10px 20px; border: 1.5px solid transparent; border-radius: var(--nm-radius-sm);
	font-family: var(--nm-font-ui); font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.nm-btn--primary { background: var(--nm-navy-800); color: #fff; }
.nm-btn--primary:hover { background: var(--nm-navy-900); color: #fff; }
.nm-btn--gold { background: var(--nm-gold); color: var(--nm-navy-950); }
.nm-btn--gold:hover { background: #dbb53a; color: var(--nm-navy-950); }
.nm-btn--outline { background: #fff; border-color: #c5cdda; color: var(--nm-navy-800); }
.nm-btn--outline:hover { border-color: var(--nm-navy-800); color: var(--nm-navy-900); }
.nm-btn--ghost { background: transparent; color: var(--nm-muted); }
.nm-btn--ghost:hover { color: var(--nm-ink); background: var(--nm-mist); }
.nm-btn--onDark { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .55); color: #fff; }
.nm-btn--onDark:hover { background: #fff; color: var(--nm-navy-900); }
.nm-btn--amazon { background: var(--nm-amazon); color: #111; border-color: #f0c000; }
.nm-btn--amazon:hover { background: var(--nm-amazon-hover); color: #111; }
.nm-btn--lg { min-height: 50px; padding: 13px 26px; font-size: 16px; }
.nm-btn--sm { min-height: 38px; padding: 7px 14px; font-size: 14px; }

.nm-chip {
	display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
	color: var(--cat); text-decoration: none; line-height: 1.3;
}
a.nm-chip:hover { text-decoration: underline; color: var(--cat); }
.nm-chip--page { color: var(--nm-muted); }
.nm-kicker { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cat); }
.nm-kicker--gold { color: var(--nm-gold); }
.nm-tag { display: inline-block; padding: 1px 6px; border-radius: 3px; background: var(--nm-blue-100); color: var(--nm-navy-800); font-size: 11px; font-weight: 700; letter-spacing: .04em; vertical-align: 1px; }
.nm-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; color: var(--nm-muted); font-size: 13.5px; }

.nm-pills { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.nm-pill { display: inline-block; padding: 7px 14px; border: 1px solid var(--nm-line); border-radius: 999px; background: #fff; color: var(--nm-ink); font-size: 14px; font-weight: 600; text-decoration: none; }
.nm-pill:hover { border-color: var(--cat); color: var(--cat); }

/* ============================================================
   04 · TOP BAR + HEADER + NAV
   ============================================================ */
.nm-topbar { background: var(--nm-navy-950); color: #c9d3e3; font-size: 12.5px; }
.nm-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 34px; }
.nm-topbar__note { margin: 0; padding: 7px 0; line-height: 1.35; }
.nm-topbar__links { display: none; gap: 18px; list-style: none; margin: 0; padding: 0; white-space: nowrap; }
.nm-topbar__links a { color: #c9d3e3; text-decoration: none; }
.nm-topbar__links a:hover { color: #fff; text-decoration: underline; }

.nm-header { position: sticky; top: 0; z-index: 100; background: #fff; border-bottom: 1px solid var(--nm-line); }
.admin-bar .nm-header { top: 46px; }
.nm-header__in { display: flex; align-items: center; gap: 16px; min-height: var(--nm-header-h); }
.nm-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--nm-navy-900); flex: none; }
.nm-brand__mark { display: block; border-radius: 9px; }
.nm-brand__name { font-family: var(--nm-font-head); font-size: 23px; font-weight: 700; letter-spacing: -.02em; line-height: 1; color: var(--nm-navy-900); }
.nm-brand__name b { font-weight: 700; color: var(--nm-gold-700); }
.nm-brand--light .nm-brand__name { color: #fff; }
.nm-brand--light .nm-brand__name b { color: var(--nm-gold); }
.nm-brand--logo img { max-height: 44px; width: auto; }

.nm-header__tools { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nm-iconbtn { display: inline-flex; align-items: center; gap: 8px; min-width: 44px; min-height: 44px; justify-content: center; padding: 0 10px; border: 0; border-radius: var(--nm-radius-sm); background: transparent; color: var(--nm-navy-900); font-size: 14px; font-weight: 600; }
.nm-iconbtn:hover { background: var(--nm-mist); }
.nm-iconbtn__label { display: none; }
.nm-burger__open { display: inline-flex; }
.nm-burger__close { display: none; }
.nm-burger[aria-expanded="true"] .nm-burger__open { display: none; }
.nm-burger[aria-expanded="true"] .nm-burger__close { display: inline-flex; }

/* Mobile: the menu is a panel under the header. */
.nm-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--nm-line); box-shadow: var(--nm-shadow); max-height: calc(100vh - var(--nm-header-h) - 34px); overflow-y: auto; }
.nm-nav.is-open { display: block; }
.nm-menu, .nm-menu ul { list-style: none; margin: 0; padding: 0; }
.nm-menu { padding: 8px var(--nm-gutter) 18px; }
.nm-menu > li { border-bottom: 1px solid var(--nm-line); }
.nm-menu > li:last-child { border-bottom: 0; }
.nm-menu a { display: block; padding: 13px 4px; color: var(--nm-ink); font-size: 16px; font-weight: 600; text-decoration: none; }
.nm-menu a:hover, .nm-menu .current-menu-item > a, .nm-menu .current-menu-parent > a, .nm-menu .current-post-ancestor > a { color: var(--nm-blue-600); }
.nm-menu .sub-menu { padding: 0 0 10px 14px; }
.nm-menu .sub-menu a { padding: 8px 4px; font-size: 15px; font-weight: 500; color: var(--nm-body); }

.nm-search { border-top: 1px solid var(--nm-line); background: #fff; box-shadow: var(--nm-shadow); position: absolute; left: 0; right: 0; top: 100%; }
.nm-search__in { padding-block: 18px 20px; }
.nm-searchform { display: flex; align-items: center; gap: 8px; padding: 5px 5px 5px 12px; border: 1.5px solid #c5cdda; border-radius: var(--nm-radius); background: #fff; color: var(--nm-muted); }
.nm-searchform:focus-within { border-color: var(--nm-navy-700); box-shadow: 0 0 0 3px rgba(27, 92, 184, .15); }
.nm-searchform input[type="search"] { flex: 1; min-width: 0; border: 0; background: transparent; padding: 8px 4px; font-size: 16px; color: var(--nm-ink); outline: 0; -webkit-appearance: none; appearance: none; }
.nm-searchform--lg input[type="search"] { font-size: 18px; padding-block: 10px; }
.nm-search__results { margin-top: 10px; }
.nm-search__results ul { list-style: none; margin: 0; padding: 0; }
.nm-search__results a { display: flex; gap: 10px; align-items: baseline; padding: 10px 8px; border-radius: var(--nm-radius-sm); color: var(--nm-ink); text-decoration: none; font-weight: 600; }
.nm-search__results a:hover, .nm-search__results a:focus { background: var(--nm-mist); }
.nm-search__results small { color: var(--nm-muted); font-weight: 600; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; flex: none; }
.nm-search__popular { margin: 12px 0 0; font-size: 14px; color: var(--nm-muted); display: flex; flex-wrap: wrap; gap: 6px 14px; }
.nm-search__popular a { color: var(--nm-navy-800); }

.nm-readbar { position: sticky; top: var(--nm-header-h); z-index: 90; height: 3px; background: transparent; margin-bottom: -3px; }
.admin-bar .nm-readbar { top: calc(var(--nm-header-h) + 46px); }
.nm-readbar span { display: block; height: 100%; width: 0; background: var(--nm-gold); }

@media (min-width: 783px) { .admin-bar .nm-header { top: 32px; } .admin-bar .nm-readbar { top: calc(var(--nm-header-h) + 32px); } }
@media (min-width: 720px) { .nm-topbar__links { display: flex; } }

@media (min-width: 1080px) {
	:root { --nm-header-h: 72px; }
	.nm-burger { display: none; }
	.nm-iconbtn__label { display: inline; }
	.nm-nav { display: block; position: static; border: 0; box-shadow: none; max-height: none; overflow: visible; margin-left: 20px; background: transparent; }
	.nm-menu { display: flex; align-items: center; gap: 2px; padding: 0; }
	.nm-menu > li { position: relative; border: 0; }
	.nm-menu > li > a { padding: 10px 11px; font-size: 14.5px; border-radius: var(--nm-radius-sm); white-space: nowrap; }
	.nm-menu > li > a:hover { background: var(--nm-mist); }
	.nm-menu > .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-3px) rotate(45deg); opacity: .6; }
	.nm-menu .sub-menu { position: absolute; left: 0; top: 100%; min-width: 250px; padding: 8px; background: #fff; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); box-shadow: var(--nm-shadow); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity .12s ease, transform .12s ease, visibility .12s; }
	.nm-menu > li:hover > .sub-menu, .nm-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
	.nm-menu .sub-menu a { padding: 9px 12px; border-radius: var(--nm-radius-sm); font-size: 14.5px; }
	.nm-menu .sub-menu a:hover { background: var(--nm-mist); }
}

/* ============================================================
   05 · SECTIONS + GRIDS
   ============================================================ */
.nm-section { padding-block: 44px; }
.nm-section--mist { background: var(--nm-mist); }
.nm-section--navy { background: var(--nm-navy-900); color: #d5ddea; }
.nm-section--navy h2, .nm-section--navy h3 { color: #fff; }
.nm-section__note { margin: 26px 0 0; font-size: 14px; color: #b6c2d6; max-width: 780px; }
.nm-section__note a { color: #fff; }

.nm-shead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 24px; }
.nm-shead__title { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2rem); }
.nm-shead__sub { margin: 8px 0 0; max-width: 680px; color: var(--nm-muted); font-size: 16px; }
.nm-section--navy .nm-shead__sub { color: #b6c2d6; }
.nm-more { display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 600; color: var(--nm-navy-800); text-decoration: none; white-space: nowrap; padding-block: 6px; }
.nm-more:hover { text-decoration: underline; }
.nm-section--navy .nm-more { color: #fff; }

.nm-grid { display: grid; gap: 28px 24px; grid-template-columns: minmax(0, 1fr); }
.nm-grid:empty { display: none; }
@media (min-width: 620px) { .nm-grid--2, .nm-grid--3, .nm-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) {
	.nm-section { padding-block: 64px; }
	.nm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ============================================================
   06 · CARDS
   ============================================================ */
.nm-card { display: flex; flex-direction: column; min-width: 0; }
.nm-card__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--nm-radius); background: var(--nm-mist); margin-bottom: 14px; }
.nm-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.nm-card:hover .nm-card__media img { transform: scale(1.03); }
.nm-card__ph { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(135deg, var(--nm-navy-900), var(--nm-navy-700)); }
.nm-card__body { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.nm-card__title { margin: 0; font-size: 1.22rem; line-height: 1.25; }
.nm-card__title a { color: var(--nm-ink); text-decoration: none; }
.nm-card__title a:hover { color: var(--nm-navy-700); text-decoration: underline; text-decoration-thickness: 2px; }
.nm-card__excerpt { margin: 0; color: var(--nm-muted); font-size: 15.5px; line-height: 1.55; }

.nm-card--feature .nm-card__title { font-size: clamp(1.5rem, 1.15rem + 1.6vw, 2.1rem); line-height: 1.15; }
.nm-card--feature .nm-card__excerpt { font-size: 16.5px; }

.nm-card--row { flex-direction: row; gap: 16px; align-items: flex-start; padding-block: 16px; border-top: 1px solid var(--nm-line); }
.nm-card--row:first-child { border-top: 0; padding-top: 0; }
.nm-card--row .nm-card__media { flex: none; width: 128px; margin: 0; border-radius: var(--nm-radius-sm); }
.nm-card--row .nm-card__title { font-size: 1.08rem; }

.nm-card--mini { flex-direction: row; gap: 14px; align-items: flex-start; padding-block: 14px; border-top: 1px solid var(--nm-line); }
.nm-card--mini:first-child { border-top: 0; padding-top: 0; }
.nm-card--mini .nm-card__title { font-size: 1.05rem; }
.nm-card__num { font-family: var(--nm-font-head); font-size: 1.7rem; font-weight: 700; line-height: 1; color: #b9c3d2; min-width: 34px; }

/* Cards on the navy band */
.nm-section--navy .nm-card__title a { color: #fff; }
.nm-section--navy .nm-card__title a:hover { color: #fff; }
.nm-section--navy .nm-chip { color: var(--nm-gold); }
.nm-section--navy .nm-meta { color: #a9b6cb; }

@media (min-width: 620px) { .nm-card--row .nm-card__media { width: 168px; } }

/* ============================================================
   07 · HOMEPAGE
   ============================================================ */
.nm-hero { position: relative; isolation: isolate; background: var(--nm-navy-900); color: #fff; overflow: hidden; }
.nm-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 60%; z-index: -2; }
.nm-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 20, 42, .82) 0%, rgba(7, 20, 42, .7) 55%, rgba(7, 20, 42, .86) 100%); }
.nm-hero__in { padding-block: 56px 60px; }
.nm-hero__title { color: #fff; font-size: clamp(2.1rem, 1.3rem + 3.6vw, 3.7rem); line-height: 1.06; letter-spacing: -.02em; max-width: 19ch; margin-bottom: .35em; }
.nm-hero__text { font-size: clamp(1.05rem, 1rem + .4vw, 1.25rem); color: #dbe3ef; max-width: 56ch; margin-bottom: 1.5em; }
.nm-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.nm-hero__trust { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; margin: 28px 0 0; padding: 0; font-size: 14px; color: #c9d3e3; }
.nm-hero__trust li { display: inline-flex; align-items: center; gap: 7px; }
.nm-hero__trust .nm-ico { color: var(--nm-gold); }
.nm-hero__credit { position: absolute; right: 10px; bottom: 6px; margin: 0; font-size: 11px; color: rgba(255, 255, 255, .62); max-width: 70%; text-align: right; line-height: 1.3; }
@media (min-width: 960px) {
	.nm-hero::after { background: linear-gradient(90deg, rgba(7, 20, 42, .93) 0%, rgba(7, 20, 42, .78) 42%, rgba(7, 20, 42, .2) 78%, rgba(7, 20, 42, .1) 100%); }
	.nm-hero__in { padding-block: 104px 110px; }
}

.nm-lead { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.nm-lead__side { display: grid; gap: 28px 24px; }
@media (min-width: 620px) { .nm-lead__side { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) {
	.nm-lead { grid-template-columns: minmax(0, 1.85fr) minmax(0, 1fr); gap: 36px; align-items: start; }
	.nm-lead__side { grid-template-columns: 1fr; gap: 26px; }
	.nm-lead__side .nm-card__title { font-size: 1.12rem; }
}

.nm-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 960px) { .nm-split { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 44px; align-items: start; } }

.nm-duo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 44px; }
@media (min-width: 960px) { .nm-duo { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 56px; } .nm-duo--single { grid-template-columns: 1fr; } }

.nm-start { display: grid; gap: 12px; list-style: none; margin: 0; padding: 0; grid-template-columns: 1fr; }
.nm-start__card { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; height: 100%; padding: 18px; background: #fff; border: 1px solid var(--nm-line); border-top: 3px solid var(--cat); border-radius: var(--nm-radius); text-decoration: none; color: var(--nm-body); transition: box-shadow .15s ease, transform .15s ease; }
.nm-start__card:hover { box-shadow: var(--nm-shadow); transform: translateY(-2px); color: var(--nm-body); }
.nm-start__icon { grid-row: span 2; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--nm-mist); color: var(--cat); }
.nm-start__title { font-family: var(--nm-font-head); font-weight: 700; font-size: 1.12rem; color: var(--nm-ink); line-height: 1.25; }
.nm-start__text { font-size: 14.5px; color: var(--nm-muted); line-height: 1.45; }
@media (min-width: 620px) { .nm-start { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) {
	.nm-start { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.nm-start__card { grid-template-columns: 1fr; align-content: start; gap: 10px; padding: 22px 18px; }
	.nm-start__icon { grid-row: auto; }
}
.nm-start--compact { grid-template-columns: 1fr !important; gap: 0; }
.nm-start--compact .nm-start__card { grid-template-columns: auto 1fr; padding: 9px 0; border: 0; border-top: 1px solid var(--nm-line); border-radius: 0; gap: 10px; }
.nm-start--compact li:first-child .nm-start__card { border-top: 0; }
.nm-start--compact .nm-start__card:hover { box-shadow: none; transform: none; }
.nm-start--compact .nm-start__card:hover .nm-start__title { text-decoration: underline; }
.nm-start--compact .nm-start__icon { width: 30px; height: 30px; grid-row: auto; }
.nm-start--compact .nm-start__title { font-family: var(--nm-font-ui); font-size: 14.5px; font-weight: 600; }

.nm-toolgrid { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; grid-template-columns: 1fr; }
.nm-toolcard { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 20px; background: #fff; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); text-decoration: none; color: var(--nm-body); transition: box-shadow .15s ease, border-color .15s ease; }
.nm-toolcard:hover { box-shadow: var(--nm-shadow); border-color: #c5cdda; color: var(--nm-body); }
.nm-toolcard__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: var(--nm-radius-sm); background: var(--nm-navy-900); color: var(--nm-gold); margin-bottom: 6px; }
.nm-toolcard__title { font-family: var(--nm-font-head); font-size: 1.15rem; font-weight: 700; color: var(--nm-ink); line-height: 1.25; }
.nm-toolcard__text { font-size: 14.5px; color: var(--nm-muted); line-height: 1.5; flex: 1; }
.nm-toolcard__go { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--nm-navy-800); }
@media (min-width: 620px) { .nm-toolgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .nm-toolgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.nm-newsletter { background: var(--nm-navy-950); color: #d5ddea; padding-block: 48px; border-top: 3px solid var(--nm-gold); }
.nm-newsletter__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: center; }
.nm-newsletter h2 { color: #fff; font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2rem); margin-bottom: .3em; }
.nm-newsletter__copy p:last-child { margin: 0; max-width: 46ch; }
.nm-newsletter__form { display: grid; grid-template-columns: 1fr; gap: 10px; }
.nm-newsletter__form input[type="email"] { min-height: 48px; padding: 10px 14px; border: 1.5px solid #40557a; border-radius: var(--nm-radius-sm); background: #fff; color: var(--nm-ink); font-size: 16px; width: 100%; }
.nm-newsletter__msg { margin: 0; font-size: 14.5px; font-weight: 600; color: var(--nm-gold); min-height: 1.4em; }
.nm-newsletter__fine { margin: 0; font-size: 12.5px; color: #9fadc4; }
.nm-newsletter__fine a { color: #d5ddea; }
@media (min-width: 620px) { .nm-newsletter__form { grid-template-columns: 1fr auto; } .nm-newsletter__msg, .nm-newsletter__fine { grid-column: 1 / -1; } }
@media (min-width: 960px) { .nm-newsletter__in { grid-template-columns: 1fr 1fr; gap: 56px; } .nm-newsletter { padding-block: 60px; } }

.nm-about__in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.nm-about__copy p { max-width: 60ch; }
.nm-about__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 1.4em; }
.nm-about__points { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.nm-about__points li { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 18px; background: var(--nm-mist); border-radius: var(--nm-radius); }
.nm-about__points .nm-ico { color: var(--nm-navy-700); margin-top: 2px; }
.nm-about__points strong { display: block; color: var(--nm-ink); font-size: 16px; }
.nm-about__points span { font-size: 14.5px; color: var(--nm-muted); line-height: 1.5; }
@media (min-width: 960px) { .nm-about__in { grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; } }

.nm-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.nm-points li { display: grid; gap: 6px; }
.nm-points .nm-ico { color: var(--nm-gold); }
.nm-points strong { color: #fff; font-family: var(--nm-font-head); font-size: 1.2rem; }
.nm-points span { color: #b6c2d6; font-size: 15.5px; }
@media (min-width: 800px) { .nm-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; } }

.nm-linklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nm-linklist a { display: block; height: 100%; padding: 16px 18px; background: #fff; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); text-decoration: none; }
.nm-linklist a:hover { border-color: var(--nm-navy-700); }
.nm-linklist__title { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--nm-navy-800); }
.nm-linklist__text { display: block; margin-top: 3px; font-size: 14.5px; color: var(--nm-muted); line-height: 1.45; }
@media (min-width: 700px) { .nm-linklist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ============================================================
   08 · ARCHIVE + PAGE HEADERS
   ============================================================ */
.nm-crumbs { font-size: 13.5px; color: var(--nm-muted); margin-bottom: 14px; }
.nm-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 8px; list-style: none; margin: 0; padding: 0; }
.nm-crumbs li + li::before { content: "/"; margin-right: 8px; color: #a9b2c2; }
.nm-crumbs a { color: var(--nm-muted); }
.nm-crumbs a:hover { color: var(--nm-ink); }
.nm-crumbs .separator { margin-inline: 6px; color: #a9b2c2; }

.nm-archhero { position: relative; isolation: isolate; background: var(--nm-navy-900); color: #dbe3ef; overflow: hidden; }
.nm-archhero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.nm-archhero--img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7, 20, 42, .94) 0%, rgba(7, 20, 42, .82) 55%, rgba(7, 20, 42, .5) 100%); }
.nm-archhero__in { padding-block: 40px 44px; }
.nm-archhero__title { color: #fff; font-size: clamp(2rem, 1.4rem + 2.6vw, 3.1rem); margin-bottom: .3em; }
.nm-archhero__desc { max-width: 62ch; font-size: 1.08rem; }
.nm-archhero__desc p:last-child { margin: 0; }
.nm-archhero__count { margin: 16px 0 0; font-size: 13.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: #a9b6cb; }
.nm-archhero .nm-crumbs, .nm-archhero .nm-crumbs a { color: #b6c2d6; }
.nm-archhero .nm-crumbs a:hover { color: #fff; }
@media (min-width: 960px) { .nm-archhero__in { padding-block: 64px 68px; } }

.nm-archlead .nm-card--feature { display: grid; gap: 18px; }
.nm-archlead .nm-card__media { margin: 0; }
@media (min-width: 860px) { .nm-archlead .nm-card--feature { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 36px; align-items: center; } }

.nm-pagehead { padding-block: 36px 8px; }
.nm-pagehead--search { padding-bottom: 20px; background: var(--nm-mist); border-bottom: 1px solid var(--nm-line); }
.nm-pagehead__title { font-size: clamp(2rem, 1.4rem + 2.6vw, 3rem); margin-bottom: .3em; }
.nm-pagehead__deck { font-size: 1.15rem; color: var(--nm-muted); max-width: 62ch; }
.nm-pagehead__meta { font-size: 14px; color: var(--nm-muted); }
.nm-pagehead .nm-pills { margin-top: 18px; }
.nm-pagehead .nm-searchform { margin-top: 14px; max-width: 620px; }
.nm-page__body { padding-block: 16px 56px; }
.nm-jump { border-bottom: 1px solid var(--nm-line); padding-block: 14px; background: #fff; }

.nm-pager { margin-top: 44px; }
.nm-pager ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.nm-pager a, .nm-pager span { display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius-sm); color: var(--nm-ink); font-weight: 600; font-size: 15px; text-decoration: none; }
.nm-pager a:hover { border-color: var(--nm-navy-700); }
.nm-pager .current { background: var(--nm-navy-800); border-color: var(--nm-navy-800); color: #fff; }
.nm-empty { padding: 28px; background: var(--nm-mist); border-radius: var(--nm-radius); }
.nm-empty .nm-start { margin-top: 20px; }

.nm-results { list-style: none; margin: 0; padding: 0; }
.nm-result { display: grid; grid-template-columns: 1fr; gap: 14px; padding-block: 24px; border-top: 1px solid var(--nm-line); }
.nm-result:first-child { border-top: 0; padding-top: 0; }
.nm-result__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--nm-radius); background: var(--nm-mist); }
.nm-result__media img { width: 100%; height: 100%; object-fit: cover; }
.nm-result__title { margin: 4px 0 6px; font-size: 1.35rem; }
.nm-result__title a { color: var(--nm-ink); text-decoration: none; }
.nm-result__title a:hover { text-decoration: underline; }
.nm-result__excerpt { margin: 0 0 8px; color: var(--nm-muted); font-size: 15.5px; }
@media (min-width: 620px) { .nm-result { grid-template-columns: 220px 1fr; gap: 24px; align-items: start; } }

/* ============================================================
   09 · ARTICLE
   ============================================================ */
.nm-article__head { padding-block: 32px 22px; }
.nm-article__title { font-size: clamp(2.05rem, 1.35rem + 3vw, 3.25rem); line-height: 1.1; letter-spacing: -.02em; margin: 10px 0 .4em; }
.nm-article__deck { font-size: clamp(1.12rem, 1.05rem + .4vw, 1.32rem); line-height: 1.5; color: var(--nm-muted); margin-bottom: 1.2em; }
.nm-byline { display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px solid var(--nm-line); }
.nm-byline__avatar svg { display: block; border-radius: 50%; }
.nm-byline p { margin: 0; }
.nm-byline__name { font-weight: 600; color: var(--nm-ink); font-size: 15px; }
.nm-byline__name a { color: var(--nm-ink); }
.nm-byline__dates { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: 13.5px; color: var(--nm-muted); }
.nm-byline__dates span { display: inline-flex; align-items: center; gap: 5px; }

.nm-article__hero { margin: 0 auto 8px; }
.nm-article__hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--nm-radius); }
.nm-article__hero figcaption { margin-top: 8px; font-size: 12.5px; color: var(--nm-muted); }

.nm-article__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; padding-block: 28px 56px; }
.nm-article__main { min-width: 0; max-width: 760px; width: 100%; margin-inline: auto; }
.nm-article__side { display: none; }
@media (min-width: 1100px) {
	.nm-article__layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 64px; }
	.nm-article__main { margin-inline: 0; justify-self: end; }
	.nm-article__side { display: flex; flex-direction: column; gap: 28px; }
}

.nm-side__block { padding-bottom: 24px; border-bottom: 1px solid var(--nm-line); }
.nm-side__title { margin: 0 0 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nm-ink); }
.nm-side__list { margin: 0; padding-left: 1.25em; font-size: 14.5px; }
.nm-side__list li { padding-block: 5px; color: var(--nm-muted); }
.nm-side__list a { color: var(--nm-ink); font-weight: 600; text-decoration: none; line-height: 1.4; }
.nm-side__list a:hover { text-decoration: underline; }
.nm-side__sticky { position: sticky; top: calc(var(--nm-header-h) + 24px); display: flex; flex-direction: column; gap: 24px; max-height: calc(100vh - var(--nm-header-h) - 48px); overflow-y: auto; }
.admin-bar .nm-side__sticky { top: calc(var(--nm-header-h) + 56px); }
.nm-side__block--gear { border-bottom: 0; padding-bottom: 0; }
.nm-side__gear { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nm-side__gear a { display: grid; grid-template-columns: 56px 1fr; gap: 12px; align-items: center; color: var(--nm-ink); font-size: 14.5px; font-weight: 600; line-height: 1.35; text-decoration: none; }
.nm-side__gear a:hover span { text-decoration: underline; }
.nm-side__gear img { width: 56px; height: 56px; object-fit: cover; border-radius: var(--nm-radius-sm); }

/* Table of contents */
.nm-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
.nm-toc__list > li { counter-increment: toc; }
.nm-toc a { text-decoration: none; color: var(--nm-ink); }
.nm-toc a:hover { text-decoration: underline; color: var(--nm-blue-600); }
.nm-toc--inline { margin: 0 0 28px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: var(--nm-mist); }
.nm-toc--inline summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; cursor: pointer; font-weight: 700; color: var(--nm-ink); list-style: none; }
.nm-toc--inline summary::-webkit-details-marker { display: none; }
.nm-toc--inline[open] summary .nm-ico { transform: rotate(180deg); }
.nm-toc--inline nav { padding: 0 18px 16px; }
.nm-toc--inline .nm-toc__list > li { padding-block: 5px; font-size: 15.5px; font-weight: 600; }
.nm-toc--inline .nm-toc__list > li > a::before { content: counter(toc) ". "; color: var(--nm-muted); font-weight: 500; }
.nm-toc__sub { display: block; padding: 3px 0 0 20px; font-size: 14.5px; font-weight: 400; }
.nm-toc--side { padding-bottom: 24px; border-bottom: 1px solid var(--nm-line); }
.nm-toc__title { margin: 0 0 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nm-ink); }
.nm-toc--side .nm-toc__list > li > a { display: block; padding: 6px 0 6px 12px; border-left: 2px solid var(--nm-line); font-size: 14px; line-height: 1.4; color: var(--nm-muted); }
.nm-toc--side .nm-toc__list > li > a.is-active { border-left-color: var(--nm-gold); color: var(--nm-ink); font-weight: 600; }

/* Long-form typography */
.nm-prose { font-size: 18px; line-height: 1.72; color: var(--nm-body); overflow-wrap: break-word; }
.nm-prose > *:first-child { margin-top: 0; }
.nm-prose p, .nm-prose ul, .nm-prose ol { margin-bottom: 1.25em; }
.nm-prose h2 { font-size: clamp(1.55rem, 1.3rem + 1vw, 1.95rem); margin: 2em 0 .6em; padding-top: .2em; }
.nm-prose h3 { font-size: clamp(1.25rem, 1.15rem + .5vw, 1.45rem); margin: 1.7em 0 .5em; }
.nm-prose h4 { font-family: var(--nm-font-ui); font-size: 1.05rem; margin: 1.5em 0 .4em; }
.nm-prose li { margin-bottom: .45em; }
.nm-prose li::marker { color: var(--nm-navy-700); }
.nm-prose a { font-weight: 500; }
.nm-prose strong { color: var(--nm-ink); }
.nm-prose img { border-radius: var(--nm-radius); }
.nm-prose figure { margin: 1.8em 0; }
.nm-prose figcaption, .nm-prose .wp-caption-text { margin-top: 8px; font-size: 13px; color: var(--nm-muted); }
.nm-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--nm-gold); font-family: var(--nm-font-head); font-size: 1.2rem; color: var(--nm-ink); }
.nm-prose hr { border: 0; border-top: 1px solid var(--nm-line); margin: 2.2em 0; }
.nm-prose table { margin: 1.6em 0; font-size: 15.5px; }
.nm-prose th, .nm-prose td { padding: 11px 14px; border-bottom: 1px solid var(--nm-line); text-align: left; vertical-align: top; }
.nm-prose thead th { background: var(--nm-navy-900); color: #fff; font-size: 13px; letter-spacing: .05em; text-transform: uppercase; font-weight: 700; }
.nm-prose .nm-table { position: relative; overflow-x: auto; margin: 1.6em 0; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); }
.nm-prose .nm-table table { margin: 0; min-width: 520px; }
.nm-prose .nm-table tr:last-child td, .nm-prose .nm-table tr:last-child th { border-bottom: 0; }
.nm-prose .nm-table tbody th { background: var(--nm-mist); font-weight: 600; color: var(--nm-ink); }

/* Reading aids */
.nm-disclosure { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 24px; padding: 12px 14px; background: var(--nm-mist); border-radius: var(--nm-radius-sm); font-size: 13.5px; line-height: 1.5; color: var(--nm-muted); }
.nm-disclosure .nm-ico { margin-top: 2px; color: var(--nm-navy-700); }

.nm-quick { margin: 0 0 1.8em; padding: 20px 22px; background: var(--nm-blue-50); border: 1px solid #cfdff5; border-left: 4px solid var(--nm-blue-600); border-radius: var(--nm-radius); }
.nm-quick__label { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--nm-navy-700); }
.nm-quick__body { font-size: 1.06em; color: var(--nm-ink); }
.nm-quick__body p:last-child { margin-bottom: 0; }

.nm-takeaways { margin: 1.8em 0; padding: 20px 22px; background: var(--nm-gold-50); border: 1px solid #ecdca0; border-radius: var(--nm-radius); }
.nm-takeaways__label { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--nm-gold-700); }
.nm-takeaways ul { margin: 0; padding-left: 1.15em; }
.nm-takeaways li:last-child { margin-bottom: 0; }

.nm-callout { margin: 1.8em 0; padding: 16px 20px; border: 1px solid var(--nm-line); border-left: 4px solid var(--nm-navy-700); border-radius: var(--nm-radius); background: #fff; font-size: 16.5px; }
.nm-callout__title { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-weight: 700; color: var(--nm-ink); font-size: 15.5px; }
.nm-callout__body p:last-child { margin-bottom: 0; }
.nm-callout--tip { border-left-color: var(--nm-green); background: var(--nm-green-50); border-color: #cfe6d9; }
.nm-callout--tip .nm-callout__title .nm-ico { color: var(--nm-green); }
.nm-callout--warning { border-left-color: var(--nm-red); background: var(--nm-red-50); border-color: #f1d2ce; }
.nm-callout--warning .nm-callout__title .nm-ico { color: var(--nm-red); }
.nm-callout--official { border-left-color: var(--nm-gold); background: var(--nm-gold-50); border-color: #ecdca0; }
.nm-callout--official .nm-callout__title .nm-ico { color: var(--nm-gold-700); }

.nm-sources { margin: 2.6em 0 0; padding: 22px; background: var(--nm-mist); border-radius: var(--nm-radius); font-size: 15.5px; }
.nm-prose .nm-sources__title { margin: 0 0 6px; font-family: var(--nm-font-ui); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; }
.nm-sources__reviewed { margin: 0 0 12px; color: var(--nm-muted); font-size: 14px; }
.nm-sources ul, .nm-sources ol { margin: 0; padding-left: 1.15em; }
.nm-sources li { margin-bottom: .5em; }

.nm-faq { margin: 2.4em 0 0; }
.nm-faq__title { margin-bottom: .7em; }
.nm-faq__item { border-top: 1px solid var(--nm-line); }
.nm-faq__item:last-child { border-bottom: 1px solid var(--nm-line); }
.nm-faq__item summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 2px; cursor: pointer; font-weight: 600; color: var(--nm-ink); list-style: none; font-size: 1.04em; }
.nm-faq__item summary::-webkit-details-marker { display: none; }
.nm-faq__item summary .nm-ico { margin-top: 4px; color: var(--nm-muted); transition: transform .15s ease; }
.nm-faq__item[open] summary .nm-ico { transform: rotate(180deg); }
.nm-faq__a { padding: 0 2px 18px; color: var(--nm-body); }
.nm-faq__a p:last-child { margin: 0; }

/* End of article */
.nm-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 32px 0 0; padding: 0; }
.nm-tags a { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--nm-mist); color: var(--nm-body); font-size: 13.5px; text-decoration: none; }
.nm-tags a:hover { background: var(--nm-blue-100); color: var(--nm-navy-800); }
.nm-endcap { display: grid; gap: 18px; margin-top: 36px; padding: 20px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); }
.nm-helpful { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.nm-helpful__q { margin: 0; font-weight: 700; color: var(--nm-ink); }
.nm-helpful__btns { display: flex; gap: 8px; }
.nm-helpful__msg { margin: 0; flex-basis: 100%; font-size: 14.5px; color: var(--nm-green); font-weight: 600; }
.nm-helpful__msg:empty { display: none; }
.nm-share { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 16px 0 0; border-top: 1px solid var(--nm-line); }
.nm-share__btn { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 6px 12px; border: 0; border-radius: var(--nm-radius-sm); background: transparent; color: var(--nm-muted); font-size: 14px; font-weight: 600; text-decoration: none; }
.nm-share__btn:hover { background: var(--nm-mist); color: var(--nm-ink); }
.nm-author { display: grid; grid-template-columns: auto 1fr; gap: 18px; margin-top: 28px; padding: 22px; background: var(--nm-mist); border-radius: var(--nm-radius); }
.nm-author__avatar img, .nm-author__avatar svg { display: block; border-radius: 50%; }
.nm-author p { margin: 0; }
.nm-author__label { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--nm-muted); }
.nm-author__name { font-family: var(--nm-font-head); font-size: 1.25rem; font-weight: 700; color: var(--nm-ink); }
.nm-author__bio { margin-top: 6px !important; font-size: 15px; line-height: 1.55; }
.nm-author__links { margin-top: 10px !important; font-size: 14px; }
.nm-pagelinks { margin-top: 24px; font-weight: 600; }

/* ============================================================
   10 · BUYING-GUIDE COMPONENTS
   ============================================================ */
.nm-product { margin: 2.2em 0; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); overflow: hidden; font-size: 16px; line-height: 1.6; }
.nm-product__head { padding: 20px 22px 0; }
.nm-product__badge { display: inline-block; margin-bottom: 10px; padding: 4px 10px; border-radius: 3px; background: var(--nm-navy-900); color: var(--nm-gold); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nm-prose .nm-product__name { margin: 0; font-size: 1.45rem; }
.nm-product__price { margin: 6px 0 0; font-size: 14px; color: var(--nm-muted); font-weight: 600; }
.nm-product__price span { color: var(--nm-green); letter-spacing: .05em; }
.nm-product__main { display: grid; gap: 18px; padding: 14px 22px 4px; }
.nm-product__img img { width: 100%; max-width: 240px; border-radius: var(--nm-radius-sm); }
.nm-product__summary { margin: 0 0 .7em; }
.nm-product__for { margin: 0 0 .7em; padding: 10px 12px; background: var(--nm-mist); border-radius: var(--nm-radius-sm); font-size: 15.5px; }
.nm-product__features { margin: 0; padding-left: 1.15em; font-size: 15.5px; }
.nm-product__features li { margin-bottom: .3em; }
.nm-proscons { display: grid; gap: 0; border-top: 1px solid var(--nm-line); margin-top: 16px; }
.nm-proscons__col { padding: 16px 22px; }
.nm-proscons__col + .nm-proscons__col { border-top: 1px solid var(--nm-line); }
.nm-prose .nm-proscons h4 { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; font-family: var(--nm-font-ui); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.nm-proscons__col--pro h4 { color: var(--nm-green); }
.nm-proscons__col--con h4 { color: var(--nm-red); }
.nm-proscons ul { list-style: none; margin: 0; padding: 0; font-size: 15.5px; }
.nm-proscons li { position: relative; padding-left: 18px; margin-bottom: .4em; }
.nm-proscons li::before { content: ""; position: absolute; left: 2px; top: .68em; width: 7px; height: 2px; border-radius: 2px; background: currentColor; opacity: .5; }
.nm-product__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 16px 22px; background: var(--nm-mist); border-top: 1px solid var(--nm-line); }
.nm-product__note { font-size: 12.5px; color: var(--nm-muted); }
.nm-cta-row { margin: 1.4em 0; }
@media (min-width: 700px) {
	.nm-product__main { grid-template-columns: auto 1fr; }
	.nm-product__main > .nm-product__info:only-child { grid-column: 1 / -1; }
	.nm-proscons { grid-template-columns: 1fr 1fr; }
	.nm-proscons__col + .nm-proscons__col { border-top: 0; border-left: 1px solid var(--nm-line); }
}

.nm-compare { position: relative; margin: 1.8em 0 .5em; overflow-x: auto; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); -webkit-overflow-scrolling: touch; }
.nm-prose .nm-compare table { margin: 0; min-width: 680px; font-size: 15px; }
.nm-compare caption { caption-side: top; padding: 12px 14px; text-align: left; font-weight: 700; color: var(--nm-ink); }
.nm-compare tbody th { font-weight: 700; color: var(--nm-ink); min-width: 170px; }
.nm-compare tbody tr:last-child th, .nm-compare tbody tr:last-child td { border-bottom: 0; }
.nm-compare tbody tr:nth-child(even) { background: #fafbfc; }
.nm-compare td { vertical-align: middle; }
.nm-compare__pick { display: block; margin-bottom: 3px; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--nm-gold-700); }
.nm-compare__level { color: var(--nm-muted); font-size: 13.5px; }
.nm-compare td span[aria-hidden] { color: var(--nm-green); font-weight: 700; letter-spacing: .05em; }
.nm-compare .nm-btn { white-space: nowrap; }
.nm-compare__hint { margin: 0 0 1.8em; font-size: 13px; color: var(--nm-muted); }

.nm-embed-posts { margin: 2.2em 0; }
.nm-embed-posts .nm-card__title { font-family: var(--nm-font-head); font-size: 1.12rem; margin: 0; }
.nm-credits { font-size: 15.5px; }

/* ============================================================
   11 · TOOLS
   ============================================================ */
.nm-tool { margin: 1.6em 0 2.2em; padding: 22px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); font-size: 16px; line-height: 1.55; }
.nm-prose .nm-tool__title, .nm-prose .nm-checklist__title { margin: 0 0 .4em; font-size: 1.5rem; }
.nm-tool__fine { margin: 18px 0 0; font-size: 13px; color: var(--nm-muted); }
.nm-tool__source { margin: 16px 0 0; font-size: 14px; color: var(--nm-muted); }
.nm-tool__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.nm-tool__result { margin-top: 20px; padding: 18px; background: var(--nm-blue-50); border: 1px solid #cfdff5; border-radius: var(--nm-radius); }
.nm-tool__result h3 { margin: 0 0 .5em !important; font-family: var(--nm-font-ui); font-size: 1.05rem !important; }
.nm-tool__result table { margin: 10px 0 0 !important; font-size: 15px; background: #fff; border-radius: var(--nm-radius-sm); overflow: hidden; }
.nm-tool__big { display: flex; flex-wrap: wrap; gap: 10px 28px; margin: 0 0 6px; padding: 0; list-style: none; }
.nm-tool__big li { margin: 0; }
.nm-tool__big strong { display: block; font-family: var(--nm-font-head); font-size: 1.7rem; line-height: 1.1; color: var(--nm-navy-800); }
.nm-tool__big span { font-size: 13px; color: var(--nm-muted); }

.nm-form--grid { display: grid; gap: 14px; grid-template-columns: 1fr; align-items: end; }
.nm-field label { display: block; margin-bottom: 5px; font-size: 14px; font-weight: 600; color: var(--nm-ink); }
.nm-field input, .nm-field select, .nm-study__table select { width: 100%; min-height: 46px; padding: 9px 12px; border: 1.5px solid #c5cdda; border-radius: var(--nm-radius-sm); background: #fff; font-size: 16px; }
.nm-field input:focus, .nm-field select:focus, .nm-study__table select:focus { border-color: var(--nm-navy-700); outline: 3px solid rgba(27, 92, 184, .2); outline-offset: 0; }
.nm-field--inline { max-width: 420px; margin-bottom: 14px; }
@media (min-width: 620px) { .nm-form--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nm-pace .nm-form--grid { grid-template-columns: 2fr 1fr 1fr auto; } }

.nm-tabs { position: relative; display: flex; gap: 6px; overflow-x: auto; margin: -4px -4px 18px; padding: 4px; }
.nm-tabs__tab { flex: none; min-height: 42px; padding: 8px 16px; border: 1.5px solid var(--nm-line); border-radius: 999px; background: #fff; color: var(--nm-body); font-size: 14.5px; font-weight: 600; }
.nm-tabs__tab[aria-selected="true"] { background: var(--nm-navy-800); border-color: var(--nm-navy-800); color: #fff; }
.nm-checklist__head p { margin-bottom: .8em; color: var(--nm-muted); }
.nm-progressbar { height: 8px; border-radius: 999px; background: var(--nm-line); overflow: hidden; }
.nm-progressbar span { display: block; height: 100%; width: 0; background: var(--nm-green); border-radius: 999px; transition: width .2s ease; }
.nm-checklist__count { margin: 6px 0 0 !important; font-size: 13.5px; font-weight: 600; color: var(--nm-muted); }
.nm-checklist__group { margin: 22px 0 0; padding: 0; border: 0; min-width: 0; }
.nm-checklist__group legend { padding: 0; margin-bottom: 4px; font-size: 13px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--nm-navy-700); }
.nm-prose .nm-checklist__group ul { list-style: none; margin: 0; padding: 0; }
.nm-prose .nm-checklist__group li { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 12px; align-items: start; margin: 0; padding: 11px 0; border-bottom: 1px solid var(--nm-line); }
.nm-checklist__group input[type="checkbox"] { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--nm-navy-800); }
.nm-checklist__group label { cursor: pointer; }
.nm-checklist__label { display: block; color: var(--nm-ink); font-weight: 500; }
.nm-checklist__note { display: block; font-size: 13.5px; color: var(--nm-muted); }
.nm-checklist__group input:checked + label .nm-checklist__label { text-decoration: line-through; color: var(--nm-muted); }
.nm-checklist__link { font-size: 13px; font-weight: 600; white-space: nowrap; padding-top: 3px; }

.nm-study__table { margin: 18px 0 0 !important; }
.nm-study__table th, .nm-study__table td { padding: 8px 10px 8px 0 !important; }
.nm-study__table thead th { background: transparent !important; color: var(--nm-muted) !important; }
.nm-study__table tbody th { font-weight: 500; }
.nm-study__table td { width: 150px; }
.nm-bar { display: block; height: 8px; border-radius: 999px; background: var(--nm-navy-700); min-width: 4px; }

.nm-careers__count { font-size: 14px; color: var(--nm-muted); }
.nm-careers__grid { display: grid; gap: 14px; }
.nm-career { padding: 18px; border: 1px solid var(--nm-line); border-radius: var(--nm-radius); background: #fff; }
.nm-prose .nm-career__title { margin: 0 0 .3em; font-size: 1.18rem; }
.nm-career p { margin: 0 0 .7em; font-size: 15px; }
.nm-career__label { font-size: 12px !important; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--nm-muted); margin-bottom: 4px !important; }
.nm-prose .nm-career ul { margin: 0; padding-left: 1.1em; font-size: 14.5px; }
.nm-prose .nm-career li { margin-bottom: .2em; }
@media (min-width: 700px) { .nm-careers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nm-convert__out { margin: 14px 0 0; font-family: var(--nm-font-head); font-size: 1.5rem; font-weight: 700; color: var(--nm-navy-800); }
.nm-page--tool .nm-wrap--text { max-width: 900px; }

/* Stray empty paragraphs left around shortcodes by automatic paragraphing. */
.nm-prose p:empty, .nm-quick__body p:empty, .nm-callout__body p:empty { display: none; }

/* Contact form */
.nm-mt-sm { margin-top: 14px; }
.nm-field textarea { width: 100%; padding: 10px 12px; border: 1.5px solid #c5cdda; border-radius: var(--nm-radius-sm); background: #fff; font-size: 16px; line-height: 1.5; resize: vertical; }
.nm-field textarea:focus { border-color: var(--nm-navy-700); outline: 3px solid rgba(27, 92, 184, .2); outline-offset: 0; }
.nm-contact__msg { margin: 14px 0 0; font-weight: 600; color: var(--nm-green); }
.nm-contact__msg:empty { display: none; }
.nm-contact__msg.is-error { color: var(--nm-red); }

/* ============================================================
   12 · FOOTER
   ============================================================ */
.nm-footer { background: var(--nm-navy-900); color: #b6c2d6; padding-block: 52px 28px; font-size: 14.5px; }
.nm-footer a { color: #d5ddea; text-decoration: none; }
.nm-footer a:hover { color: #fff; text-decoration: underline; }
.nm-footer__grid { display: grid; gap: 32px; grid-template-columns: 1fr; }
.nm-footer__brand p { margin: 14px 0 0; max-width: 44ch; line-height: 1.55; }
.nm-footer__indep { font-size: 13px; color: #94a3bd; }
.nm-footer__col h2 { margin: 0 0 12px; font-family: var(--nm-font-ui); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.nm-footer__col ul { list-style: none; margin: 0; padding: 0; }
.nm-footer__col li { padding-block: 5px; line-height: 1.4; }
.nm-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 13.5px; }
.nm-footer__bottom p { margin: 0; }
.nm-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; margin: 0; padding: 0; }
.nm-footer__dod { margin: 14px 0 0; font-size: 12px; color: #8493ad; }
@media (min-width: 620px) { .nm-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nm-footer__brand { grid-column: 1 / -1; } }
@media (min-width: 1000px) { .nm-footer__grid { grid-template-columns: 1.7fr repeat(4, minmax(0, 1fr)); gap: 36px; } .nm-footer__brand { grid-column: auto; } }

.nm-comments { margin-top: 40px; }

/* ============================================================
   13 · MOTION + PRINT
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media print {
	.nm-topbar, .nm-header, .nm-readbar, .nm-footer, .nm-newsletter, .nm-article__side, .nm-endcap, .nm-author, .nm-section--mist, .nm-section--navy,
	.nm-tool__actions, .nm-tabs, .nm-checklist__link, .nm-toc, .nm-disclosure, .nm-crumbs, .nm-btn, #wpadminbar { display: none !important; }
	body { font-size: 11.5pt; color: #000; }
	.nm-article__layout { display: block; padding: 0; }
	.nm-article__main, .nm-wrap { max-width: none; }
	.nm-tool, .nm-product { border: 1px solid #999; box-shadow: none; }
	.nm-checklist__group li { break-inside: avoid; }
	a { color: #000; text-decoration: none; }
}
