/* NEFCORE Insights front end. Dark navy design to match the site; uses the theme header and footer. */
.nc-wrap { --nc-bg: #061826; --nc-panel: #0a2236; --nc-line: #16384f; --nc-text: #dbe7ef; --nc-mut: #9db4c4; --nc-acc: #1c82ad; --nc-acc2: #4fb3dd;
	background: var(--nc-bg); color: var(--nc-text); font-family: Poppins, system-ui, sans-serif; line-height: 1.7; padding: 72px max(16px, calc((100% - 1160px) / 2)); }
.nc-wrap a { color: var(--nc-acc2); }
.nc-wrap h1, .nc-wrap h2, .nc-wrap h3 { color: #fff; font-weight: 400; line-height: 1.2; }
.nc-head { margin-bottom: 36px; max-width: 820px; }
.nc-head h1 { font-size: clamp(30px, 4.4vw, 52px); font-weight: 300; margin: 10px 0 14px; }
.nc-eyebrow { font-family: "IBM Plex Mono", monospace; font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--nc-acc2); margin: 0; }
.nc-eyebrow a { text-decoration: none; }
.nc-lead { font-size: 18px; color: var(--nc-mut); }
.nc-meta { font-size: 13.5px; color: var(--nc-mut); margin: 8px 0 0; }
.nc-crumbs { font-size: 13px; color: var(--nc-mut); margin-bottom: 24px; }

.nc-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.nc-topics a { border: 1px solid var(--nc-line); padding: 6px 16px; text-decoration: none; font-size: 14px; color: var(--nc-text); }
.nc-topics a[aria-current] { background: var(--nc-acc); border-color: var(--nc-acc); color: #fff; }

.nc-chip { display: inline-block; font-family: "IBM Plex Mono", monospace; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; border: 1px solid var(--nc-line); color: var(--nc-acc2); padding: 3px 10px; }

.nc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 22px; }
.nc-card-post { background: var(--nc-panel); border: 1px solid var(--nc-line); display: flex; flex-direction: column; }
.nc-card-media { display: block; aspect-ratio: 16 / 10; background: #06182a; overflow: hidden; }
.nc-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-card-body { padding: 22px; }
.nc-card-body h3 { font-size: 20px; margin: 12px 0 8px; }
.nc-card-body h3 a { color: #fff; text-decoration: none; }
.nc-card-body p { font-size: 15px; color: var(--nc-mut); margin: 0 0 8px; }

.nc-featured { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; border: 1px solid var(--nc-line); background: var(--nc-panel); margin-bottom: 30px; }
.nc-featured-media img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 280px; }
.nc-featured-body { padding: 36px; }
.nc-featured-body h2 { font-size: 28px; margin: 14px 0 12px; }
.nc-featured-body h2 a { color: #fff; text-decoration: none; }

.nc-btn { display: inline-block; background: var(--nc-acc); color: #fff !important; padding: 12px 26px; text-decoration: none; font-size: 15px; }
.nc-btn:hover { background: #166a8e; }

.nc-pagination { margin-top: 36px; display: flex; gap: 8px; flex-wrap: wrap; }
.nc-pagination .page-numbers { border: 1px solid var(--nc-line); padding: 6px 14px; text-decoration: none; color: var(--nc-text); }
.nc-pagination .current { background: var(--nc-acc); border-color: var(--nc-acc); color: #fff; }

/* single article */
.nc-article { max-width: 780px; margin: 0 auto; }
.nc-cover { margin: 0 0 32px; }
.nc-cover img { width: 100%; height: auto; display: block; }
.nc-cover figcaption { font-size: 13px; color: var(--nc-mut); margin-top: 8px; }
.nc-content { font-size: 17.5px; }
.nc-content h2 { font-size: 28px; margin: 40px 0 14px; }
.nc-content h3 { font-size: 22px; margin: 30px 0 10px; }
.nc-content img { max-width: 100%; height: auto; }
.nc-content blockquote { border-left: 2px solid var(--nc-acc2); margin: 28px 0; padding: 4px 0 4px 22px; color: var(--nc-mut); }
.nc-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.nc-content th, .nc-content td { border: 1px solid var(--nc-line); padding: 10px 12px; text-align: left; }
.nc-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 36px 0; }
.nc-gallery-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-gallery-grid figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.nc-sources { border-top: 1px solid var(--nc-line); margin-top: 40px; padding-top: 8px; font-size: 14.5px; color: var(--nc-mut); }
.nc-sources h2 { font-size: 18px; }
.nc-tags a { margin-right: 12px; font-size: 14px; text-decoration: none; }
.nc-disclaimer { font-size: 13.5px; color: var(--nc-mut); border-top: 1px solid var(--nc-line); padding-top: 18px; margin-top: 30px; }
.nc-cta { max-width: 780px; margin: 56px auto 0; border: 1px solid var(--nc-line); background: var(--nc-panel); padding: 36px; }
.nc-cta h2 { font-size: 26px; margin-top: 0; }
.nc-related { margin-top: 64px; }
.nc-related h2 { font-size: 26px; margin-bottom: 22px; }
.nc-empty { color: var(--nc-mut); }

@media (max-width: 800px) {
	.nc-featured { grid-template-columns: 1fr; }
	.nc-wrap { padding-top: 48px; padding-bottom: 48px; }
}
