/* NaCSBA Self Build Hub - single guide template styles, scoped to .nacsba-article */

.nacsba-article {
	--nh-teal: #123E4B;
	--nh-teal-light: #2a5568;
	--nh-gold: #B29146;
	--nh-blue: #009FE3;
	--nh-offwhite: #F5F3EF;
	--nh-text: #1a1a1a;
	--nh-muted: #5a6472;
	--nh-border: #ddd8cf;
	--nh-cat: #123E4B;
	background: var(--nh-offwhite);
	color: var(--nh-text);
	line-height: 1.7;
}
.nacsba-article *,
.nacsba-article *::before,
.nacsba-article *::after {
	box-sizing: border-box;
}

/* Secondary hub tab bar */
.nacsba-article .nh-hubbar {
	background: var(--nh-teal-light);
}
.nacsba-article .nh-hubbar-inner {
	display: flex;
	flex-wrap: wrap;
	max-width: 1252px;
	margin: 0 auto;
}
.nacsba-article .nh-hubtab {
	color: rgba(255, 255, 255, 0.65);
	padding: 10px 16px;
	text-decoration: none;
	border-bottom: 2px solid transparent;
}
.nacsba-article .nh-hubtab:hover {
	color: #fff;
}
.nacsba-article .nh-hubtab.is-active {
	color: #fff;
	border-bottom-color: var(--nh-gold);
}

/* Hero */
.nacsba-article .nh-hero {
	background: var(--nh-teal);
	padding: 2rem 0 1.75rem;
}
.nacsba-article .nh-hero-inner {
	max-width: 1252px;
	margin: 0 auto;
}

.nacsba-article .nh-cat-pill {
	display: inline-block;
	background: rgba(178, 145, 70, 0.3);
	color: #e8cb82;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 3px 10px;
	border-radius: 2px;
	margin-bottom: 0.75rem;
}
.nacsba-article .nh-hero h1 {
	line-height: 1.3;
	margin: 0 0 0.5rem;
	color: #fff;
}
.nacsba-article .nh-standfirst {
	color: rgba(255, 255, 255, 0.72);
	max-width: 620px;
	line-height: 1.6;
	margin: 0;
}

/* Two-column body */
.nacsba-article .nh-page-body {
	max-width: 1252px;
	margin: 0 auto;
	padding: 2rem 0;
	display: grid;
	grid-template-columns: 1fr 270px;
	gap: 2.5rem;
	align-items: start;
}
@media (max-width: 820px) {
	.nacsba-article .nh-page-body {
		grid-template-columns: 1fr;
		gap: 1.75rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.nacsba-article .nh-hero-inner,
	.nacsba-article .nh-hubbar-inner,
	.nacsba-breadcrumb {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
}

/* Jump links */
.nacsba-article .nh-jump {
	background: #fff;
	border: 1px solid var(--nh-border);
	border-radius: 3px;
	padding: 1rem 1.25rem;
	margin-bottom: 1.75rem;
}
.nacsba-article .nh-jump h4 {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--nh-muted);
	margin: 0 0 0.6rem;
}
.nacsba-article .nh-jump ol {
	padding-left: 1.2rem;
	margin: 0;
}
.nacsba-article .nh-jump li {
	margin-bottom: 4px;
}
.nacsba-article .nh-jump a {
	color: var(--nh-blue);
	text-decoration: none;
}
.nacsba-article .nh-jump a:hover {
	text-decoration: underline;
}

/* Body typography */
.nacsba-article .nh-body h2 {
	color: var(--nh-teal);
	margin: 2rem 0 0.75rem;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--nh-border);
	scroll-margin-top: 1rem;
}
.nacsba-article .nh-body h3 {
	margin: 1.25rem 0 0.5rem;
}
.nacsba-article .nh-body p {
	margin: 0 0 1rem;
	line-height: 1.75;
}
.nacsba-article .nh-body ul,
.nacsba-article .nh-body ol {
	margin: 0 0 1rem 1.25rem;
}
.nacsba-article .nh-body li {
	margin-bottom: 0.4rem;
	line-height: 1.65;
}
.nacsba-article .nh-body a {
	color: var(--nh-blue);
}

/* Callouts and disclaimer (shortcodes) */
.nacsba-article .nh-callout {
	background: #e8f5fc;
	border-left: 3px solid var(--nh-blue);
	padding: 0.9rem 1.1rem;
	margin: 1.25rem 0;
	border-radius: 0 3px 3px 0;
}
.nacsba-article .nh-callout-warning {
	background: #fdf6e3;
	border-left-color: var(--nh-gold);
}
.nacsba-article .nh-callout p {
	margin: 0;
	color: #1a2a36;
	line-height: 1.6;
}
.nacsba-article .nh-callout strong {
	color: var(--nh-teal);
}
.nacsba-article .nh-disclaimer {
	background: var(--nh-offwhite);
	border: 1px solid var(--nh-border);
	border-radius: 3px;
	padding: 0.9rem 1.1rem;
	margin: 2rem 0 1.5rem;
	color: var(--nh-muted);
	font-style: italic;
	line-height: 1.6;
}
.nacsba-article .nh-disclaimer p {
	margin: 0;
}

/* Lead capture */
.nacsba-article .nh-lead-capture {
	background: var(--nh-teal);
	border-radius: 4px;
	padding: 1.75rem;
	margin: 2rem 0 0;
}
.nacsba-article .nh-lead-capture h3 {
	color: #fff;
	margin: 0 0 0.4rem;
}
.nacsba-article .nh-lead-capture p {
	color: rgba(255, 255, 255, 0.72);
	margin: 0 0 1.1rem;
	line-height: 1.5;
}

/* Next article */
.nacsba-article .nh-next {
	background: var(--nh-teal);
	color: #fff;
	padding: 1rem 1.25rem;
	border-radius: 3px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 1.5rem;
	text-decoration: none;
}
.nacsba-article .nh-next-text span {
	color: rgba(255, 255, 255, 0.6);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.nacsba-article .nh-next-text strong {
	color: #fff;
	display: block;
	margin-top: 3px;
}
.nacsba-article .nh-next-arrow {
	color: var(--nh-gold);
	line-height: 1;
}

/* Sidebar */
.nacsba-article .nh-widget {
	background: #fff;
	border: 1.5px solid #e4e4e4;
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 16px;
}
.nacsba-article .nh-widget h4 {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 10px;
	font-weight: 700;
	color: var(--nh-gold);
	margin: 0 0 0.75rem;
}
.nacsba-article .nh-dir-cta {
	background: #f5f6f7;
	border: 1.5px solid #e4e4e4;
	border-radius: 10px;
	padding: 24px 20px 20px;
	margin-bottom: 16px;
	text-align: center;
}
.nacsba-article .nh-dir-cta p {
	color: #555;
	margin: 0 0 16px;
	line-height: 1.5;
	font-size: 13px;
}
.nacsba-article .nh-dir-cta a {
	display: block;
	width: 100%;
	background: var(--nh-teal);
	color: #fff !important;
	padding: 11px 16px;
	border-radius: 8px;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 700;
	box-sizing: border-box;
}
.nacsba-article .nh-dir-cta a:hover {
	background: #0c2e38;
	color: #fff !important;
}
.nacsba-article .nh-related {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 0.85rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid #e4e4e4;
}
.nacsba-article .nh-related:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.nacsba-article .nh-related-cat {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 10px;
	font-weight: 700;
	color: var(--nh-gold);
	display: block;
	margin-bottom: 4px;
}
.nacsba-article .nh-related a {
	color: var(--nh-teal) !important;
	text-decoration: none !important;
	line-height: 1.4;
	display: block;
	font-size: 14px;
	font-weight: 500;
}
.nacsba-article .nh-related a:hover {
	color: var(--nh-teal) !important;
	text-decoration: underline !important;
}
.nacsba-article .nh-related-arrow {
	color: var(--nh-gold);
	flex-shrink: 0;
	margin-top: 2px;
}
.nacsba-article .nh-tags {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.nacsba-article .nh-tag {
	background: var(--nh-offwhite);
	border: 1px solid var(--nh-border);
	color: var(--nh-muted);
	padding: 3px 9px;
	border-radius: 2px;
}
.nacsba-article .nh-about {
	color: var(--nh-muted);
	line-height: 1.6;
	margin: 0;
}

/* =====================================================
   Sidebar guide CTA
   ===================================================== */
.nh-guide-cta {
	background: #123E4B;
	border-radius: 10px;
	padding: 24px 20px 20px;
	margin-bottom: 20px;
	color: #fff;
}
.nh-guide-cta-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #B29146;
	margin-bottom: 8px;
}
.nh-guide-cta-heading {
	font-size: 15px;
	font-weight: 700;
	color: #fff !important;
	margin-bottom: 8px;
	line-height: 1.3;
}
.nh-guide-cta-desc {
	font-size: 12px;
	color: rgba(255,255,255,0.75);
	margin-bottom: 16px;
	line-height: 1.5;
}
.nh-guide-cta-btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 11px 16px;
	background: #B29146;
	border-radius: 8px;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	margin-bottom: 8px;
	box-sizing: border-box;
}
.nh-guide-cta-btn:hover {
	background: #9a7c38;
	color: #fff !important;
}
.nh-guide-cta-note {
	font-size: 11px;
	color: rgba(255,255,255,0.5);
	text-align: center;
	margin: 0;
}

/* =====================================================
   Mid-article CTA panel
   ===================================================== */
.nh-mid-cta {
	background: #123E4B;
	border-radius: 10px;
	padding: 24px 28px;
	margin: 2rem 0;
	color: #fff;
}
.nh-mid-cta-inner {
	display: flex;
	align-items: center;
	gap: 28px;
}
.nh-mid-cta-text {
	flex: 1;
}
.nh-mid-cta-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #B29146;
	margin-bottom: 6px;
}
.nh-mid-cta-heading {
	font-size: 18px;
	font-weight: 700;
	color: #fff !important;
	margin-bottom: 8px;
	line-height: 1.3;
}
.nh-mid-cta-desc {
	font-size: 13px;
	color: rgba(255,255,255,0.75);
	margin: 0;
	line-height: 1.5;
}
.nh-mid-cta-action {
	flex: 0 0 200px;
	text-align: center;
}
.nh-mid-cta-btn {
	display: block;
	padding: 12px 20px;
	background: #B29146;
	border-radius: 8px;
	color: #fff !important;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none !important;
	margin-bottom: 8px;
	white-space: nowrap;
}
.nh-mid-cta-btn:hover {
	background: #9a7c38;
	color: #fff !important;
}
.nh-mid-cta-note {
	font-size: 11px;
	color: rgba(255,255,255,0.5);
	margin: 0;
}
@media (max-width: 640px) {
	.nh-mid-cta-inner {
		flex-direction: column;
		gap: 16px;
	}
	.nh-mid-cta-action {
		flex: none;
		width: 100%;
	}
}

/* =====================================================
   Content gate
   ===================================================== */
.nh-gated-wrap {
	position: relative;
}
.nh-gated-preview {
	max-height: 120px;
	overflow: hidden;
	mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
	-webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
	pointer-events: none;
	user-select: none;
}
.nh-gate {
	background: #fff;
	border: 1.5px solid #e4e4e4;
	border-radius: 12px;
	padding: 36px 32px;
	text-align: center;
	margin-top: 0;
}
.nh-gate-lock {
	font-size: 28px;
	display: block;
	margin-bottom: 12px;
}
.nh-gate h3 {
	font-size: 20px;
	font-weight: 700;
	color: #123E4B !important;
	margin-bottom: 10px;
}
.nh-gate p {
	font-size: 13.5px;
	color: #666;
	max-width: 480px;
	margin: 0 auto 24px;
	line-height: 1.6;
}
.nh-gate-buttons {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.nh-gate-btn-register {
	display: inline-block;
	padding: 12px 24px;
	background: #123E4B;
	border-radius: 8px;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}
.nh-gate-btn-register:hover {
	background: #0c2e38;
	color: #fff !important;
}
.nh-gate-btn-login {
	display: inline-block;
	padding: 12px 24px;
	background: transparent;
	border: 2px solid #123E4B;
	border-radius: 8px;
	color: #123E4B !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}
.nh-gate-btn-login:hover {
	background: #f0f5f6;
	color: #123E4B !important;
}
.nh-gate-note {
	font-size: 12px;
	color: #999;
	margin: 0 !important;
}

.nacsba-breadcrumb {
    padding: 8px 0;
    max-width: 1252px;
    margin: 0 auto;
}
.nacsba-breadcrumb,
.nacsba-breadcrumb a,
.nacsba-breadcrumb span {
    font-size: 12px;
    color: #7a8a92;
    text-decoration: none;
    font-family: Poppins, sans-serif;
}
.nacsba-breadcrumb a:hover { color: #123E4B; }