:root {
	--nb-bg: #0a0a0c;
	--nb-bg-alt: #111114;
	--nb-card: #151317;
	--nb-border: #2a2620;
	--nb-gold: #d4af37;
	--nb-gold-bright: #f0c953;
	--nb-text: #f2ede2;
	--nb-text-muted: #a9a49b;
}

* { box-sizing: border-box; }

body {
	background: var(--nb-bg);
	color: var(--nb-text);
	font-family: 'Segoe UI', Arial, sans-serif;
	margin: 0;
}

a { color: var(--nb-gold); text-decoration: none; }
a:hover { color: var(--nb-gold-bright); }

/* Bootstrap's own .form-label/.form-check-label/.form-select/<option> ship
   with no explicit color of their own on some builds and can otherwise
   inherit a light-theme default instead of our page text color — pin them
   explicitly so labels are never dark-on-dark. */
label,
.form-label,
.form-check-label {
	color: var(--nb-text);
}
.form-control,
.form-select {
	background: var(--nb-bg);
	color: var(--nb-text);
	border: 1px solid #3a3a3e;
}
.form-control:focus,
.form-select:focus {
	background: var(--nb-bg);
	color: var(--nb-text);
	border-color: var(--nb-gold);
	box-shadow: 0 0 0 .2rem rgba(212, 175, 55, .2);
}
.form-control::placeholder { color: var(--nb-text-muted); opacity: 1; }
.form-select option { background: var(--nb-bg); color: var(--nb-text); }

.nb-navbar {
	background: linear-gradient(180deg, #111114 0%, #0a0a0c 100%);
	border-bottom: 1px solid var(--nb-border);
}

.nb-navbar .navbar-brand {
	color: var(--nb-gold) !important;
	font-weight: 800;
	letter-spacing: .05em;
}

.nb-navbar .nav-link {
	color: var(--nb-text) !important;
	font-size: .92rem;
}

.nb-navbar .nav-link:hover,
.nb-navbar .nav-link.active {
	color: var(--nb-gold) !important;
}

.btn-nb-gold {
	background: linear-gradient(180deg, var(--nb-gold-bright), var(--nb-gold));
	border: none;
	color: #0a0a0c;
	font-weight: 700;
	border-radius: 8px;
}
.btn-nb-gold:hover { color: #0a0a0c; filter: brightness(1.08); }

.btn-nb-outline {
	border: 1px solid var(--nb-gold);
	color: var(--nb-gold);
	border-radius: 8px;
	background: transparent;
}
.btn-nb-outline:hover { background: var(--nb-gold); color: #0a0a0c; }

.nb-hero {
	background:
		radial-gradient(ellipse at top right, rgba(212,175,55,.12), transparent 60%),
		var(--nb-bg);
	padding: 5rem 0 4rem;
	border-bottom: 1px solid var(--nb-border);
}

.nb-hero h1 {
	font-size: 2.6rem;
	font-weight: 800;
	color: #fff;
}
.nb-hero h1 span { color: var(--nb-gold); }
.nb-hero p.lead { color: var(--nb-text-muted); max-width: 640px; }

.nb-section { padding: 3.5rem 0; }
.nb-section h2 {
	color: var(--nb-gold);
	font-weight: 800;
	font-size: 1.7rem;
	margin-bottom: .5rem;
}
.nb-section .section-sub { color: var(--nb-text-muted); margin-bottom: 2rem; }

.nb-card {
	background: var(--nb-card);
	border: 1px solid var(--nb-border);
	border-radius: 14px;
	padding: 1.75rem;
	height: 100%;
}
.nb-card h3 { color: var(--nb-gold); font-size: 1.1rem; font-weight: 700; }
.nb-card p { color: var(--nb-text-muted); margin-bottom: 0; }
.nb-card .nb-badge {
	display:inline-block; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase;
	color:#0a0a0c; background:var(--nb-gold); padding:.15rem .5rem; border-radius:999px; margin-bottom:.5rem;
}
.nb-card .nb-badge.nb-badge-pending {
	background: transparent; color: var(--nb-gold); border: 1px solid var(--nb-gold);
}

.nb-table { color: var(--nb-text); }
.nb-table th { color: var(--nb-gold); border-color: var(--nb-border) !important; }
.nb-table td { border-color: var(--nb-border) !important; }

.nb-roadmap-item {
	border-left: 2px solid var(--nb-gold);
	padding-left: 1.25rem;
	margin-bottom: 1.5rem;
}
.nb-roadmap-item .nb-milestone { color: var(--nb-gold); font-weight: 700; }

.nb-callout {
	background: rgba(212,175,55,.08);
	border: 1px solid rgba(212,175,55,.35);
	border-radius: 10px;
	padding: 1rem 1.25rem;
	color: var(--nb-text-muted);
	font-size: .92rem;
}

.nb-footer {
	background: #08080a;
	border-top: 1px solid var(--nb-border);
	color: var(--nb-text-muted);
	padding: 2.5rem 0;
	font-size: .88rem;
}
.nb-footer a { color: var(--nb-text-muted); }
.nb-footer a:hover { color: var(--nb-gold); }

.nb-page-content h2 { color: var(--nb-gold); font-weight: 800; margin-top: 2rem; }
.nb-page-content h3 { color: #fff; font-weight: 700; margin-top: 1.5rem; }
.nb-page-content p { color: var(--nb-text-muted); }
.nb-page-content ul li { color: var(--nb-text-muted); }

.nb-faq-item {
	border-bottom: 1px solid var(--nb-border);
	padding: 1rem 0;
}
.nb-faq-item summary { color: #fff; font-weight: 600; cursor: pointer; }
.nb-faq-item p { color: var(--nb-text-muted); margin: .6rem 0 0; }
