/* =========================================================
   The Nepali Comment — main stylesheet
   Crimson + Navy + Himalayan Gold + Parchment + Ink.
   Mobile-first. Dark mode via prefers-color-scheme + .nc-dark.
   Editorial typography: Lexend (display + body) + DM Mono (meta).
   No frameworks. ~one file, ~one mental model.
   ========================================================= */

/* ── Tokens ─────────────────────────────────────────────── */
:root {
	--nc-crimson: #C41E3A;
	--nc-crimson-light: #E8364F;
	--nc-crimson-pale: #FFF0F2;
	--nc-crimson-dark: #8B1226;

	--nc-navy: #003893;
	--nc-navy-light: #1A4DAA;
	--nc-navy-pale: #EDF2FF;
	--nc-navy-dark: #001F5C;

	--nc-gold: #C9A84C;
	--nc-gold-light: #F0D78C;
	--nc-gold-pale: #FDF6E3;

	--nc-himalaya: #7BA3BC;

	--nc-ink: #1A1A1A;
	--nc-ink-soft: #3D3D3D;
	--nc-ink-muted: #6B6B6B;

	--nc-parchment: #FAFAF8;
	--nc-parchment-mid: #F3F2EE;
	--nc-border: #E4E2DC;
	--nc-white: #FFFFFF;

	--nc-green: #1A7A45;
	--nc-green-pale: #EDFAF4;
	--nc-amber: #B45309;
	--nc-amber-pale: #FFF4E0;

	--nc-font-display: 'Lexend', system-ui, sans-serif;
	--nc-font-body: 'Lexend', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--nc-font-mono: 'DM Mono', ui-monospace, Menlo, monospace;

	--nc-r-sm: 3px;
	--nc-r-md: 4px;
	--nc-r-lg: 8px;

	--nc-sh-1: 0 1px 2px rgba(0,0,0,.04);
	--nc-sh-2: 0 4px 16px rgba(20,20,20,.08);

	--nc-comm-color: var(--nc-navy);

	--nc-bg: var(--nc-parchment);
	--nc-bg-card: var(--nc-white);
	--nc-bg-soft: var(--nc-parchment-mid);
	--nc-fg: var(--nc-ink);
	--nc-fg-soft: var(--nc-ink-soft);
	--nc-fg-muted: var(--nc-ink-muted);
	--nc-line: var(--nc-border);
	--nc-link: var(--nc-navy);

	--nc-shell: 1200px;
	--nc-shell-narrow: 760px;
	--nc-radius: 4px;
}

/* ── Color scheme ───────────────────────────────────────────
 * The Nepali Comment brand is LIGHT-ONLY by design — Parchment
 * page, Crimson primary, Ink text. We do NOT honor OS-level dark
 * mode because the page-level wrappers use the hp-* palette
 * (Parchment) which can't be inverted by token swaps alone, and
 * a half-dark/half-light render is worse than either.
 *
 * `color-scheme: light` tells the browser to use light defaults
 * for form controls, scrollbars, and autofill backgrounds (which
 * otherwise honor the OS preference and overlay dark autofill on
 * our white inputs). The legacy .nc-dark class is kept as a no-op
 * so any third-party code referencing it doesn't break.
 * --------------------------------------------------------- */
:root { color-scheme: light; }
html, body { background: var(--nc-bg); color: var(--nc-fg); }
.nc-dark {} /* deliberate no-op — see note above */

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	font-family: var(--nc-font-body);
	background: var(--nc-bg);
	color: var(--nc-fg);
	font-size: 15px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--nc-link); text-decoration: none; }
a:hover { text-decoration: underline; }
button { font: inherit; cursor: pointer; background: none; border: none; color: inherit; }
input, textarea, select { font: inherit; color: inherit; }
ul, ol { list-style: none; }
hr { border: 0; border-top: 1px solid var(--nc-line); }

.nc-vh {
	position: absolute !important; clip: rect(1px, 1px, 1px, 1px); padding: 0 !important;
	border: 0 !important; height: 1px !important; width: 1px !important; overflow: hidden;
}

.nc-skip {
	position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;
}
.nc-skip:focus {
	position: fixed; left: 1rem; top: 1rem; width: auto; height: auto;
	background: var(--nc-ink); color: #fff; padding: .5rem .75rem; border-radius: var(--nc-radius); z-index: 1000;
}

/* ── Layout shells ──────────────────────────────────────── */
.nc-shell { width: 100%; max-width: var(--nc-shell); margin: 0 auto; padding: 0 1rem; }
.nc-shell--narrow { max-width: var(--nc-shell-narrow); }
.nc-shell--thread { max-width: 1080px; }
.nc-shell--auth { max-width: 460px; padding: 3rem 1rem; }
@media (min-width: 768px) {
	.nc-shell { padding: 0 2rem; }
}

/* v1.15.5: bottom padding zeroed so the footer sits flush against the
 * last page section. Every public template ends in either a closing CTA
 * band (homepage, room, communities, experts) or a content list with its
 * own internal padding (single-thread comments, dashboards) — both
 * patterns looked broken with the legacy 96px parchment gap. Pages that
 * need a specific breathing-room can add their own margin-bottom. */
.nc-main { padding: 1.25rem 0 0; min-height: 60vh; }
@media (min-width: 768px) { .nc-main { padding: 2rem 0 0; } }

/* Avoid mobile bottom-nav overlap — the floating bottom nav is 64px tall
 * for logged-in users, so reserve that space. */
@media (max-width: 767px) {
	.nc-logged-in .nc-main { padding-bottom: 6rem; }
}

/* ── Typography ─────────────────────────────────────────── */
.nc-h1 { font-family: var(--nc-font-display); font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.1; color: var(--nc-fg); }
.nc-h1 em { font-style: italic; color: var(--nc-crimson); }
.nc-h2 { font-family: var(--nc-font-display); font-weight: 700; font-size: clamp(1.5rem, 3.5vw, 2.25rem); line-height: 1.15; color: var(--nc-fg); }
.nc-h2 em { font-style: italic; color: var(--nc-crimson); }
.nc-h3 { font-family: var(--nc-font-display); font-weight: 500; font-size: 1.25rem; color: var(--nc-fg); }

.nc-kicker {
	display: inline-block;
	font-family: var(--nc-font-mono);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--nc-crimson);
	margin-bottom: .5rem;
}
.nc-kicker--gold { color: var(--nc-gold); }

.nc-lede { font-size: 1.05rem; color: var(--nc-fg-soft); line-height: 1.7; max-width: 60ch; }
.nc-muted { color: var(--nc-fg-muted); font-size: .85rem; }

.nc-section-head {
	margin: 0 0 1.25rem;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .5rem 1rem;
}
.nc-section-head__link {
	margin-left: auto;
	font-family: var(--nc-font-mono);
	font-size: .8rem;
	letter-spacing: .04em;
	color: var(--nc-fg-muted);
}
.nc-section-head h1, .nc-section-head h2 { width: 100%; }
.nc-section-head .nc-kicker { margin-bottom: 0; }

/* ── Buttons ────────────────────────────────────────────── */
.nc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	font-family: var(--nc-font-body);
	font-weight: 500;
	font-size: .9rem;
	padding: .55rem 1rem;
	border-radius: var(--nc-r-sm);
	border: 1px solid transparent;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .05s ease;
	white-space: nowrap;
	line-height: 1.2;
}
.nc-btn:hover { text-decoration: none; }
.nc-btn:active { transform: translateY(1px); }
.nc-btn--primary { background: var(--nc-crimson); color: #fff; }
.nc-btn--primary:hover { background: var(--nc-crimson-dark); color: #fff; }
.nc-btn--ghost { background: transparent; color: var(--nc-fg); border-color: var(--nc-line); }
/* CRITICAL: always set both color AND background on the hover so we don't
 * inherit white text from a dark wrapper and end up with white-on-cream. */
.nc-btn--ghost:hover { background: var(--nc-bg-soft); color: var(--nc-fg); border-color: var(--nc-fg); }
.nc-btn--lg { padding: .85rem 1.5rem; font-size: 1rem; }
.nc-btn--sm { padding: .35rem .75rem; font-size: .82rem; }
.nc-btn--block { display: flex; width: 100%; }
.nc-btn[disabled] { opacity: .55; cursor: not-allowed; pointer-events: none; }

.nc-iconlink {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: var(--nc-fg-muted);
	font-size: .85rem;
	padding: .25rem .4rem;
	border-radius: var(--nc-r-sm);
	transition: color .15s ease, background .15s ease;
}
.nc-iconlink:hover { color: var(--nc-fg); background: var(--nc-bg-soft); text-decoration: none; }

.nc-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border-radius: 999px;
	color: var(--nc-fg-soft);
	position: relative;
}
.nc-icon-btn:hover { background: var(--nc-bg-soft); color: var(--nc-fg); text-decoration: none; }

/* ── Pills ──────────────────────────────────────────────── */
.nc-pill {
	display: inline-flex;
	align-items: center;
	font-family: var(--nc-font-mono);
	font-size: 10px;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 2px 7px;
	border-radius: 2px;
	border: 1px solid transparent;
	background: var(--nc-bg-soft);
	color: var(--nc-fg-muted);
}
.nc-pill--gold { background: var(--nc-gold-pale); color: #7A5A00; border-color: #E8D080; }
.nc-pill--green { background: var(--nc-green-pale); color: var(--nc-green); border-color: #A8E4C6; }
.nc-pill--red { background: var(--nc-crimson-pale); color: var(--nc-crimson-dark); border-color: #F9C0C8; }
.nc-pill--gray { background: var(--nc-bg-soft); color: var(--nc-fg-muted); border-color: var(--nc-line); }

.nc-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	background: var(--nc-crimson);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	border-radius: 999px;
	padding: 0 5px;
}
.nc-badge--dot {
	position: absolute;
	top: 4px; right: 4px;
}

/* =========================================================
 *  MAGAZINE MASTHEAD  (site-wide header)
 *  Two rows: thin kicker strip (Ink) + main bar (Parchment).
 *  Brand only. CSS scoped .nc-mast-*. Outer .nc-topbar kept so
 *  the existing print-media rule still hides the whole header.
 * ========================================================= */

.nc-topbar.nc-mast {
	background: #FAFAF8;
	border-bottom: 1px solid #E6E1D8;
	position: sticky;
	top: 0;
	z-index: 100;
}

/* ── Kicker strip ─────────────────────────────────────── */
.nc-mast__kicker {
	background: #1A1A1A;
	color: rgba(255,255,255,.78);
	border-bottom: 1px solid #1A1A1A;
}
.nc-mast__kicker-inner {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 24px;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 10.5px;
	letter-spacing: .06em;
	text-transform: uppercase;
	min-height: 30px;
	flex-wrap: wrap;
}
.nc-mast__issue { color: #C9A84C; font-weight: 500; }
.nc-mast__time { font-variant-numeric: tabular-nums; color: #fff; }
.nc-mast__time time, .nc-mast__time { color: #fff; }
.nc-mast__tag { color: rgba(255,255,255,.75); }
.nc-mast__sep { color: rgba(255,255,255,.25); }
.nc-mast__sep--push { margin-left: auto; }
.nc-mast__apply {
	color: #C9A84C;
	text-decoration: none;
	font-weight: 500;
	letter-spacing: .06em;
	transition: color .12s;
}
.nc-mast__apply:hover { color: #fff; text-decoration: none; }

@media (max-width: 720px) {
	.nc-mast__tag, .nc-mast__apply { display: none; }
	.nc-mast__sep--push { margin-left: auto; display: block; width: 1px; height: 0; }
}

/* ── Main bar — flex, never wraps, one row at every width ── */
.nc-mast__main { background: #FAFAF8; }
.nc-mast__main-inner {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 12px 24px;
	flex-wrap: nowrap;
	min-width: 0;
}
.nc-mast__menutoggle { flex-shrink: 0; }
.nc-mast__brand {
	flex-shrink: 0;
	min-width: 0;
}
.nc-mast__brand .nc-logo {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
	max-width: 100%;
}
.nc-mast__brand .nc-logo__text,
.nc-mast__brand .nc-logo__brand,
.nc-mast__brand .nc-logo__the { white-space: nowrap; }

/* Nav — flex row of links that NEVER break mid-word, and the row
 * itself shrinks before hiding on tablet. */
.nc-mast__nav {
	flex: 0 1 auto;
	min-width: 0;
	display: flex;
	gap: 2px;
	align-items: center;
	flex-wrap: nowrap;
	overflow: hidden;
}
.nc-mast__navlink {
	white-space: nowrap !important;
	flex-shrink: 0;
	word-break: keep-all;
}

.nc-mast__search {
	flex: 1 1 280px;
	min-width: 180px;
	max-width: 380px;
}
.nc-mast__actions {
	flex-shrink: 0;
	margin-left: auto;
	white-space: nowrap;
}
.nc-mast__cta { white-space: nowrap; flex-shrink: 0; }
.nc-mast__signin { white-space: nowrap; flex-shrink: 0; }

/* v1.17.4 — Primary "Ask" action promoted from the floating FAB on
 * /feed/ to a globally-visible masthead button (logged-in only).
 * Crimson background, white text — same emphasis as the FAB had so the
 * primary action retains its visual weight. */
.nc-mast__ask {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
	flex-shrink: 0;
	padding: 8px 14px;
	background: var(--nc-crimson, #C41E3A);
	color: #fff !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: background .12s;
}
.nc-mast__ask:hover {
	background: #8B1226;
	color: #fff !important;
	text-decoration: none;
}
.nc-mast__ask-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	background: rgba(255, 255, 255, .22);
	border-radius: 50%;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}
@media (max-width: 720px) {
	/* Drop the word "Ask", keep the + icon as a tap target. */
	.nc-mast__ask { padding: 8px 10px; gap: 0; font-size: 0; }
	.nc-mast__ask-ic { font-size: 14px; width: 18px; height: 18px; background: transparent; }
}

/* Tablet — drop the primary nav so brand + search + actions fit. */
@media (max-width: 1080px) {
	.nc-mast__nav { display: none !important; }
	.nc-mast__main-inner { gap: 14px; padding: 12px 18px; }
}

/* Mobile — hide search and signin link. Hamburger + brand + CTA only. */
@media (max-width: 720px) {
	.nc-mast__search { display: none !important; }
	.nc-mast__signin { display: none !important; }
	.nc-mast__main-inner { gap: 10px; padding: 10px 14px; }
	.nc-mast__cta { padding: 8px 12px; font-size: 12.5px; }
	.nc-mast__brand .nc-logo__text { font-size: 14px; }
	.nc-mast__brand .nc-logo__the { display: none; }
}

/* Very small — shrink brand to icon-only, drop the bell, tighten CTA. */
@media (max-width: 420px) {
	.nc-mast__main-inner { gap: 8px; padding: 8px 12px; }
	.nc-mast__brand .nc-logo__text { display: none; }
	.nc-mast__icon { display: none; }
	.nc-mast__cta { padding: 8px 10px; font-size: 12px; gap: 6px; }
	.nc-mast__cta-dot { display: none; }
}

.nc-mast__brand .nc-logo { color: #1A1A1A; }

.nc-mast__nav {
	display: flex;
	gap: 2px;
	align-items: center;
}
.nc-mast__navlink {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #4A4A4A;
	padding: 8px 14px;
	border: 1px solid transparent;
	text-decoration: none;
	transition: color .12s, background .12s, border-color .12s;
}
.nc-mast__navlink:hover {
	color: #C41E3A;
	text-decoration: none;
	background: #F5F1E8;
}
.nc-mast__navlink.is-active {
	color: #1A1A1A;
	border-color: #1A1A1A;
	background: transparent;
}

.nc-mast__search {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #E6E1D8;
	padding: 7px 12px;
	min-width: 240px;
	max-width: 380px;
	transition: border-color .15s;
}
.nc-mast__search:focus-within { border-color: #1A1A1A; }
.nc-mast__search-ic { color: #7A7A7A; flex-shrink: 0; }
.nc-mast__search input {
	flex: 1;
	background: transparent;
	border: 0;
	outline: none;
	padding: 0;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	color: #1A1A1A;
	min-width: 0;
}
.nc-mast__search input::placeholder { color: #9A9A9A; }
.nc-mast__search-k {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 10px;
	color: #7A7A7A;
	background: #F5F1E8;
	border: 1px solid #E6E1D8;
	padding: 2px 6px;
	letter-spacing: .04em;
	flex-shrink: 0;
}

.nc-mast__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.nc-mast__icon {
	position: relative;
	width: 34px; height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #4A4A4A;
	border: 1px solid #E6E1D8;
	background: #fff;
	text-decoration: none;
	transition: color .12s, border-color .12s, background .12s;
}
.nc-mast__icon:hover { color: #1A1A1A; border-color: #1A1A1A; text-decoration: none; }
.nc-mast__icon-dot {
	position: absolute;
	top: -5px; right: -5px;
	background: #C41E3A;
	color: #fff;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 9px;
	font-weight: 700;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0;
}
.nc-mast__signin {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #1A1A1A;
	text-decoration: none;
	padding: 6px 4px;
}
.nc-mast__signin:hover { color: #C41E3A; text-decoration: none; }
.nc-mast__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #C41E3A;
	color: #fff;
	border: 1px solid #C41E3A;
	padding: 8px 16px;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background .12s, border-color .12s;
}
.nc-mast__cta:hover { background: #A41830; border-color: #A41830; color: #fff; text-decoration: none; }
.nc-mast__cta-dot {
	width: 6px; height: 6px;
	background: #C9A84C;
	border-radius: 50%;
	animation: nc-mast-pulse 1.8s ease-in-out infinite;
}
@keyframes nc-mast-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%      { opacity: .45; transform: scale(.8); }
}

/* ── Hamburger ────────────────────────────────────────── */
.nc-mast__menutoggle {
	display: none;
	flex-direction: column;
	gap: 4px;
	padding: 8px 6px;
	background: transparent;
	border: 0;
	cursor: pointer;
}
.nc-mast__menutoggle span {
	display: block;
	width: 20px;
	height: 1.5px;
	background: #1A1A1A;
}
@media (max-width: 1080px) { .nc-mast__menutoggle { display: inline-flex; } }

/* ── Drawer ───────────────────────────────────────────── */
.nc-mast__drawer {
	border-top: 1px solid #E6E1D8;
	background: #FAFAF8;
}
.nc-mast__drawer[hidden] { display: none; }
.nc-mast__drawer nav { display: flex; flex-direction: column; padding: 8px 0; }
.nc-mast__draweritem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 24px;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #1A1A1A;
	text-decoration: none;
	border-bottom: 1px solid #F0ECE3;
}
.nc-mast__draweritem:hover { background: #F5F1E8; color: #1A1A1A; text-decoration: none; }
.nc-mast__draweritem:last-child { border-bottom: 0; }
.nc-mast__draweritem--cta { background: #C41E3A; color: #fff; }
.nc-mast__draweritem--cta:hover { background: #A41830; color: #fff; }
.nc-mast__draweritem span { color: #9A9A9A; font-size: 14px; }
.nc-mast__draweritem--cta span { color: rgba(255,255,255,.6); }

/* Legacy search-only utility classes preserved for big inline search use */
.nc-search {
	display: flex;
	align-items: center;
	background: var(--nc-bg-soft);
	border: 1px solid var(--nc-line);
	padding: 0 .5rem 0 .85rem;
	min-width: 0;
	max-width: 480px;
}
.nc-search input {
	flex: 1;
	background: transparent;
	border: 0;
	outline: none;
	padding: .5rem 0;
	font-size: .9rem;
	min-width: 0;
}
.nc-search__btn {
	color: var(--nc-fg-muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
}
.nc-search__btn:hover { color: var(--nc-fg); background: var(--nc-line); }
.nc-search--big {
	max-width: none;
	margin: 1rem 0 1.5rem;
	padding: .25rem .25rem .25rem 1rem;
	background: var(--nc-bg-card);
}
.nc-search--big input { padding: .85rem 0; font-size: 1.05rem; }
.nc-search--big .nc-btn { margin-left: .25rem; }

/* ── Logo ───────────────────────────────────────────────── */
.nc-logo {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	color: var(--nc-fg);
	font-family: var(--nc-font-display);
	font-weight: 500;
}
.nc-logo:hover { text-decoration: none; }
.nc-logo__mark { width: 28px; height: 28px; }
.nc-logo__text { display: flex; flex-direction: column; line-height: 1; }
.nc-logo__the { font-family: var(--nc-font-mono); font-size: 9px; letter-spacing: .15em; color: var(--nc-fg-muted); text-transform: uppercase; }
.nc-logo__brand { font-size: 1rem; }
.nc-logo__brand em { font-style: italic; color: var(--nc-crimson); }

/* ── Mobile menu toggle ─────────────────────────────────── */
.nc-menu-toggle {
	display: inline-flex;
	flex-direction: column;
	gap: 4px;
	padding: 8px;
	border-radius: var(--nc-r-sm);
}
.nc-menu-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--nc-fg);
	border-radius: 2px;
}
@media (min-width: 1024px) { .nc-menu-toggle { display: none; } }

/* ── Mobile bottom nav ──────────────────────────────────── */
.nc-mobnav {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	background: var(--nc-bg-card);
	border-top: 1px solid var(--nc-line);
	z-index: 90;
	padding: .25rem 0 calc(.25rem + env(safe-area-inset-bottom));
}
.nc-mobnav__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: .35rem;
	color: var(--nc-fg-muted);
	font-size: 10px;
	font-family: var(--nc-font-mono);
	letter-spacing: .03em;
}
.nc-mobnav__item:hover { color: var(--nc-fg); text-decoration: none; }
.nc-mobnav__item--cta { color: var(--nc-crimson); }
@media (min-width: 1024px) { .nc-mobnav { display: none; } }

/* ── User dropdown ──────────────────────────────────────── */
.nc-usermenu { position: relative; }
.nc-usermenu__trigger {
	width: 36px; height: 36px;
	border-radius: 999px;
	overflow: hidden;
	display: inline-flex;
	border: 1px solid var(--nc-line);
}
.nc-usermenu__avatar { border-radius: 999px; }
.nc-usermenu__panel {
	position: absolute;
	right: 0; top: calc(100% + .35rem);
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	box-shadow: var(--nc-sh-2);
	min-width: 220px;
	padding: .25rem 0;
	z-index: 200;
}
.nc-usermenu__head {
	padding: .75rem 1rem;
	border-bottom: 1px solid var(--nc-line);
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.nc-usermenu__head a { font-family: var(--nc-font-mono); font-size: .8rem; color: var(--nc-fg-muted); }
.nc-usermenu__panel ul { display: flex; flex-direction: column; }
.nc-usermenu__panel a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .5rem 1rem;
	color: var(--nc-fg);
	font-size: .9rem;
}
.nc-usermenu__panel a:hover { background: var(--nc-bg-soft); text-decoration: none; }
.nc-usermenu__sep { height: 1px; background: var(--nc-line); margin: .25rem 0; }

/* ── Hero (homepage) ────────────────────────────────────── */
.nc-hero {
	background: linear-gradient(180deg, var(--nc-navy-dark) 0%, #002666 100%);
	color: #fff;
	padding: 4rem 0 5rem;
	position: relative;
	overflow: hidden;
}
.nc-hero__inner { position: relative; z-index: 1; }
.nc-hero__title {
	font-family: var(--nc-font-display);
	font-weight: 700;
	font-size: clamp(2.5rem, 7vw, 5rem);
	line-height: 1;
	margin-bottom: .5rem;
}
.nc-hero__title em { font-style: italic; color: var(--nc-gold-light); }
.nc-hero__sub {
	font-family: var(--nc-font-display);
	font-style: italic;
	font-weight: 300;
	font-size: clamp(1rem, 2.4vw, 1.5rem);
	color: rgba(255,255,255,.65);
	margin-bottom: 2rem;
	max-width: 36ch;
}
.nc-hero__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2.5rem; }
.nc-hero__cta .nc-btn--ghost { color: #fff; border-color: rgba(255,255,255,.25); }
.nc-hero__cta .nc-btn--ghost:hover { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.6); }
.nc-hero__stats { display: flex; gap: 2rem; flex-wrap: wrap; }
.nc-hero__stats div { display: flex; flex-direction: column; }
.nc-hero__stats strong { font-family: var(--nc-font-display); font-size: 1.5rem; font-weight: 700; }
.nc-hero__stats span { font-family: var(--nc-font-mono); font-size: 11px; letter-spacing: .12em; color: rgba(255,255,255,.4); text-transform: uppercase; }
.nc-hero__mountains {
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 80px;
	background: linear-gradient(135deg, transparent 33%, rgba(123,163,188,.15) 33%, rgba(123,163,188,.15) 67%, transparent 67%);
	background-size: 90px 80px;
}
.nc-hero--small { padding: 3rem 0; }

/* ── Trending / sections ───────────────────────────────── */
.nc-trending, .nc-comms-strip, .nc-how, .nc-cta-strip { padding: 3rem 0; }
.nc-cta-strip {
	background: var(--nc-ink);
	color: #fff;
	margin-top: 3rem;
}
.nc-cta-strip__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: center;
}
.nc-cta-strip h2 { color: #fff; font-family: var(--nc-font-display); }
.nc-cta-strip p { color: rgba(255,255,255,.6); margin-top: .25rem; }
.nc-cta-strip .nc-btn--ghost { color: #fff; border-color: rgba(255,255,255,.2); }
.nc-cta-strip .nc-btn--ghost:hover { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.6); }
@media (min-width: 720px) { .nc-cta-strip__inner { grid-template-columns: 1fr auto; } }

/* ── Feed / cards ───────────────────────────────────────── */
.nc-feed { display: flex; flex-direction: column; gap: .75rem; margin: 0; padding: 0; }
.nc-feed--two { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .nc-feed--two { grid-template-columns: 1fr 1fr; } }

.nc-card {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1rem 1.25rem;
}
.nc-card__title { font-family: var(--nc-font-display); font-size: 1rem; font-weight: 500; margin-bottom: .5rem; }
.nc-card__desc { color: var(--nc-fg-muted); font-size: .85rem; }
.nc-card__head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .5rem; }
.nc-card__cta-row { display: flex; flex-wrap: wrap; gap: .5rem; }

/* Post card */
.nc-card--post {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: .75rem;
	border-left: 3px solid transparent;
}
.nc-card--post:hover { border-color: var(--nc-line); border-left-color: var(--nc-comm-color); }
.nc-card--compact { padding: .75rem 1rem; }

.nc-card__vote {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding-top: 4px;
}
.nc-vote-btn {
	width: 32px; height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--nc-fg-muted);
	border-radius: var(--nc-r-sm);
	transition: color .15s ease, background .15s ease;
}
.nc-vote-btn:hover { background: var(--nc-bg-soft); color: var(--nc-fg); }
.nc-vote-btn--up.is-active { color: var(--nc-crimson); }
.nc-vote-btn--down.is-active { color: var(--nc-navy); }
.nc-vote-count {
	font-family: var(--nc-font-mono);
	font-size: .9rem;
	font-weight: 500;
	color: var(--nc-fg);
}

.nc-vote--lg { flex-direction: row; gap: .5rem; align-items: center; padding: 0; }
.nc-vote--lg .nc-vote-btn { width: 40px; height: 40px; }
.nc-vote--lg .nc-vote-count { font-size: 1.05rem; min-width: 36px; text-align: center; }

.nc-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem .5rem;
	font-size: .78rem;
	color: var(--nc-fg-muted);
	margin-bottom: .35rem;
}
.nc-comm-tag {
	font-family: var(--nc-font-mono);
	font-size: .78rem;
	font-weight: 500;
	color: var(--nc-comm-color);
	background: rgba(0,56,147,.06);
	padding: 1px 7px;
	border-radius: var(--nc-r-sm);
}
.nc-card__byline a { color: var(--nc-fg-soft); }
.nc-card__title { font-family: var(--nc-font-display); font-size: 1.1rem; font-weight: 500; line-height: 1.3; }
.nc-card__title a { color: var(--nc-fg); }
.nc-card__title a:hover { color: var(--nc-crimson); text-decoration: none; }
.nc-card__excerpt {
	color: var(--nc-fg-soft);
	font-size: .9rem;
	margin-top: .35rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nc-card__thumb { margin-top: .75rem; border-radius: var(--nc-r-md); overflow: hidden; aspect-ratio: 16/9; background: var(--nc-bg-soft); }
.nc-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.nc-card__actions { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin-top: .5rem; }

/* Community card */
.nc-comms-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: .75rem;
}
.nc-comm-card {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	padding: 1rem 1.25rem;
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-left: 4px solid var(--nc-comm-color);
	border-radius: var(--nc-r-md);
}
.nc-comm-card:hover { background: var(--nc-bg-soft); text-decoration: none; transform: translateY(-1px); }
.nc-comm-card--paid { border-left-color: var(--nc-gold); }
.nc-comm-card--free { border-left-color: var(--nc-himalaya); }
.nc-comm-card__handle { font-family: var(--nc-font-mono); font-size: .78rem; color: var(--nc-fg-muted); }
.nc-comm-card__name { font-family: var(--nc-font-display); font-weight: 500; font-size: 1rem; color: var(--nc-fg); }
.nc-comm-card__meta { font-size: .78rem; color: var(--nc-fg-muted); display: flex; align-items: center; gap: .35rem; }

/* ── Forum two-column ──────────────────────────────────── */
.nc-forum, .nc-comm-body {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 1024px) {
	.nc-forum, .nc-comm-body { grid-template-columns: 1fr 300px; }
}
.nc-forum__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: 1rem;
}
.nc-forum__side, .nc-comm-body__side, .nc-thread__side {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
@media (max-width: 1023px) {
	/* v1.16.11 — was a blanket `display: none` that hid the entire
	 * sidebar on mobile, including the hardcoded ad. Now: keep the
	 * sidebar in flow (so its child ad still renders on mobile) but
	 * hide the community-info card + rules card. Only the ad shows
	 * beneath the thread on narrow screens. */
	.nc-forum__side, .nc-comm-body__side, .nc-thread__side {
		display: flex;
		margin-top: 24px;
	}
	.nc-forum__side > *:not(.nc-ad-vertical),
	.nc-comm-body__side > *:not(.nc-ad-vertical),
	.nc-thread__side > *:not(.nc-ad-vertical) {
		display: none;
	}
}

/* v1.15.3 — Sticky right rail on single-discussion (desktop only).
 * Mirrors the sticky behaviour the /feed/ rails got in v1.6.x. The
 * community-info card + sidebar ad stay pinned while the user scrolls
 * down a long thread, so the ad gets full-thread impression time
 * instead of disappearing after the first viewport. */
@media (min-width: 1024px) {
	.nc-thread__side {
		position: sticky;
		top: 80px;              /* clears the sticky masthead (~64px) + breathing room */
		align-self: start;      /* required for sticky to engage inside a grid item */
		max-height: calc(100vh - 100px);
		overflow-y: auto;       /* if the rail is taller than the viewport, scroll-within */
		scrollbar-width: thin;
	}
	.nc-thread__side::-webkit-scrollbar { width: 6px; }
	.nc-thread__side::-webkit-scrollbar-thumb { background: rgba(0,0,0,.12); border-radius: 3px; }
	[data-theme="dark"] .nc-thread__side::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); }
}

/* Sort bar */
.nc-sortbar {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	padding: .25rem;
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	margin-bottom: .75rem;
	overflow-x: auto;
}
.nc-sortbar--sticky { position: sticky; top: 60px; z-index: 50; }
.nc-sortbar__btn, .nc-sortbar__sub {
	font-family: var(--nc-font-body);
	font-size: .85rem;
	padding: .35rem .75rem;
	color: var(--nc-fg-muted);
	border-radius: var(--nc-r-sm);
	white-space: nowrap;
}
.nc-sortbar__btn:hover, .nc-sortbar__sub:hover { color: var(--nc-fg); background: var(--nc-bg-soft); text-decoration: none; }
.nc-sortbar__btn.is-active { color: var(--nc-fg); background: var(--nc-bg-soft); font-weight: 500; }
.nc-sortbar__sub.is-active { color: var(--nc-crimson); font-weight: 500; }
.nc-sortbar__divider { border-left: 1px solid var(--nc-line); margin: 0 .35rem; }

/* Side list */
.nc-side-list { display: flex; flex-direction: column; gap: .25rem; }
.nc-side-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .35rem .25rem;
	border-radius: var(--nc-r-sm);
	font-size: .85rem;
}
.nc-side-list li:hover { background: var(--nc-bg-soft); }
.nc-side-list a { display: flex; align-items: center; gap: .35rem; color: var(--nc-fg); }
.nc-side-list__count { font-family: var(--nc-font-mono); font-size: .75rem; color: var(--nc-fg-muted); }
.nc-side-list__name { font-family: var(--nc-font-mono); font-size: .85rem; }

/* Tag cloud */
.nc-tag-cloud { display: flex; flex-wrap: wrap; gap: .35rem; }

/* ── Community header ──────────────────────────────────── */
.nc-comm-head {
	background: var(--nc-bg-card);
	border-bottom: 1px solid var(--nc-line);
	border-top: 4px solid var(--nc-comm-color);
	padding: 1.5rem 0;
	margin-bottom: 1.5rem;
}
.nc-comm-head__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: end;
}
@media (min-width: 768px) {
	.nc-comm-head__inner { grid-template-columns: 1fr auto auto; }
}
.nc-comm-head__title { font-family: var(--nc-font-mono); font-size: .85rem; color: var(--nc-fg-muted); }
.nc-comm-head__name { font-family: var(--nc-font-display); font-size: 1.5rem; font-weight: 500; }
.nc-comm-head__desc { color: var(--nc-fg-soft); margin-top: .25rem; max-width: 60ch; }
.nc-comm-head__stats { display: flex; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.nc-comm-head__stats div { display: flex; flex-direction: column; }
.nc-comm-head__stats strong { font-family: var(--nc-font-display); font-size: 1.15rem; }
.nc-comm-head__stats span { font-size: .75rem; color: var(--nc-fg-muted); }
.nc-comm-head__actions { display: flex; gap: .5rem; flex-wrap: wrap; }

.nc-stat-list { display: flex; gap: 1rem; margin: .75rem 0; }
.nc-stat-list div { display: flex; flex-direction: column; }
.nc-stat-list dt { font-size: .75rem; color: var(--nc-fg-muted); font-family: var(--nc-font-mono); }
.nc-stat-list dd { font-family: var(--nc-font-display); font-size: 1.05rem; font-weight: 500; }

/* ── Thread page ───────────────────────────────────────── */
.nc-thread__layout { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 1024px) { .nc-thread__layout { grid-template-columns: 1fr 320px; } }
.nc-breadcrumb {
	font-family: var(--nc-font-mono);
	font-size: .78rem;
	color: var(--nc-fg-muted);
	margin: 1rem 0;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
}
.nc-breadcrumb a { color: var(--nc-fg-muted); }
.nc-breadcrumb__current { color: var(--nc-fg); }

.nc-thread__head { margin-bottom: 1rem; }
.nc-thread__meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: .85rem; color: var(--nc-fg-muted); margin-bottom: .5rem; }
.nc-thread__byline a { color: var(--nc-fg-soft); }
.nc-thread__title {
	font-family: var(--nc-font-display);
	font-size: clamp(1.5rem, 4vw, 2.25rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--nc-fg);
}
.nc-thread__body {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--nc-fg-soft);
	margin: 1.25rem 0;
}
.nc-thread__body p, .nc-thread__body ul, .nc-thread__body ol, .nc-thread__body blockquote {
	margin-bottom: 1rem; max-width: 70ch;
}
.nc-thread__body a { color: var(--nc-link); text-decoration: underline; text-decoration-color: rgba(0,56,147,.3); text-underline-offset: 3px; }
.nc-thread__body blockquote {
	border-left: 3px solid var(--nc-crimson);
	padding-left: 1rem;
	color: var(--nc-fg);
	font-style: italic;
}
.nc-thread__body code {
	font-family: var(--nc-font-mono);
	font-size: .82rem;
	background: var(--nc-bg-soft);
	padding: 1px 6px;
	border-radius: 3px;
	color: var(--nc-crimson-dark);
}
.nc-thread__body pre {
	background: #0F1117;
	color: #E2E8F0;
	padding: 1rem;
	border-radius: var(--nc-r-md);
	overflow-x: auto;
}

.nc-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: .75rem 0; }
.nc-tags a {
	font-family: var(--nc-font-mono);
	font-size: .78rem;
	background: var(--nc-bg-soft);
	color: var(--nc-fg-soft);
	padding: 2px 8px;
	border-radius: 3px;
}
.nc-tags a:hover { background: var(--nc-line); text-decoration: none; }

.nc-thread__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	padding: .75rem 0;
	border-top: 1px solid var(--nc-line);
	border-bottom: 1px solid var(--nc-line);
}

/* ── Comments ──────────────────────────────────────────── */
.nc-comments { padding-top: 1.5rem; }
.nc-comment-list, .nc-comment-list ol { display: flex; flex-direction: column; gap: 1rem; }
.nc-comment-list ol { margin-top: 1rem; padding-left: 1.5rem; border-left: 2px solid var(--nc-line); }
.nc-comment {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
}
.nc-comment__inner { padding: .85rem 1rem; }
.nc-comment__head {
	display: flex;
	gap: .5rem;
	align-items: center;
	font-size: .82rem;
	color: var(--nc-fg-muted);
	margin-bottom: .5rem;
}
.nc-comment__author { display: inline-flex; align-items: center; gap: .35rem; color: var(--nc-fg); }
.nc-comment__avatar { border-radius: 999px; }
.nc-comment__time { margin-left: auto; }
.nc-comment__body { color: var(--nc-fg-soft); font-size: .95rem; line-height: 1.65; }
.nc-comment__body p { margin-bottom: .5rem; }
.nc-comment__actions { margin-top: .5rem; display: flex; gap: .5rem; }

.nc-comment-form { margin-bottom: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.nc-input {
	width: 100%;
	background: #FFFFFF;
	border: 1px solid #E6E1D8;
	border-radius: var(--nc-r-md);
	padding: .65rem .85rem;
	font-size: .95rem;
	color: #1A1A1A;
	outline: none;
}
.nc-input::placeholder { color: #9A9A9A; opacity: 1; }
.nc-input:focus { border-color: #C41E3A; box-shadow: 0 0 0 3px rgba(196,30,58,.18); }
.nc-input--lg { font-size: 1.1rem; padding: .85rem 1rem; }
.nc-input[disabled] { opacity: .6; background: #F0ECE3; color: #6A6A6A; }
/* Defensive: WordPress autofill in dark-mode browsers paints inputs
 * dark. Force the brand white-bg + ink-text combination. */
.nc-input:-webkit-autofill,
.nc-input:-webkit-autofill:hover,
.nc-input:-webkit-autofill:focus {
	-webkit-text-fill-color: #1A1A1A;
	-webkit-box-shadow: 0 0 0 1000px #FFFFFF inset;
	caret-color: #1A1A1A;
}

textarea.nc-input { font-family: inherit; line-height: 1.55; resize: vertical; }

.nc-login-prompt {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1rem 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	margin-bottom: 1.25rem;
}
.nc-login-prompt p { margin: 0; flex: 1; min-width: 200px; }

/* ── Empty / pagination ───────────────────────────────── */
.nc-empty {
	background: var(--nc-bg-card);
	border: 1px dashed var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 2rem;
	text-align: center;
	color: var(--nc-fg-muted);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.nc-empty--small { padding: 1.25rem; }

.nc-pagination { display: flex; justify-content: center; padding: 2rem 0 1rem; }
.nc-pagination .page-numbers {
	display: inline-block;
	padding: .4rem .7rem;
	border-radius: var(--nc-r-sm);
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	margin: 0 2px;
	color: var(--nc-fg-soft);
	font-family: var(--nc-font-mono);
	font-size: .85rem;
}
.nc-pagination .page-numbers.current { background: var(--nc-crimson); color: #fff; border-color: var(--nc-crimson); }

/* ── Forms ─────────────────────────────────────────────── */
.nc-form { display: flex; flex-direction: column; gap: .85rem; }
.nc-field { display: flex; flex-direction: column; gap: .35rem; }
.nc-field > span:first-child {
	font-size: .85rem;
	color: var(--nc-fg-soft);
	font-weight: 500;
}
.nc-field small { color: var(--nc-fg-muted); font-size: .78rem; }
.nc-field--check { flex-direction: row; align-items: flex-start; gap: .55rem; }
.nc-field--check input { margin-top: 4px; }
.nc-field--check span { font-size: .85rem; color: var(--nc-fg-soft); }
.nc-form__actions { display: flex; gap: .5rem; flex-wrap: wrap; padding-top: .5rem; }

.nc-alert {
	border-radius: 0 var(--nc-r-md) var(--nc-r-md) 0;
	padding: .85rem 1rem;
	margin: 1rem 0;
	font-size: .9rem;
}
.nc-alert--red { background: var(--nc-crimson-pale); border-left: 4px solid var(--nc-crimson); color: var(--nc-crimson-dark); }
.nc-alert--amber { background: var(--nc-amber-pale); border-left: 4px solid var(--nc-amber); color: var(--nc-amber); }
.nc-alert--green { background: var(--nc-green-pale); border-left: 4px solid var(--nc-green); color: var(--nc-green); }
.nc-alert--gold  { background: #FBF6E6; border-left: 4px solid #C9A84C; color: #6E5A1F; }
.nc-alert--gold a { color: #6E5A1F; font-weight: 600; }
.nc-alert--gold strong { color: #1A1A1A; }

/* ── Auth pages ────────────────────────────────────────── */
.nc-auth {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 2rem 1.75rem;
}
.nc-auth__head { text-align: center; margin-bottom: 1.5rem; display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.nc-auth__head .nc-h2 { font-size: 1.5rem; }
.nc-auth__head p { color: var(--nc-fg-muted); font-size: .9rem; }
.nc-auth__foot {
	margin-top: 1rem;
	text-align: center;
	font-size: .85rem;
	color: var(--nc-fg-muted);
	display: flex;
	justify-content: center;
	gap: .5rem;
}
.nc-or { text-align: center; margin: 1rem 0; position: relative; color: var(--nc-fg-muted); font-size: .8rem; }
.nc-or::before, .nc-or::after { content: ''; position: absolute; top: 50%; width: 40%; height: 1px; background: var(--nc-line); }
.nc-or::before { left: 0; } .nc-or::after { right: 0; }

.nc-social-login { margin-bottom: 1rem; }
.nc-auth__cta { display: flex; flex-direction: column; gap: .5rem; }

/* ── Pricing ───────────────────────────────────────────── */
.nc-pricing-hero { padding: 3rem 0 1rem; text-align: center; }
.nc-pricing-hero .nc-section-head { justify-content: center; text-align: center; }
.nc-pricing__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	margin: 2rem 0;
}
@media (min-width: 768px) { .nc-pricing__grid { grid-template-columns: repeat(3, 1fr); } }

.nc-plan {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: relative;
}
.nc-plan--featured { border: 2px solid var(--nc-crimson); box-shadow: 0 0 0 4px var(--nc-crimson-pale); }
.nc-plan__badge { position: absolute; top: -10px; left: 1.25rem; }
.nc-plan__name { font-family: var(--nc-font-mono); font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: var(--nc-fg-muted); }
.nc-plan__price { font-family: var(--nc-font-display); font-size: 1.1rem; color: var(--nc-fg-muted); margin-top: .35rem; }
.nc-plan__price strong { font-size: 2rem; font-weight: 700; color: var(--nc-fg); }
.nc-plan__price span { font-size: .85rem; }
.nc-plan__desc { color: var(--nc-fg-soft); font-size: .9rem; margin-top: .25rem; }
.nc-plan__features { display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; color: var(--nc-fg-soft); }
.nc-plan__off { color: var(--nc-fg-muted); }
.nc-pricing__pay { text-align: center; margin: 2rem 0; padding: 1.25rem; background: var(--nc-bg-soft); border-radius: var(--nc-r-md); }

.nc-faq {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: .85rem 1.25rem;
	margin: .5rem 0;
}
.nc-faq summary { cursor: pointer; font-weight: 500; }
.nc-faq p { color: var(--nc-fg-soft); margin-top: .5rem; }

/* ── Paid lock ─────────────────────────────────────────── */
.nc-paid-lock { padding: 3rem 1rem; }
.nc-paid-lock__card {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 2rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	align-items: center;
	border-top: 4px solid var(--nc-gold);
}
.nc-paid-lock__perks {
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	margin: .5rem 0;
}
.nc-paid-lock__perks li { display: flex; align-items: center; gap: .5rem; color: var(--nc-fg-soft); font-size: .9rem; }
.nc-paid-lock__perks svg { color: var(--nc-green); flex-shrink: 0; }
.nc-paid-lock__price { font-family: var(--nc-font-display); font-size: 1.05rem; color: var(--nc-fg-muted); }
.nc-paid-lock__price strong { font-size: 2.25rem; color: var(--nc-fg); font-weight: 700; }
.nc-paid-lock__cta { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }

/* ── Dashboard ─────────────────────────────────────────── */
.nc-tabs {
	display: flex;
	gap: .25rem;
	overflow-x: auto;
	border-bottom: 1px solid var(--nc-line);
	margin-bottom: 1.5rem;
}
.nc-tabs__btn {
	padding: .65rem 1rem;
	font-size: .9rem;
	color: var(--nc-fg-muted);
	border-bottom: 2px solid transparent;
	white-space: nowrap;
}
.nc-tabs__btn:hover { color: var(--nc-fg); text-decoration: none; }
.nc-tabs__btn.is-active { color: var(--nc-fg); border-bottom-color: var(--nc-crimson); font-weight: 500; }

.nc-grid { display: grid; gap: .75rem; }
.nc-grid--3 { grid-template-columns: 1fr; }
@media (min-width: 768px) { .nc-grid--3 { grid-template-columns: repeat(3, 1fr); } }

.nc-stat {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: .25rem;
}
.nc-stat__label { font-family: var(--nc-font-mono); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--nc-fg-muted); }
.nc-stat__value { font-family: var(--nc-font-display); font-size: 1.5rem; font-weight: 500; }

/* ── Profile ───────────────────────────────────────────── */
.nc-profile {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 1rem;
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1.25rem;
	margin-bottom: 1.5rem;
}
.nc-profile__avatar { border-radius: 999px; width: 80px; height: 80px; }
.nc-profile__handle { color: var(--nc-fg-muted); font-family: var(--nc-font-mono); font-size: .85rem; }
.nc-profile__bio { margin: .5rem 0; color: var(--nc-fg-soft); }
.nc-profile__meta { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: .5rem; }
.nc-profile__meta div { display: flex; flex-direction: column; }
.nc-profile__meta dt { font-size: .72rem; color: var(--nc-fg-muted); font-family: var(--nc-font-mono); letter-spacing: .05em; text-transform: uppercase; }
.nc-profile__meta dd { font-size: .9rem; color: var(--nc-fg); }

/* ── Tables ────────────────────────────────────────────── */
.nc-table { width: 100%; border-collapse: collapse; background: var(--nc-bg-card); border: 1px solid var(--nc-line); border-radius: var(--nc-r-md); overflow: hidden; font-size: .88rem; }
.nc-table th { background: var(--nc-ink); color: #fff; font-family: var(--nc-font-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; text-align: left; padding: .65rem .85rem; }
.nc-table td { padding: .75rem .85rem; border-bottom: 1px solid var(--nc-line); vertical-align: top; color: var(--nc-fg-soft); }
.nc-table tr:last-child td { border-bottom: none; }
.nc-actions { white-space: nowrap; }

/* ── Notifications list ────────────────────────────────── */
.nc-noti-list { display: flex; flex-direction: column; gap: .5rem; }
.nc-noti {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: .5rem 1rem;
	padding: .85rem 1rem;
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
}
.nc-noti.is-unread { border-left: 3px solid var(--nc-crimson); }
.nc-noti__type { font-family: var(--nc-font-mono); font-size: .72rem; letter-spacing: .05em; color: var(--nc-fg-muted); text-transform: uppercase; }
.nc-noti__msg { color: var(--nc-fg-soft); font-size: .9rem; }
.nc-noti__time { font-size: .78rem; color: var(--nc-fg-muted); white-space: nowrap; }

/* ── How it works ──────────────────────────────────────── */
.nc-how__steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	counter-reset: how;
}
@media (min-width: 768px) { .nc-how__steps { grid-template-columns: repeat(3, 1fr); } }
.nc-how__steps li {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1.5rem;
	border-top: 4px solid var(--nc-crimson);
}
.nc-how__num { font-family: var(--nc-font-mono); font-size: .85rem; color: var(--nc-fg-muted); letter-spacing: .1em; }
.nc-how__steps h3 { margin: .5rem 0; }
.nc-how__steps p { color: var(--nc-fg-soft); font-size: .9rem; }

/* ── Mod list ──────────────────────────────────────────── */
.nc-mod-list { display: flex; flex-direction: column; gap: .5rem; }
.nc-mod-list a { display: flex; align-items: center; gap: .5rem; color: var(--nc-fg); font-size: .9rem; }
.nc-mod-list__avatar { border-radius: 999px; }

/* ── Related sidebar ───────────────────────────────────── */
.nc-related-list { display: flex; flex-direction: column; gap: .5rem; }
.nc-related-list li { display: flex; flex-direction: column; padding: .35rem 0; border-bottom: 1px solid var(--nc-line); }
.nc-related-list li:last-child { border-bottom: none; }
.nc-related-list span { font-family: var(--nc-font-mono); font-size: .72rem; color: var(--nc-fg-muted); margin-top: 2px; }

/* ── Checkout placeholder ─────────────────────────────── */
.nc-checkout { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .nc-checkout { grid-template-columns: 1fr 320px; } }
.nc-checkout__summary, .nc-checkout__methods {
	background: var(--nc-bg-card);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1.25rem;
}
.nc-checkout__summary dl { display: flex; flex-direction: column; gap: .5rem; margin-top: .75rem; }
.nc-checkout__summary div { display: flex; justify-content: space-between; }
.nc-checkout__summary dt { color: var(--nc-fg-muted); font-size: .85rem; }
.nc-pay-method {
	display: flex;
	align-items: center;
	gap: .75rem;
	width: 100%;
	padding: .85rem 1rem;
	background: var(--nc-bg-soft);
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	margin: .5rem 0;
	color: var(--nc-fg);
}
.nc-pay-method:hover { background: var(--nc-bg-card); border-color: var(--nc-crimson); }

/* ── Payment status ───────────────────────────────────── */
.nc-payment-status { padding: 4rem 1rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.nc-status-icon { width: 80px; height: 80px; }

/* =========================================================
 *  EDITORIAL FOOTER  (site-wide)
 *  Brand block + 4 link columns over Parchment, dark Ink legal
 *  strip with social icons + colophon. CSS scoped .nc-foot-*.
 * ========================================================= */

.nc-footer.nc-foot {
	background: #FAFAF8;
	border-top: 1px solid #E6E1D8;
	padding-top: 56px;
	/* v1.15.5: margin-top removed — was 64px which paired with .nc-main's
	 * 96px padding-bottom to produce a 160px parchment gap above the
	 * footer on every page. .nc-main is now flush-bottom; footer sits
	 * directly against the last page section. */
	margin-top: 0;
}

.nc-foot__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	padding: 0 24px 48px;
	max-width: 1380px;
	margin: 0 auto;
}
@media (min-width: 720px) {
	.nc-foot__inner { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 40px; }
}

.nc-foot__brand { max-width: 320px; }
.nc-foot__brand .nc-logo { margin-bottom: 14px; color: #1A1A1A; }
.nc-foot__tagline {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 14.5px;
	line-height: 1.55;
	color: #4A4A4A;
	margin: 0 0 10px;
}
.nc-foot__editorial {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: #7A7A7A;
	margin: 0;
}
.nc-foot__editorial em { font-style: italic; color: #C41E3A; }

.nc-foot__col {}
.nc-foot__h {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #7A7A7A;
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #E6E1D8;
}
.nc-foot__col ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.nc-foot__col a {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13.5px;
	color: #4A4A4A;
	text-decoration: none;
	transition: color .12s;
}
.nc-foot__col a:hover { color: #C41E3A; text-decoration: none; }
.nc-foot__more {
	font-family: 'Lexend', system-ui, sans-serif !important;
	font-style: italic;
	color: #C41E3A !important;
	font-size: 13px !important;
}

/* Legal strip */
.nc-foot__legal {
	background: #1A1A1A;
	color: rgba(255,255,255,.7);
	padding: 18px 0;
	margin-top: 8px;
}
.nc-foot__legal-inner {
	display: flex;
	align-items: center;
	gap: 18px;
	max-width: 1380px;
	margin: 0 auto;
	padding: 0 24px;
	flex-wrap: wrap;
}
.nc-foot__legal-blank { flex: 1; }
.nc-foot__social {
	display: flex;
	gap: 6px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.nc-foot__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	color: rgba(255,255,255,.7);
	border: 1px solid rgba(255,255,255,.16);
	background: transparent;
	transition: color .12s, border-color .12s, background .12s;
}
.nc-foot__social a:hover {
	color: #1A1A1A;
	background: #C9A84C;
	border-color: #C9A84C;
	text-decoration: none;
}
.nc-foot__copyright {
	margin-left: auto;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 10.5px;
	color: rgba(255,255,255,.65);
	letter-spacing: .04em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.nc-foot__where { color: rgba(255,255,255,.5); font-style: italic; text-transform: none; font-family: 'Lexend', system-ui, sans-serif; font-size: 12.5px; letter-spacing: 0; }
.nc-foot__sep { color: rgba(255,255,255,.25); }

@media (max-width: 560px) {
	.nc-foot__legal-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
	.nc-foot__copyright { margin-left: 0; }
}

/* ── Prose (about, guidelines) ─────────────────────────── */
.nc-prose h2 { font-family: var(--nc-font-display); font-weight: 500; font-size: 1.4rem; margin: 2rem 0 .5rem; color: var(--nc-fg); }
.nc-prose h3 { margin: 1.5rem 0 .35rem; }
.nc-prose p { color: var(--nc-fg-soft); margin-bottom: 1rem; max-width: 65ch; }
.nc-prose blockquote { border-left: 3px solid var(--nc-crimson); padding-left: 1rem; margin: 1rem 0; font-style: italic; color: var(--nc-fg); }
.nc-prose ul, .nc-prose ol { margin: 1rem 0 1rem 1.25rem; }
.nc-prose ul li, .nc-prose ol li { margin-bottom: .35rem; color: var(--nc-fg-soft); list-style: disc; }
.nc-prose a { color: var(--nc-link); text-decoration: underline; }
.nc-prose code { font-family: var(--nc-font-mono); background: var(--nc-bg-soft); padding: 1px 6px; border-radius: 3px; color: var(--nc-crimson-dark); font-size: .85rem; }

/* ── 404 ───────────────────────────────────────────────── */
.nc-404 { padding: 3rem 1rem; text-align: center; }
.nc-404 .nc-search--big { max-width: 520px; margin: 1.5rem auto; }

/* ── Submit form ───────────────────────────────────────── */
.nc-submit-form .nc-input { background: var(--nc-bg-card); }
.nc-submit-form textarea.nc-input { min-height: 240px; }
/* v1.17.6 — breathing room between the Publish row and the site footer.
   Without this, .nc-shell--narrow ends flush against get_footer() and the
   primary CTA looks glued to the footer border (reported visually). */
.nc-submit-form { margin-bottom: 56px; }
@media (max-width: 720px) { .nc-submit-form { margin-bottom: 40px; } }

/* ── Page (generic) ────────────────────────────────────── */
.nc-page { background: var(--nc-bg-card); border: 1px solid var(--nc-line); border-radius: var(--nc-r-md); padding: 2rem; }
.nc-page__head { margin-bottom: 1rem; }
.nc-page__body { color: var(--nc-fg-soft); }

/* ── Mobile drawer (slide-out community menu) ─────────── */
.nc-mobile-open .nc-topnav {
	display: flex;
	flex-direction: column;
	position: fixed;
	top: 60px; left: 0; right: 0; bottom: 0;
	background: var(--nc-bg);
	padding: 1rem;
	gap: .25rem;
	border-top: 1px solid var(--nc-line);
	z-index: 80;
	overflow-y: auto;
}
.nc-mobile-open .nc-topnav .nc-topnav__link {
	padding: .85rem 1rem;
	font-size: 1rem;
	border-bottom: 1px solid var(--nc-line);
}
@media (min-width: 1024px) { .nc-mobile-open .nc-topnav { position: static; flex-direction: row; padding: 0; border: 0; background: transparent; } }

/* ── Pay method marks (no external images) ─────────────── */
.nc-pay-method__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 64px;
	padding: 4px 10px;
	border-radius: 3px;
	font-family: var(--nc-font-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	color: #fff;
}
.nc-pay-method__mark--esewa  { background: #60BB46; }
.nc-pay-method__mark--khalti { background: #5C2D91; }
.nc-pay-method__mark--card   { background: #1A4DAA; }

/* ── Empty-state illustration ──────────────────────────── */
.nc-empty img, .nc-empty svg { width: 200px; height: auto; margin-bottom: .5rem; opacity: .8; }

/* ── Smaller touch-target tweaks ──────────────────────── */
@media (max-width: 480px) {
	.nc-card--post { grid-template-columns: 36px 1fr; gap: .5rem; padding: .85rem 1rem; }
	.nc-vote-btn { width: 28px; height: 28px; }
	.nc-card__title { font-size: 1rem; }
	.nc-hero { padding: 3rem 0 4rem; }
}

/* ═════════════════════════════════════════════════════════
   Auth — split-screen brand panel + form
   Replaces the simple stacked .nc-auth card with an
   editorial-grade layout: navy gradient with gold accent,
   hero Fraunces quote, social proof, perks list, mountains.
   ═════════════════════════════════════════════════════════ */

.nc-auth-split {
	display: grid;
	grid-template-columns: 1fr;
	min-height: calc(100vh - 60px);
	background: var(--nc-bg);
	/* v1.17.7 — was `margin: -1.25rem 0 -4rem`. The -4rem bottom pulled the
	   panel down INTO the footer, covering the Rooms/For experts columns.
	   The -1.25rem top didn't cancel desktop nc-main padding (2rem) so a
	   gap appeared below the masthead. Now: cancel top padding via media
	   query, never push into footer. */
	margin-top: -1.25rem;
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.nc-auth-split { margin-top: -2rem; }
}
@media (min-width: 980px) {
	.nc-auth-split { grid-template-columns: 5fr 6fr; }
}
@media (min-width: 1280px) {
	.nc-auth-split { grid-template-columns: 1fr 1fr; }
}

/* ── Brand panel (left side) ──────────────────────────── */
.nc-auth-split__brand {
	display: none;
	background: linear-gradient(160deg, #001F5C 0%, #003893 60%, #001A4A 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
}
.nc-auth-split__brand::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
		repeating-linear-gradient(0deg, transparent, transparent 47px, rgba(255,255,255,.025) 48px),
		repeating-linear-gradient(90deg, transparent, transparent 47px, rgba(255,255,255,.025) 48px);
	pointer-events: none;
}
.nc-auth-split__brand::after {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, #C41E3A 50%, #C9A84C 50%);
}
@media (min-width: 980px) {
	.nc-auth-split__brand { display: flex; flex-direction: column; }
}

.nc-auth-split__brand-inner {
	position: relative;
	z-index: 1;
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 2.25rem 2.75rem 2.5rem;
	max-width: 560px;
	margin: 0 auto;
	width: 100%;
}

.nc-auth-split__logo {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	color: rgba(255,255,255,.85);
	font-family: var(--nc-font-mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 3rem;
}
.nc-auth-split__logo:hover { color: #fff; text-decoration: none; }

.nc-auth-split__hero { margin-top: auto; }
.nc-auth-split__title {
	font-family: var(--nc-font-display);
	font-weight: 700;
	font-size: clamp(2.5rem, 4.5vw, 4rem);
	line-height: 1.02;
	color: #fff;
	margin: .5rem 0 1.25rem;
}
.nc-auth-split__title em {
	display: block;
	font-style: italic;
	color: var(--nc-gold-light);
}
.nc-auth-split__sub {
	font-family: var(--nc-font-display);
	font-style: italic;
	font-weight: 300;
	color: rgba(255,255,255,.7);
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.4;
	max-width: 30ch;
}

/* Perks list (register page) */
.nc-auth-split__perks {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 2.25rem 0 0;
	padding: 1.5rem;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--nc-r-md);
	backdrop-filter: blur(4px);
}
.nc-auth-split__perks li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: .75rem;
	align-items: flex-start;
	color: rgba(255,255,255,.85);
	font-size: .9rem;
}
.nc-auth-split__perks strong {
	display: block;
	font-weight: 500;
	color: #fff;
	margin-bottom: 2px;
}
.nc-auth-split__perks span { color: rgba(255,255,255,.55); font-size: .82rem; }
.nc-auth-split__perk-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px; height: 22px;
	border-radius: 999px;
	background: var(--nc-gold);
	color: var(--nc-navy-dark);
	margin-top: 1px;
}

/* Quote (login page) */
.nc-auth-split__quote {
	margin: 2.25rem 0 0;
	padding: 1.25rem 1.5rem;
	background: rgba(255,255,255,.04);
	border-left: 3px solid var(--nc-gold);
	border-radius: 0 var(--nc-r-md) var(--nc-r-md) 0;
}
.nc-auth-split__quote blockquote {
	font-family: var(--nc-font-display);
	font-style: italic;
	font-size: 1.05rem;
	color: rgba(255,255,255,.92);
	line-height: 1.5;
	margin: 0 0 .5rem;
}
.nc-auth-split__quote figcaption {
	font-family: var(--nc-font-mono);
	font-size: 11px;
	letter-spacing: .08em;
	color: rgba(255,255,255,.45);
	text-transform: uppercase;
}

/* Decorative mountains silhouette */
.nc-auth-split__mountains {
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 110px;
	background: linear-gradient(135deg, transparent 33%, rgba(123,163,188,.18) 33%, rgba(123,163,188,.18) 67%, transparent 67%);
	background-size: 110px 110px;
	pointer-events: none;
}

/* ── Form panel (right side) ──────────────────────────── */
.nc-auth-split__form {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1.25rem;
}
@media (min-width: 980px) { .nc-auth-split__form { padding: 3rem 2.5rem; } }

.nc-auth-split__form-inner {
	width: 100%;
	max-width: 420px;
	animation: nc-fade-up .35s ease-out;
}
.nc-auth-split__form-inner--centered { text-align: center; }

.nc-auth-split__mobile-logo {
	display: inline-flex;
	margin-bottom: 1.5rem;
}
@media (min-width: 980px) { .nc-auth-split__mobile-logo { display: none; } }

@keyframes nc-fade-up {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.nc-auth-form__head { margin-bottom: 1.5rem; }
.nc-auth-form__head--centered { text-align: center; }
.nc-auth-form__head h2 { font-size: clamp(1.5rem, 3vw, 1.85rem); margin-bottom: .25rem; }
.nc-auth-form__head p { color: var(--nc-fg-muted); font-size: .92rem; }
.nc-auth-form__head a { color: var(--nc-link); font-weight: 500; }

.nc-auth-form__foot { margin-top: 1.5rem; text-align: center; }
.nc-auth-form__foot p { color: var(--nc-fg-muted); font-size: .82rem; max-width: none; }

.nc-auth-form__actions { display: flex; flex-direction: column; gap: .5rem; margin-top: 1.25rem; }

/* Alerts in auth context get an icon row layout */
.nc-auth-form .nc-alert,
.nc-auth-split__form .nc-alert {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	font-size: .88rem;
	margin: 0 0 1rem;
}
.nc-auth-form .nc-alert svg { flex-shrink: 0; margin-top: 2px; }

/* Label row (label + right-aligned hint or "Forgot?" link) */
.nc-field__label-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	font-size: .85rem;
}
.nc-field__label-row small { color: var(--nc-fg-muted); font-weight: 400; }
.nc-field__hint {
	font-size: .8rem;
	color: var(--nc-link);
	font-weight: 500;
	text-decoration: none;
}
.nc-field__hint:hover { text-decoration: underline; }
.nc-field__hint-text { color: var(--nc-fg-muted); font-size: .78rem; margin-top: .25rem; }
.nc-field__hint-text.is-error { color: var(--nc-crimson); }
.nc-field__hint-text.is-ok { color: var(--nc-green); }

/* Input wrapper for prefix + trailing button */
.nc-input-wrap {
	position: relative;
	display: flex;
	align-items: stretch;
}
.nc-input-prefix {
	display: inline-flex;
	align-items: center;
	padding: 0 .85rem;
	background: var(--nc-bg-soft);
	border: 1px solid var(--nc-line);
	border-right: 0;
	border-radius: var(--nc-r-md) 0 0 var(--nc-r-md);
	color: var(--nc-fg-muted);
	font-family: var(--nc-font-mono);
	font-size: .9rem;
}
.nc-input--prefix { border-radius: 0 var(--nc-r-md) var(--nc-r-md) 0; }
.nc-input-toggle {
	position: absolute;
	right: .35rem;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--nc-r-sm);
	color: var(--nc-fg-muted);
}
.nc-input-toggle:hover { background: var(--nc-bg-soft); color: var(--nc-fg); }

/* Password strength meter */
.nc-strength {
	margin-top: .5rem;
	animation: nc-fade-up .2s ease;
}
.nc-strength__bar {
	height: 4px;
	background: var(--nc-bg-soft);
	border-radius: 2px;
	overflow: hidden;
}
.nc-strength__bar span {
	display: block;
	height: 100%;
	width: 0;
	background: var(--nc-crimson);
	transition: width .25s ease, background .25s ease;
}
.nc-strength--s1 .nc-strength__bar span { width: 25%; background: var(--nc-crimson); }
.nc-strength--s2 .nc-strength__bar span { width: 50%; background: var(--nc-amber); }
.nc-strength--s3 .nc-strength__bar span { width: 75%; background: #8AB934; }
.nc-strength--s4 .nc-strength__bar span { width: 100%; background: var(--nc-green); }
.nc-strength__label {
	display: block;
	margin-top: .35rem;
	font-family: var(--nc-font-mono);
	font-size: .72rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--nc-fg-muted);
}

/* Social login button shell (Nextend renders inside) */
.nc-social-login {
	margin-bottom: 1rem;
}
.nc-social-login .nsl-button {
	width: 100% !important;
	border-radius: var(--nc-r-md) !important;
	height: 44px !important;
	font-family: var(--nc-font-body) !important;
	font-weight: 500 !important;
}

.nc-or {
	position: relative;
	text-align: center;
	font-family: var(--nc-font-mono);
	font-size: 10px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--nc-fg-muted);
	margin: 1rem 0;
}
.nc-or span { background: var(--nc-bg); padding: 0 .75rem; position: relative; z-index: 1; }
.nc-or::before {
	content: '';
	position: absolute;
	top: 50%; left: 0; right: 0;
	height: 1px;
	background: var(--nc-line);
}

/* CTA button: arrow nudges on hover */
.nc-auth-form .nc-btn--primary svg { transition: transform .2s ease; }
.nc-auth-form .nc-btn--primary:hover svg { transform: translateX(3px); }

/* State icons (verify, reset success/error) */
.nc-state-icon {
	display: inline-flex;
	margin: 0 auto 1rem;
	width: 80px;
	height: 80px;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--nc-bg-soft);
	animation: nc-pop .3s ease-out;
}
@keyframes nc-pop {
	0% { transform: scale(.85); opacity: 0; }
	100% { transform: scale(1); opacity: 1; }
}
.nc-state-icon--ok   { color: var(--nc-green); background: var(--nc-green-pale); }
.nc-state-icon--err  { color: var(--nc-crimson); background: var(--nc-crimson-pale); }
.nc-state-icon--mail { color: var(--nc-navy); background: var(--nc-navy-pale); }

.nc-resend {
	margin-top: 1rem;
	padding: .85rem 1rem;
	background: var(--nc-bg-soft);
	border-radius: var(--nc-r-md);
	text-align: center;
	font-size: .85rem;
	color: var(--nc-fg-muted);
}
.nc-resend a { color: var(--nc-link); font-weight: 500; }

/* Dark mode tweaks for auth */
@media (prefers-color-scheme: dark) {
	.nc-auth-split__form .nc-or span { background: var(--nc-bg); }
}

/* Hide the legacy .nc-auth card if it's still rendered anywhere */
.nc-shell--auth .nc-auth { display: none; }

/* ── Login modal ───────────────────────────────────────── */
.nc-modal {
	border: 0;
	padding: 0;
	background: var(--nc-bg-card);
	border-radius: var(--nc-r-md);
	width: min(440px, 92vw);
	box-shadow: 0 16px 48px rgba(0,0,0,.25);
	color: var(--nc-fg);
	border-top: 4px solid var(--nc-crimson);
}
.nc-modal::backdrop { background: rgba(20, 20, 20, .55); backdrop-filter: blur(2px); }
.nc-modal[open] { display: block; }
.nc-modal__inner { padding: 1.75rem 1.75rem 1.5rem; }
.nc-modal__head { text-align: center; margin-bottom: 1rem; }
.nc-modal__head p { color: var(--nc-fg-muted); font-size: .9rem; }
.nc-modal__close-form { margin: 0; }
.nc-modal__close {
	position: absolute; top: .5rem; right: .5rem;
	width: 32px; height: 32px;
	font-size: 22px; line-height: 1;
	color: var(--nc-fg-muted);
	border-radius: 999px;
}
.nc-modal__close:hover { background: var(--nc-bg-soft); color: var(--nc-fg); }
.nc-modal__foot {
	margin-top: 1rem;
	text-align: center;
	font-size: .85rem;
	color: var(--nc-fg-muted);
	display: flex; justify-content: center; gap: .5rem;
}

/* ── Submit form: rich-text toolbar + counter + per-field errors ─ */
.nc-field.is-error .nc-input,
.nc-field.is-error .nc-editor__area {
	border-color: var(--nc-crimson);
	box-shadow: 0 0 0 3px var(--nc-crimson-pale);
}
.nc-field__label-row [data-nc-counter] {
	font-family: var(--nc-font-mono);
	font-size: .72rem;
	color: var(--nc-fg-muted);
	letter-spacing: .04em;
}
.nc-field__label-row [data-nc-counter].is-ok    { color: var(--nc-green); }
.nc-field__label-row [data-nc-counter].is-error { color: var(--nc-crimson); }

.nc-editor {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--nc-line);
	border-radius: var(--nc-r-md);
	overflow: hidden;
	background: var(--nc-bg-card);
}
.nc-editor:focus-within {
	border-color: var(--nc-crimson);
	box-shadow: 0 0 0 3px var(--nc-crimson-pale);
}
.nc-editor__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2px;
	padding: .35rem .5rem;
	background: var(--nc-bg-soft);
	border-bottom: 1px solid var(--nc-line);
}
.nc-editor__btn {
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--nc-r-sm);
	color: var(--nc-fg-soft);
	font-size: .82rem;
}
.nc-editor__btn:hover { background: var(--nc-bg-card); color: var(--nc-crimson); }
.nc-editor__btn:active { background: var(--nc-crimson); color: #fff; }
.nc-editor__sep {
	width: 1px;
	height: 18px;
	background: var(--nc-line);
	margin: 0 6px;
	flex-shrink: 0;
}
.nc-editor__hint {
	margin-left: auto;
	font-family: var(--nc-font-mono);
	font-size: .7rem;
	color: var(--nc-fg-muted);
	letter-spacing: .04em;
	padding: 0 .25rem;
}
.nc-editor__note {
	display: block;
	margin-top: 8px;
	font-family: var(--nc-font-mono);
	font-size: 10.5px;
	color: var(--nc-fg-muted);
	letter-spacing: .03em;
}
/* v1.15.8 / v1.16.0 — editor variants
 * .nc-editor__btn--toggle: legacy Preview/Edit pills (kept for any
 * template still using the old textarea-only editor).
 * .nc-editor__btn--wide: wider word-label buttons used by the new
 * WYSIWYG (Heading, Sub-heading). */
.nc-editor__btn--toggle,
.nc-editor__btn--wide {
	width: auto !important;
	padding: 0 12px !important;
	font-family: var(--nc-font-mono) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .04em;
}
.nc-editor__preview {
	min-height: 280px;
	padding: 16px 18px;
	background: var(--nc-bg);
	border-top: 1px solid var(--nc-line);
	font-family: var(--nc-font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--nc-fg);
	overflow-wrap: break-word;
}
.nc-editor__preview:empty::before {
	content: '(Nothing to preview yet — switch back to Edit and start typing.)';
	color: var(--nc-fg-muted);
	font-style: italic;
}
.nc-editor__preview h1,
.nc-editor__preview h2,
.nc-editor__preview h3 { font-family: var(--nc-font-display); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; margin: 18px 0 8px; }
.nc-editor__preview h1 { font-size: 1.6rem; }
.nc-editor__preview h2 { font-size: 1.35rem; }
.nc-editor__preview h3 { font-size: 1.15rem; }
.nc-editor__preview p { margin: 0 0 12px; }
.nc-editor__preview ul,
.nc-editor__preview ol { margin: 0 0 12px; padding-left: 24px; }
.nc-editor__preview li { margin: 2px 0; }
.nc-editor__preview blockquote { margin: 12px 0; padding: 6px 0 6px 14px; border-left: 3px solid var(--nc-crimson); color: var(--nc-fg-muted); font-style: italic; }
.nc-editor__preview code { background: var(--nc-bg-card); padding: 1px 6px; border-radius: 3px; font-family: var(--nc-font-mono); font-size: 13px; }
.nc-editor__preview pre { background: var(--nc-bg-card); padding: 12px 14px; border-radius: 3px; overflow-x: auto; margin: 0 0 12px; }
.nc-editor__preview pre code { background: none; padding: 0; }
.nc-editor__preview a { color: var(--nc-crimson); text-decoration: underline; }
.nc-editor__preview strong { font-weight: 700; }
.nc-editor__preview em { font-style: italic; }
.nc-editor__preview del { text-decoration: line-through; opacity: .65; }

/* Rendered post-body styling for our markdown HTML output. Scopes to
 * the discussion thread + comment bodies so author/editor markup
 * (headings, code blocks, blockquotes, lists) gets brand styling. */
.nc-thread__body h2,
.nc-comment__body h2 { font-family: var(--nc-font-display); font-size: 22px; font-weight: 500; margin: 24px 0 12px; color: #1A1A1A; }
.nc-thread__body h3,
.nc-comment__body h3 { font-family: var(--nc-font-display); font-size: 18px; font-weight: 500; margin: 20px 0 10px; color: #1A1A1A; }
.nc-thread__body h4,
.nc-comment__body h4 { font-family: var(--nc-font-display); font-size: 16px; font-weight: 500; margin: 16px 0 8px; color: #1A1A1A; }
.nc-thread__body p,
.nc-comment__body p { margin: 0 0 14px; line-height: 1.65; }
.nc-thread__body ul,
.nc-thread__body ol,
.nc-comment__body ul,
.nc-comment__body ol { margin: 0 0 14px 1.4em; padding: 0; }
.nc-thread__body li,
.nc-comment__body li { margin-bottom: 6px; line-height: 1.6; }
.nc-thread__body blockquote,
.nc-comment__body blockquote {
	border-left: 3px solid #C41E3A;
	padding: 6px 14px;
	margin: 14px 0;
	font-style: italic;
	color: #4A4A4A;
	background: rgba(196, 30, 58, 0.04);
}
.nc-thread__body code,
.nc-comment__body code {
	font-family: 'DM Mono', ui-monospace, monospace;
	background: #F5F1E8;
	color: #1A1A1A;
	padding: 2px 6px;
	border-radius: 3px;
	font-size: .9em;
	border: 1px solid #E6E1D8;
}
.nc-thread__body pre,
.nc-comment__body pre {
	background: #1A1A1A;
	color: #FAFAF8;
	padding: 16px 18px;
	margin: 16px 0;
	overflow-x: auto;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 13px;
	line-height: 1.55;
	border-radius: 3px;
	-webkit-overflow-scrolling: touch;
}
.nc-thread__body pre code,
.nc-comment__body pre code {
	background: transparent;
	color: inherit;
	border: 0;
	padding: 0;
	border-radius: 0;
	font-size: inherit;
}
.nc-thread__body del,
.nc-comment__body del { color: #7A7A7A; }
.nc-editor__area {
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0;
	font-family: var(--nc-font-mono);
	font-size: .9rem;
	line-height: 1.65;
	min-height: 240px;
	background: transparent;
}

/* ── Image upload (submit form) ────────────────────────── */
.nc-image-drop {
	border: 2px dashed var(--nc-line);
	border-radius: var(--nc-r-md);
	padding: 1.5rem 1rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	color: var(--nc-fg-muted);
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}
.nc-image-drop:hover, .nc-image-drop.is-drag {
	border-color: var(--nc-crimson);
	background: var(--nc-crimson-pale);
	color: var(--nc-crimson-dark);
}
.nc-image-list { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }
.nc-image-preview {
	width: 80px; height: 80px;
	border-radius: var(--nc-r-md);
	overflow: hidden;
	border: 1px solid var(--nc-line);
}
.nc-image-preview img { width: 100%; height: 100%; object-fit: cover; }

/* ═════════════════════════════════════════════════════════
   HOMEPAGE — editorial split + stamps + rotating Q&A
   Self-contained .nc-hp-* prefix so it never collides with
   internal templates. Uses its own warmer palette pinned
   on this section.
   ═════════════════════════════════════════════════════════ */

.nc-hp-hero,
.nc-hp-stats,
.nc-hp-ticker,
.nc-hp-comms,
.nc-hp-how,
.nc-hp-trending,
.nc-hp-experts,
.nc-hp-manifesto,
.nc-hp-for-experts,
.nc-hp-closing {
	--hp-bg: #FAFAF8;
	--hp-bg-warm: #F3F2EE;
	--hp-paper: #FFFFFF;
	--hp-ink: #1A1A1A;
	--hp-ink-soft: #3D3D3D;
	--hp-muted: #6B6B6B;
	--hp-muted-soft: #9A9A9A;
	--hp-line: #E4E2DC;
	--hp-line-soft: #EFEEE9;
	--hp-primary: #C41E3A;
	--hp-primary-dark: #8B1226;
	--hp-accent: #C9A84C;
	--hp-accent-deep: #8B6B2E;
	--hp-green: #1A7A45;
	--hp-navy: #003893;
	--hp-verified: #1D9BF0;
	--hp-serif: 'Lexend', system-ui, sans-serif;
	--hp-sans: 'Lexend', system-ui, -apple-system, sans-serif;
	--hp-mono: 'DM Mono', ui-monospace, Menlo, monospace;
	--hp-dev: 'Lexend', system-ui, sans-serif;
	font-family: var(--hp-sans);
	color: var(--hp-ink);
}

.nc-hp-it { font-style: italic; color: var(--hp-primary); }
.nc-hp-ul {
	background: linear-gradient(180deg, transparent 65%, var(--hp-accent) 65%, var(--hp-accent) 90%, transparent 90%);
	padding: 0 4px;
}

.nc-verified { vertical-align: middle; }

/* ── Hero ──────────────────────────────────────────────── */
.nc-hp-hero {
	background: var(--hp-bg);
	padding: 64px 0 80px;
	position: relative;
	overflow: hidden;
}
.nc-hp-hero__watermark {
	position: absolute;
	bottom: -30px; left: -30px;
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: clamp(120px, 18vw, 240px);
	line-height: .85;
	color: var(--hp-primary);
	opacity: .04;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}
.nc-hp-hero__giantq {
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-58%);
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(280px, 38vw, 540px);
	line-height: .85;
	color: var(--hp-primary);
	z-index: 1;
	pointer-events: none;
	user-select: none;
	text-shadow: 8px 10px 0 var(--hp-ink);
	opacity: .92;
}
.nc-hp-hero__grid {
	position: relative;
	z-index: 5;
	display: grid;
	grid-template-columns: 1fr;
	gap: 56px;
	align-items: center;
}
@media (min-width: 980px) {
	.nc-hp-hero__grid { grid-template-columns: 1.05fr 1fr; gap: 80px; }
}

.nc-hp-hero__left { position: relative; z-index: 6; }

.nc-hp-tagline {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--hp-primary);
	background: rgba(160, 43, 47, .08);
	border: 1px solid rgba(160, 43, 47, .18);
	padding: 7px 14px;
	border-radius: 100px;
	margin-bottom: 28px;
}
.nc-hp-tagline__dot {
	width: 7px; height: 7px;
	background: var(--hp-primary);
	border-radius: 50%;
	position: relative;
}
.nc-hp-tagline__dot::after {
	content: '';
	position: absolute;
	inset: -4px;
	border: 1px solid var(--hp-primary);
	border-radius: 50%;
	opacity: .5;
	animation: nc-hp-ring 2s ease-out infinite;
}
@keyframes nc-hp-ring {
	0% { transform: scale(1); opacity: .7; }
	100% { transform: scale(2.2); opacity: 0; }
}

.nc-hp-hero__devanagari {
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1;
	color: var(--hp-ink-soft);
	margin-bottom: 12px;
}

.nc-hp-hero__title {
	font-family: var(--hp-serif);
	font-size: clamp(40px, 5.4vw, 72px);
	line-height: .98;
	letter-spacing: -.035em;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 24px;
}
.nc-hp-hero__accent {
	font-style: italic;
	font-weight: 400;
	color: var(--hp-primary);
	position: relative;
}
.nc-hp-hero__accent::after {
	content: '';
	position: absolute;
	bottom: .05em; left: -.05em; right: -.05em;
	height: .08em;
	background: var(--hp-accent);
	opacity: .4;
	z-index: -1;
}

.nc-hp-hero__sub {
	font-size: 17px;
	line-height: 1.55;
	color: var(--hp-muted);
	max-width: 520px;
	margin-bottom: 32px;
}
.nc-hp-hero__sub strong { color: var(--hp-ink); font-weight: 600; }

.nc-hp-hero__ctas {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.nc-hp-btn-big {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 16px 26px;
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 100px;
	border: 2px solid var(--hp-ink);
	box-shadow: 5px 5px 0 var(--hp-primary);
	transition: transform .15s, box-shadow .15s;
}
.nc-hp-btn-big:hover {
	transform: translate(3px, 3px);
	box-shadow: 2px 2px 0 var(--hp-primary);
	text-decoration: none;
	color: var(--hp-paper);
}
.nc-hp-btn-ghost {
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--hp-ink);
	text-decoration: none;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--hp-ink);
	transition: color .2s, border-color .2s;
}
.nc-hp-btn-ghost:hover { color: var(--hp-primary); border-color: var(--hp-primary); text-decoration: none; }

/* ── Q card slider ─────────────────────────────────────── */
.nc-hp-hero__right { position: relative; z-index: 6; }
.nc-hp-qcard {
	background: var(--hp-paper);
	border: 1.5px solid var(--hp-ink);
	border-radius: 18px;
	position: relative;
	box-shadow: 8px 8px 0 var(--hp-ink);
	overflow: hidden;
}
.nc-hp-qcard::before {
	content: 'LIVE';
	position: absolute;
	top: 16px; right: 18px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	padding: 4px 10px;
	border-radius: 4px;
	z-index: 10;
}
.nc-hp-qcard__slides {
	position: relative;
	min-height: 540px;
}
.nc-hp-qslide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .7s ease, visibility .7s;
	display: flex;
	flex-direction: column;
}
.nc-hp-qslide.is-active { opacity: 1; visibility: visible; }

.nc-hp-qslide__head {
	padding: 24px 28px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.nc-hp-qtag {
	display: inline-flex;
	align-items: center;
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--nc-comm-color, var(--hp-primary));
	background: rgba(160, 43, 47, .08);
	padding: 5px 10px;
	border-radius: 4px;
}
.nc-hp-qtime {
	font-family: var(--hp-mono);
	font-size: 11px;
	color: var(--hp-muted);
}
.nc-hp-qslide__body { padding: 8px 28px 16px; }
.nc-hp-qtitle {
	font-family: var(--hp-serif);
	font-size: clamp(20px, 2.2vw, 26px);
	line-height: 1.2;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 12px;
	letter-spacing: -.012em;
}
.nc-hp-qtitle a { color: inherit; text-decoration: none; }
.nc-hp-qtitle a:hover { color: var(--hp-primary); text-decoration: underline; }

.nc-hp-qasker {
	font-size: 13px;
	color: var(--hp-muted);
	display: flex;
	align-items: center;
	gap: 8px;
}
.nc-hp-handle {
	background: var(--hp-bg-warm);
	color: var(--hp-ink-soft);
	padding: 3px 8px;
	border-radius: 4px;
	font-family: var(--hp-mono);
	font-size: 11px;
}

.nc-hp-qdivider {
	position: relative;
	text-align: center;
	padding: 0 28px;
	margin: 12px 0 20px;
}
.nc-hp-qdivider::before {
	content: '';
	position: absolute;
	top: 50%; left: 28px; right: 28px;
	height: 1px;
	background: var(--hp-line);
}
.nc-hp-qdivider span {
	position: relative;
	background: var(--hp-paper);
	padding: 0 14px;
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--hp-muted);
	text-transform: uppercase;
}

.nc-hp-qanswer { padding: 0 28px 20px; }
.nc-hp-qexpert {
	display: flex;
	gap: 14px;
	margin-bottom: 14px;
}
.nc-hp-qavatar {
	width: 46px; height: 46px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: var(--hp-paper);
	font-size: 16px;
	flex-shrink: 0;
	position: relative;
}
.nc-hp-qavatar__tick {
	position: absolute;
	bottom: -2px; right: -2px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 2px;
	display: inline-flex;
}
.nc-hp-qexpert__info { flex: 1; min-width: 0; }
.nc-hp-qexpert__name {
	font-weight: 600;
	font-size: 14px;
	color: var(--hp-ink);
	margin-bottom: 2px;
}
.nc-hp-qexpert__cred {
	font-size: 12px;
	color: var(--hp-muted);
	line-height: 1.4;
}
.nc-hp-qexpert__cred .nc-lic { color: var(--hp-accent-deep); font-weight: 600; }

.nc-hp-qtext {
	font-size: 14px;
	line-height: 1.6;
	color: var(--hp-ink-soft);
}
.nc-hp-qtext::first-letter {
	font-family: var(--hp-serif);
	font-size: 2.4em;
	font-weight: 600;
	float: left;
	line-height: .85;
	margin: 4px 8px -4px 0;
	color: var(--hp-primary);
}

.nc-hp-qfoot {
	padding: 14px 28px;
	border-top: 1px solid var(--hp-line);
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(237, 229, 211, .35);
	margin-top: auto;
}
.nc-hp-qstats {
	display: flex;
	gap: 16px;
	font-family: var(--hp-mono);
	font-size: 11px;
	color: var(--hp-muted);
}
.nc-hp-qstats strong { color: var(--hp-ink); font-weight: 700; }
.nc-hp-qread {
	color: var(--hp-primary);
	text-decoration: none;
	font-size: 12px;
	font-weight: 600;
	font-family: var(--hp-mono);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.nc-hp-qread:hover { text-decoration: underline; }

.nc-hp-qctrl {
	margin-top: 22px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.nc-hp-qdots { display: flex; gap: 6px; }
.nc-hp-qdot {
	width: 32px; height: 4px;
	background: var(--hp-line);
	border: 0; cursor: pointer; padding: 0;
	position: relative; overflow: hidden;
	border-radius: 0;
}
.nc-hp-qdot.is-active { background: var(--hp-ink); }
.nc-hp-qdot.is-active::after {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 100%;
	background: var(--hp-primary);
	animation: nc-hp-dfill 7s linear forwards;
	transform-origin: left;
}
@keyframes nc-hp-dfill {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}
.nc-hp-qnav {
	width: 32px; height: 32px;
	background: var(--hp-paper);
	border: 1.5px solid var(--hp-ink);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	color: var(--hp-ink);
	border-radius: 50%;
	transition: background .15s, color .15s;
}
.nc-hp-qnav:hover { background: var(--hp-ink); color: var(--hp-paper); }
.nc-hp-qcount {
	font-family: var(--hp-mono);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hp-muted);
	margin-left: auto;
}
.nc-hp-qcount strong { color: var(--hp-ink); font-weight: 700; }

/* ── Mountains divider ─────────────────────────────────── */
.nc-hp-mountains {
	display: block;
	width: 100%;
	height: 56px;
	overflow: hidden;
	background: var(--hp-bg);
}
.nc-hp-mountains svg { display: block; width: 100%; height: 100%; }

/* ── Stats strip ───────────────────────────────────────── */
.nc-hp-stats {
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 32px 0;
}
.nc-hp-stats__row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}
@media (min-width: 768px) {
	.nc-hp-stats__row { grid-template-columns: repeat(4, 1fr); }
}
.nc-hp-stat {
	padding: 14px 28px;
	border-right: 1px solid rgba(250, 246, 238, .18);
	text-align: center;
}
.nc-hp-stat:last-child { border-right: none; }
@media (max-width: 767px) {
	.nc-hp-stat:nth-child(2) { border-right: none; }
	.nc-hp-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(250, 246, 238, .18); padding-bottom: 18px; }
	.nc-hp-stat:nth-child(n+3) { padding-top: 18px; }
}
.nc-hp-stat__num {
	font-family: var(--hp-serif);
	font-size: clamp(36px, 4.5vw, 56px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--hp-paper);
	margin-bottom: 8px;
}
.nc-hp-stat__num .acc { color: var(--hp-accent); font-style: italic; font-weight: 500; }
.nc-hp-stat__label {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(250, 246, 238, .65);
}

/* ── Ticker ────────────────────────────────────────────── */
.nc-hp-ticker {
	background: var(--hp-paper);
	color: var(--hp-ink);
	padding: 12px 0;
	overflow: hidden;
	border-top: 1.5px solid var(--hp-ink);
	border-bottom: 1.5px solid var(--hp-ink);
}
.nc-hp-ticker__track {
	display: flex;
	gap: 48px;
	animation: nc-hp-scroll 70s linear infinite;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 500;
	width: max-content;
}
.nc-hp-ticker__item { display: inline-flex; align-items: center; gap: 12px; }
.nc-hp-ticker__dot { width: 5px; height: 5px; border-radius: 50%; background: var(--hp-primary); flex-shrink: 0; }
@keyframes nc-hp-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ── Section headings ──────────────────────────────────── */
.nc-hp-kicker-head { margin-bottom: 56px; }
.nc-hp-kicker {
	display: flex;
	align-items: baseline;
	gap: 16px;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1.5px solid var(--hp-ink);
}
.nc-hp-kicker--alt { color: var(--hp-accent); border-bottom-color: rgba(250, 246, 238, .25); }
.nc-hp-kicker__roman {
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 16px;
	color: var(--hp-muted);
	letter-spacing: 0;
	text-transform: none;
	margin-left: auto;
}
.nc-hp-kicker--alt .nc-hp-kicker__roman { color: rgba(250, 246, 238, .65); }
.nc-hp-sec-head {
	font-family: var(--hp-serif);
	font-size: clamp(34px, 4.8vw, 60px);
	line-height: 1;
	letter-spacing: -.03em;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 14px;
	max-width: 800px;
}
.nc-hp-sec-deck {
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 18px;
	line-height: 1.5;
	color: var(--hp-muted);
	max-width: 600px;
}

/* ── Communities (stamp cards) ─────────────────────────── */
.nc-hp-comms { background: var(--hp-bg); padding: 80px 0 96px; }
.nc-hp-stamps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}
@media (min-width: 720px) { .nc-hp-stamps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .nc-hp-stamps { grid-template-columns: repeat(3, 1fr); } }

.nc-hp-stamp {
	position: relative;
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	color: inherit;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-shadow: 6px 6px 0 var(--hp-ink);
	transition: transform .25s, box-shadow .25s;
}
.nc-hp-stamp:hover {
	transform: translate(-3px, -3px);
	box-shadow: 9px 9px 0 var(--hp-ink);
	text-decoration: none;
}
.nc-hp-stamp__top {
	position: relative;
	padding: 24px 22px 32px;
	background: var(--nc-stamp-tint);
	min-height: 170px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
}
.nc-hp-stamp__emoji {
	position: absolute;
	font-size: 170px;
	line-height: 1;
	bottom: -38px; right: -18px;
	opacity: .22;
	user-select: none;
	transition: transform .4s, opacity .3s;
}
.nc-hp-stamp:hover .nc-hp-stamp__emoji { transform: rotate(-12deg) scale(1.08); opacity: .32; }
.nc-hp-stamp__row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 2;
}
.nc-hp-stamp__num {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-ink);
	opacity: .7;
}
.nc-hp-stamp__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px; height: 36px;
	border: 1.5px solid var(--hp-ink);
	border-radius: 50%;
	background: var(--hp-paper);
	font-family: var(--hp-dev);
	font-style: italic;
	font-weight: 600;
	font-size: 16px;
	color: var(--hp-primary);
	position: relative;
}
.nc-hp-stamp__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px; height: 52px;
	background: var(--hp-paper);
	border: 1.5px solid var(--hp-ink);
	border-radius: 12px;
	font-size: 24px;
	position: relative;
	z-index: 2;
	box-shadow: 3px 3px 0 var(--hp-ink);
	align-self: flex-start;
}
.nc-hp-stamp__perf {
	height: 14px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 14' preserveAspectRatio='none'><circle cx='10' cy='0' r='6' fill='%23FAF6EE'/><circle cx='0' cy='0' r='6' fill='%23FAF6EE'/><circle cx='20' cy='0' r='6' fill='%23FAF6EE'/></svg>");
	background-size: 20px 14px;
	background-repeat: repeat-x;
	border-top: 1.5px solid var(--hp-ink);
}
.nc-hp-stamp__body {
	padding: 22px 22px 20px;
	background: var(--hp-paper);
	flex: 1;
	display: flex;
	flex-direction: column;
}
.nc-hp-stamp__name {
	font-family: var(--hp-serif);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -.015em;
	color: var(--hp-ink);
	line-height: 1.1;
	margin-bottom: 4px;
}
.nc-hp-stamp__handle {
	font-family: var(--hp-mono);
	font-size: 12px;
	color: var(--hp-muted);
	margin-bottom: 12px;
}
.nc-hp-stamp__desc {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--hp-ink-soft);
	margin-bottom: auto;
	padding-bottom: 14px;
}
.nc-hp-stamp__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 12px;
	border-top: 1.5px dashed var(--hp-line);
}
.nc-hp-stamp__stat {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	color: var(--hp-ink-soft);
}
.nc-hp-stamp__stat strong {
	font-family: var(--hp-serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--hp-primary);
	margin-right: 4px;
}
.nc-hp-stamp__arrow {
	width: 30px; height: 30px;
	background: var(--hp-ink);
	color: var(--hp-paper);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	transition: transform .25s, background .2s;
}
.nc-hp-stamp:hover .nc-hp-stamp__arrow { transform: rotate(-45deg); background: var(--hp-primary); }
.nc-hp-stamp__ribbon {
	position: absolute;
	top: 12px; right: -28px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	font-family: var(--hp-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	padding: 4px 32px;
	transform: rotate(45deg);
	border-top: 1px solid var(--hp-paper);
	border-bottom: 1px solid var(--hp-paper);
	z-index: 5;
}

.nc-hp-explore {
	margin-top: 44px;
	padding: 28px 0;
	border-top: 3px double var(--hp-ink);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}
.nc-hp-explore__text {
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 17px;
	color: var(--hp-ink);
}
.nc-hp-explore__text strong { color: var(--hp-primary); font-style: normal; font-weight: 600; }
.nc-hp-explore__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--hp-paper);
	color: var(--hp-ink);
	padding: 14px 24px;
	border: 2px solid var(--hp-ink);
	text-decoration: none;
	font-family: var(--hp-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	box-shadow: 4px 4px 0 var(--hp-ink);
	transition: transform .15s, box-shadow .15s, background .2s, color .2s;
}
.nc-hp-explore__btn:hover {
	background: var(--hp-primary);
	color: var(--hp-paper);
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--hp-ink);
	text-decoration: none;
}

/* ── How it works (dark) ───────────────────────────────── */
.nc-hp-how {
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 80px 0 96px;
	position: relative;
	overflow: hidden;
}
.nc-hp-how::before {
	content: '?';
	position: absolute;
	font-family: var(--hp-serif);
	font-size: 720px;
	line-height: .8;
	font-style: italic;
	color: var(--hp-primary);
	opacity: .07;
	top: -120px; right: -40px;
	pointer-events: none;
}
.nc-hp-how .nc-hp-sec-head { color: var(--hp-paper); }
.nc-hp-how .nc-hp-sec-head .nc-hp-it { color: var(--hp-accent); }
.nc-hp-how .nc-hp-sec-deck { color: rgba(250, 246, 238, .7); }
.nc-hp-how .nc-hp-kicker-head { position: relative; z-index: 2; }

.nc-hp-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	position: relative;
	z-index: 2;
	list-style: none;
	padding: 0;
}
@media (min-width: 880px) { .nc-hp-steps { grid-template-columns: repeat(3, 1fr); } }

.nc-hp-step {
	background: rgba(250, 246, 238, .04);
	border: 1.5px solid rgba(250, 246, 238, .2);
	padding: 36px 26px 26px;
	position: relative;
	transition: background .3s, border-color .3s, transform .3s;
}
.nc-hp-step:hover {
	background: rgba(250, 246, 238, .08);
	border-color: var(--hp-accent);
	transform: translateY(-4px);
}
.nc-hp-step__num {
	position: absolute;
	top: -28px; left: 22px;
	width: 56px; height: 56px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 3px solid var(--hp-ink);
	box-shadow: 0 0 0 1px var(--hp-paper);
}
.nc-hp-step__label {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-accent);
	margin: 18px 0 14px;
}
.nc-hp-step__title {
	font-family: var(--hp-serif);
	font-size: 22px;
	line-height: 1.15;
	font-weight: 600;
	letter-spacing: -.015em;
	color: var(--hp-paper);
	margin-bottom: 12px;
}
.nc-hp-step__title .nc-hp-it { color: var(--hp-accent); }
.nc-hp-step__desc {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(250, 246, 238, .78);
	margin-bottom: 18px;
}
.nc-hp-step__note {
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 13px;
	color: var(--hp-accent);
	padding: 10px 14px;
	background: rgba(200, 155, 74, .1);
	border-left: 2px solid var(--hp-accent);
}

/* ── Trending tabs + grid ─────────────────────────────── */
.nc-hp-trending {
	background: var(--hp-bg);
	padding: 80px 0 96px;
}
.nc-hp-tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 32px;
	overflow-x: auto;
	padding-bottom: 8px;
	border-bottom: 1.5px solid var(--hp-ink);
	scrollbar-width: thin;
}
.nc-hp-tabs::-webkit-scrollbar { height: 4px; }
.nc-hp-tabs::-webkit-scrollbar-thumb { background: var(--hp-line); }

.nc-hp-tab {
	background: transparent;
	border: 0;
	padding: 12px 18px;
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--hp-muted);
	cursor: pointer;
	white-space: nowrap;
	border-bottom: 3px solid transparent;
	margin-bottom: -1.5px;
	transition: color .2s, border-color .2s;
}
.nc-hp-tab:hover { color: var(--hp-ink); }
.nc-hp-tab.is-active { color: var(--hp-primary); border-bottom-color: var(--hp-primary); }
.nc-hp-tab__count {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 500;
	opacity: .6;
	margin-left: 4px;
}

.nc-hp-trend-grid {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 2px solid var(--hp-ink);
	border-left: 2px solid var(--hp-ink);
}
@media (min-width: 720px) { .nc-hp-trend-grid { grid-template-columns: 1fr 1fr; } }
.nc-hp-trend {
	padding: 26px 24px;
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	background: var(--hp-paper);
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
	transition: background .2s;
}
.nc-hp-trend:hover { background: var(--hp-bg-warm); text-decoration: none; }
.nc-hp-trend.is-hidden { display: none; }
.nc-hp-trend__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.nc-hp-trend__cat {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-paper);
	background: var(--hp-primary);
	padding: 3px 8px;
}
.nc-hp-trend__time {
	font-family: var(--hp-mono);
	font-size: 10px;
	letter-spacing: .1em;
	color: var(--hp-muted);
	text-transform: uppercase;
}
.nc-hp-trend__title {
	font-family: var(--hp-serif);
	font-size: 19px;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: -.012em;
	color: var(--hp-ink);
	margin-bottom: 10px;
}
.nc-hp-trend__prev {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--hp-muted);
	margin-bottom: 18px;
	flex: 1;
}
.nc-hp-trend__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 12px;
	border-top: 1px dashed var(--hp-line);
	font-size: 12px;
}
.nc-hp-trend__by {
	color: var(--hp-ink-soft);
	font-family: var(--hp-mono);
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.nc-hp-trend__by strong { color: var(--hp-ink); }
.nc-hp-trend__eng { color: var(--hp-muted); font-family: var(--hp-mono); }
.nc-hp-trend-empty {
	grid-column: 1 / -1;
	padding: 48px 24px;
	text-align: center;
	background: var(--hp-paper);
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	color: var(--hp-muted);
}

/* ── Experts grid ──────────────────────────────────────── */
.nc-hp-experts {
	background: var(--hp-bg);
	padding: 80px 0 96px;
	border-top: 1px solid var(--hp-ink);
}
.nc-hp-exp-grid {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 2px solid var(--hp-ink);
	border-left: 2px solid var(--hp-ink);
}
@media (min-width: 720px) { .nc-hp-exp-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nc-hp-exp-grid { grid-template-columns: repeat(4, 1fr); } }
.nc-hp-exp {
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	padding: 30px 24px;
	background: var(--hp-paper);
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	transition: background .2s;
}
.nc-hp-exp:hover { background: var(--hp-bg-warm); text-decoration: none; }
.nc-hp-exp__num {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	color: var(--hp-muted);
	margin-bottom: 20px;
}
.nc-hp-exp__avatar {
	width: 80px; height: 80px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: var(--hp-paper);
	font-size: 26px;
	margin-bottom: 18px;
	border: 3px solid var(--hp-ink);
	box-shadow: 3px 3px 0 var(--hp-ink);
	position: relative;
	background: linear-gradient(135deg, var(--nc-exp-color, var(--hp-primary)), var(--hp-ink));
}
.nc-hp-exp__tick {
	position: absolute;
	bottom: -4px; right: -4px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 3px;
	border: 2px solid var(--hp-paper);
	display: inline-flex;
}
.nc-hp-exp__name {
	font-family: var(--hp-serif);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -.015em;
	color: var(--hp-ink);
	line-height: 1.15;
	margin-bottom: 4px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.nc-hp-exp__spec {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 14px;
}
.nc-hp-exp__cred {
	font-size: 13px;
	line-height: 1.5;
	color: var(--hp-muted);
	margin-bottom: auto;
	padding-bottom: 14px;
}
.nc-hp-exp__lic {
	font-family: var(--hp-mono);
	font-size: 10px;
	color: var(--hp-accent-deep);
	letter-spacing: .05em;
	font-weight: 700;
	margin-bottom: 10px;
}
.nc-hp-exp__stats {
	display: flex;
	gap: 14px;
	padding-top: 12px;
	border-top: 1px dashed var(--hp-line);
	font-family: var(--hp-mono);
	font-size: 11px;
	color: var(--hp-muted);
}
.nc-hp-exp__stats strong { color: var(--hp-ink); font-weight: 700; }

/* ── Manifesto ────────────────────────────────────────── */
.nc-hp-manifesto {
	background: var(--hp-primary);
	color: var(--hp-paper);
	padding: 80px 0;
	position: relative;
	overflow: hidden;
}
.nc-hp-manifesto::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='none' stroke='%23FAF6EE' stroke-width='1' opacity='.16'><path d='M40 8 L72 40 L40 72 L8 40 Z'/><path d='M40 20 L60 40 L40 60 L20 40 Z'/><circle cx='40' cy='40' r='3'/></g></svg>");
	background-size: 80px 80px;
	pointer-events: none;
}
.nc-hp-manifesto__watermark {
	position: absolute;
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: clamp(120px, 16vw, 240px);
	line-height: .8;
	color: var(--hp-paper);
	opacity: .08;
	bottom: -40px; left: -20px;
	pointer-events: none;
	z-index: 1;
}
.nc-hp-manifesto > .nc-shell { position: relative; z-index: 3; }
.nc-hp-manifesto__kicker {
	display: inline-flex;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	background: var(--hp-paper);
	color: var(--hp-primary);
	padding: 7px 14px;
	margin-bottom: 32px;
}
.nc-hp-manifesto__title {
	font-family: var(--hp-serif);
	font-size: clamp(30px, 4.5vw, 52px);
	line-height: 1.05;
	letter-spacing: -.025em;
	font-weight: 500;
	margin-bottom: 44px;
	max-width: 1000px;
	color: var(--hp-paper);
}
.nc-hp-manifesto__title .nc-hp-it { color: var(--hp-accent); }
.nc-hp-manifesto__grid {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1.5px solid rgba(250, 246, 238, .3);
}
@media (min-width: 720px) { .nc-hp-manifesto__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nc-hp-manifesto__grid { grid-template-columns: repeat(4, 1fr); } }
.nc-hp-mf {
	padding: 24px;
	border-right: 1.5px solid rgba(250, 246, 238, .3);
	border-bottom: 1.5px solid rgba(250, 246, 238, .3);
}
@media (min-width: 1024px) {
	.nc-hp-mf:last-child { border-right: none; border-bottom: 1.5px solid transparent; }
	.nc-hp-mf:nth-last-child(-n+1) { border-bottom: none; }
}
.nc-hp-mf__icon { font-size: 26px; margin-bottom: 12px; }
.nc-hp-mf__title {
	font-family: var(--hp-serif);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -.01em;
	margin-bottom: 8px;
	color: var(--hp-paper);
}
.nc-hp-mf__desc {
	font-size: 13.5px;
	line-height: 1.55;
	color: rgba(250, 246, 238, .88);
}

/* ── For Experts ──────────────────────────────────────── */
.nc-hp-for-experts {
	background: linear-gradient(180deg, var(--hp-bg) 0%, var(--hp-bg-warm) 100%);
	padding: 80px 0 96px;
}
.nc-hp-fe-urgency {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 10px 18px;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin-bottom: 22px;
}
.nc-hp-fe-urgency__dot {
	width: 8px; height: 8px;
	background: var(--hp-accent);
	border-radius: 50%;
	animation: nc-hp-pulse 1.5s ease-in-out infinite;
}
@keyframes nc-hp-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: .4; transform: scale(1.4); }
}
.nc-hp-fe-headline {
	font-family: var(--hp-serif);
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1;
	letter-spacing: -.03em;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 18px;
	max-width: 900px;
}
.nc-hp-fe-sub {
	font-size: 18px;
	line-height: 1.5;
	color: var(--hp-muted);
	max-width: 720px;
	margin-bottom: 48px;
}
.nc-hp-fe-sub strong { color: var(--hp-ink); font-weight: 600; }

.nc-hp-fe-benefits {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 2px solid var(--hp-ink);
	border-left: 2px solid var(--hp-ink);
	margin-bottom: 48px;
}
@media (min-width: 720px) { .nc-hp-fe-benefits { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nc-hp-fe-benefits { grid-template-columns: repeat(3, 1fr); } }
.nc-hp-fe-benefit {
	padding: 30px 26px;
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	background: var(--hp-paper);
	transition: background .25s;
}
.nc-hp-fe-benefit:hover { background: var(--hp-bg-warm); }
.nc-hp-fe-benefit__tag {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--hp-primary);
	margin-bottom: 16px;
	display: block;
}
.nc-hp-fe-benefit h4 {
	font-family: var(--hp-serif);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -.015em;
	color: var(--hp-ink);
	line-height: 1.15;
	margin-bottom: 10px;
}
.nc-hp-fe-benefit p { font-size: 14px; line-height: 1.55; color: var(--hp-ink-soft); }

.nc-hp-fe-process {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 36px 32px;
	margin-bottom: 32px;
	box-shadow: 6px 6px 0 var(--hp-ink);
}
.nc-hp-fe-process__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--hp-line);
}
.nc-hp-fe-process__title {
	font-family: var(--hp-serif);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -.015em;
	color: var(--hp-ink);
}
.nc-hp-fe-process__note {
	font-family: var(--hp-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hp-muted);
}
.nc-hp-fe-process__note strong { color: var(--hp-green); }
.nc-hp-fe-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	list-style: none;
	padding: 0;
}
@media (min-width: 768px) { .nc-hp-fe-steps { grid-template-columns: repeat(3, 1fr); gap: 36px; } }
.nc-hp-fe-steps li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.nc-hp-fe-steps__num {
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--hp-primary);
	color: var(--hp-paper);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 17px;
	flex-shrink: 0;
	border: 2px solid var(--hp-ink);
}
.nc-hp-fe-steps li strong {
	font-family: var(--hp-serif);
	font-size: 16px;
	font-weight: 600;
	color: var(--hp-ink);
	display: block;
	margin-bottom: 4px;
}
.nc-hp-fe-steps li p { font-size: 13px; line-height: 1.5; color: var(--hp-muted); }

.nc-hp-fe-cta {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.nc-hp-fe-apply {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 20px 32px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	text-decoration: none;
	font-family: var(--hp-sans);
	font-size: 16px;
	font-weight: 700;
	border: 2px solid var(--hp-ink);
	box-shadow: 6px 6px 0 var(--hp-ink);
	border-radius: 100px;
	transition: transform .15s, box-shadow .15s, background .2s;
}
.nc-hp-fe-apply:hover {
	transform: translate(3px, 3px);
	box-shadow: 3px 3px 0 var(--hp-ink);
	background: var(--hp-primary-dark);
	text-decoration: none;
	color: var(--hp-paper);
}
.nc-hp-fe-cta__meta {
	font-family: var(--hp-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hp-muted);
}
.nc-hp-fe-cta__meta strong { color: var(--hp-ink); }

/* ── Closing ──────────────────────────────────────────── */
.nc-hp-closing {
	background: var(--hp-bg);
	padding: 96px 0 80px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.nc-hp-closing__q {
	position: absolute;
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(280px, 36vw, 560px);
	line-height: .85;
	color: var(--hp-primary);
	opacity: .08;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.nc-hp-closing > .nc-shell { position: relative; z-index: 2; }
.nc-hp-closing__mark {
	display: inline-block;
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 20px;
	color: var(--hp-primary);
	margin-bottom: 22px;
	letter-spacing: .3em;
}
.nc-hp-closing__h {
	font-family: var(--hp-serif);
	font-size: clamp(36px, 5vw, 60px);
	line-height: 1.05;
	letter-spacing: -.03em;
	font-weight: 500;
	color: var(--hp-ink);
	margin: 0 auto 16px;
	max-width: 900px;
}
.nc-hp-closing__dev {
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: clamp(20px, 2.4vw, 28px);
	color: var(--hp-muted);
	margin-bottom: 36px;
}
.nc-hp-closing__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 20px 36px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	text-decoration: none;
	font-family: var(--hp-sans);
	font-size: 16px;
	font-weight: 700;
	border: 2px solid var(--hp-ink);
	box-shadow: 6px 6px 0 var(--hp-ink);
	transition: transform .15s, box-shadow .15s, background .2s;
}
.nc-hp-closing__btn:hover {
	transform: translate(3px, 3px);
	box-shadow: 3px 3px 0 var(--hp-ink);
	background: var(--hp-primary-dark);
	text-decoration: none;
	color: var(--hp-paper);
}
.nc-hp-closing__note {
	margin-top: 24px;
	font-family: var(--hp-mono);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-muted);
}

/* ── Small-screen polish ──────────────────────────────── */
@media (max-width: 720px) {
	.nc-hp-hero { padding: 40px 0 56px; }
	.nc-hp-hero__giantq { font-size: 220px; right: -70px; bottom: 40px; left: auto; transform: none; opacity: .35; }
	.nc-hp-stats { padding: 24px 0; }
	.nc-hp-stat { padding: 18px 16px; }
	.nc-hp-stat__num { font-size: 30px; }
	.nc-hp-qcard__slides { min-height: 600px; }
	.nc-hp-fe-process { padding: 26px 22px; }
	.nc-hp-fe-cta { flex-direction: column; align-items: stretch; }
	.nc-hp-fe-apply { justify-content: center; }
}

/* ═════════════════════════════════════════════════════════
   ALL ROOMS PAGE — same warm palette as homepage
   ═════════════════════════════════════════════════════════ */

.nc-rooms-header,
.nc-rooms-stats,
.nc-rooms-toolbar,
.nc-rooms-section,
.nc-rooms-why,
.nc-rooms-suggest {
	--hp-bg: #FAFAF8;
	--hp-bg-warm: #F3F2EE;
	--hp-paper: #FFFFFF;
	--hp-ink: #1A1A1A;
	--hp-ink-soft: #3D3D3D;
	--hp-muted: #6B6B6B;
	--hp-muted-soft: #9A9A9A;
	--hp-line: #E4E2DC;
	--hp-line-soft: #EFEEE9;
	--hp-primary: #C41E3A;
	--hp-primary-dark: #8B1226;
	--hp-accent: #C9A84C;
	--hp-accent-deep: #8B6B2E;
	--hp-green: #1A7A45;
	--hp-navy: #003893;
	--hp-verified: #1D9BF0;
	--hp-serif: 'Lexend', system-ui, sans-serif;
	--hp-sans: 'Lexend', system-ui, -apple-system, sans-serif;
	--hp-mono: 'DM Mono', ui-monospace, Menlo, monospace;
	--hp-dev: 'Lexend', system-ui, sans-serif;
	font-family: var(--hp-sans);
	color: var(--hp-ink);
}

.nc-rooms-it { font-style: italic; color: var(--hp-primary); }

/* ── Header / breadcrumb ──────────────────────────────── */
.nc-rooms-header {
	background: var(--hp-bg);
	padding: 28px 0 56px;
	position: relative;
	overflow: hidden;
}
.nc-rooms-crumb {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-bottom: 28px;
}
.nc-rooms-crumb a { color: var(--hp-muted); text-decoration: none; }
.nc-rooms-crumb a:hover { color: var(--hp-primary); }
.nc-rooms-crumb__sep { color: var(--hp-muted-soft); margin: 0 10px; }
.nc-rooms-crumb__cur { color: var(--hp-ink); }

.nc-rooms-header__watermark {
	position: absolute;
	bottom: -30px; right: -40px;
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: clamp(140px, 18vw, 280px);
	line-height: .85;
	color: var(--hp-primary);
	opacity: .05;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}
.nc-rooms-header__inner {
	position: relative;
	z-index: 2;
	max-width: 1100px;
}
.nc-rooms-kicker {
	display: inline-flex;
	align-items: baseline;
	gap: 16px;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 22px;
	padding-bottom: 12px;
	padding-right: 24px;
	border-bottom: 1.5px solid var(--hp-ink);
}
.nc-rooms-kicker__roman {
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 16px;
	color: var(--hp-muted);
	letter-spacing: 0;
	text-transform: none;
}
.nc-rooms-header__dev {
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: clamp(28px, 3.6vw, 44px);
	line-height: 1;
	color: var(--hp-ink-soft);
	margin-bottom: 14px;
}
.nc-rooms-header__h1 {
	font-family: var(--hp-serif);
	font-size: clamp(42px, 5.8vw, 76px);
	line-height: .98;
	letter-spacing: -.035em;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 22px;
}
.nc-rooms-header__sub {
	font-size: 17px;
	line-height: 1.55;
	color: var(--hp-muted);
	max-width: 660px;
}
.nc-rooms-header__sub strong { color: var(--hp-ink); font-weight: 600; }

/* ── Stats strip ──────────────────────────────────────── */
.nc-rooms-stats {
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 30px 0;
	border-top: 1px solid var(--hp-ink);
	border-bottom: 1px solid var(--hp-ink);
}
.nc-rooms-stats__row {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
}
@media (min-width: 768px) { .nc-rooms-stats__row { grid-template-columns: repeat(4, 1fr); } }
.nc-rooms-stat {
	padding: 12px 26px;
	text-align: center;
	border-right: 1px solid rgba(250, 246, 238, .18);
}
.nc-rooms-stat:last-child { border-right: none; }
@media (max-width: 767px) {
	.nc-rooms-stat:nth-child(2) { border-right: none; }
	.nc-rooms-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(250, 246, 238, .18); padding-bottom: 16px; }
	.nc-rooms-stat:nth-child(n+3) { padding-top: 16px; }
}
.nc-rooms-stat__num {
	font-family: var(--hp-serif);
	font-size: clamp(34px, 4.4vw, 52px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--hp-paper);
	margin-bottom: 6px;
}
.nc-rooms-stat__num .acc { color: var(--hp-accent); font-style: italic; font-weight: 500; }
.nc-rooms-stat__num .sm  { font-size: .5em; opacity: .7; letter-spacing: 0; }
.nc-rooms-stat__label {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(250, 246, 238, .65);
}

/* ── Toolbar (filter + sort) ──────────────────────────── */
.nc-rooms-toolbar { background: var(--hp-bg); padding: 48px 0 24px; }
.nc-rooms-toolbar__inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 22px;
	flex-wrap: wrap;
	padding-bottom: 22px;
	border-bottom: 2px solid var(--hp-ink);
}
.nc-rooms-tabs-wrap { flex: 1; min-width: 0; }
.nc-rooms-tabs-label {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-muted);
	margin-bottom: 12px;
}
.nc-rooms-tabs {
	display: flex;
	gap: 4px;
	overflow-x: auto;
	scrollbar-width: thin;
	padding-bottom: 4px;
}
.nc-rooms-tabs::-webkit-scrollbar { height: 3px; }
.nc-rooms-tabs::-webkit-scrollbar-thumb { background: var(--hp-line); }
.nc-rooms-tab {
	background: transparent;
	border: 1.5px solid transparent;
	padding: 9px 16px;
	font-family: var(--hp-sans);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--hp-muted);
	cursor: pointer;
	white-space: nowrap;
	transition: color .2s, background .2s, border-color .2s;
	border-radius: 100px;
}
.nc-rooms-tab:hover { color: var(--hp-ink); border-color: var(--hp-line); }
.nc-rooms-tab.is-active {
	background: var(--hp-ink);
	color: var(--hp-paper);
	border-color: var(--hp-ink);
}
.nc-rooms-tab__count {
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 500;
	opacity: .65;
	margin-left: 5px;
}
.nc-rooms-sort {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
.nc-rooms-sort__label {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-muted);
}
.nc-rooms-sort__select {
	appearance: none;
	background: var(--hp-paper);
	border: 1.5px solid var(--hp-ink);
	padding: 9px 36px 9px 14px;
	font-family: var(--hp-sans);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--hp-ink);
	cursor: pointer;
	border-radius: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='%231A1410'%3E%3Cpath d='M6 8L0 0h12z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 10px;
}

/* ── Rooms grid ──────────────────────────────────────── */
.nc-rooms-section { background: var(--hp-bg); padding: 0 0 72px; }
.nc-rooms-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 26px;
}
@media (min-width: 880px) { .nc-rooms-grid { grid-template-columns: repeat(2, 1fr); } }

.nc-room {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	box-shadow: 6px 6px 0 var(--hp-ink);
	transition: transform .25s, box-shadow .25s;
}
.nc-room:hover {
	transform: translate(-3px, -3px);
	box-shadow: 9px 9px 0 var(--hp-ink);
	text-decoration: none;
}
.nc-room.is-hidden { display: none; }

.nc-room__band {
	position: relative;
	padding: 22px 26px 26px;
	min-height: 130px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	overflow: hidden;
	border-bottom: 2px solid var(--hp-ink);
	background: var(--nc-room-tint, #E8D4A8);
}
.nc-room__band-bg {
	position: absolute;
	font-size: 190px;
	line-height: 1;
	bottom: -50px;
	right: -30px;
	opacity: .18;
	pointer-events: none;
	user-select: none;
	transition: transform .4s, opacity .3s;
	z-index: 1;
}
.nc-room:hover .nc-room__band-bg { transform: rotate(-10deg) scale(1.06); opacity: .28; }
.nc-room__band-left {
	display: flex;
	flex-direction: column;
	gap: 14px;
	z-index: 2;
}
.nc-room__num {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-ink);
	opacity: .65;
}
.nc-room__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background: var(--hp-paper);
	border: 1.5px solid var(--hp-ink);
	border-radius: 14px;
	font-size: 28px;
	box-shadow: 3px 3px 0 var(--hp-ink);
}
.nc-room__mark {
	position: absolute;
	top: 20px; right: 22px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px; height: 40px;
	border: 1.5px solid var(--hp-ink);
	border-radius: 50%;
	background: var(--hp-paper);
	font-family: var(--hp-dev);
	font-style: italic;
	font-weight: 600;
	font-size: 17px;
	color: var(--hp-primary);
}
.nc-room__mark::after {
	content: '';
	position: absolute;
	inset: 3px;
	border: 1px dashed var(--hp-ink);
	border-radius: 50%;
	opacity: .4;
}

.nc-room__body {
	padding: 24px 26px 26px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.nc-room__name {
	font-family: var(--hp-serif);
	font-size: 26px;
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.1;
	color: var(--hp-ink);
	margin-bottom: 4px;
}
.nc-room__np {
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: 15px;
	color: var(--hp-muted);
	margin-bottom: 12px;
}
.nc-room__desc {
	font-size: 14px;
	line-height: 1.55;
	color: var(--hp-ink-soft);
	margin-bottom: 22px;
}

.nc-room__panel {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px dashed var(--hp-line);
}
.nc-room__panel-label {
	font-family: var(--hp-mono);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-muted);
	flex-shrink: 0;
}
.nc-room__avatars { display: flex; align-items: center; }
.nc-room__avatar {
	width: 30px; height: 30px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: var(--hp-paper);
	font-size: 11px;
	border: 2px solid var(--hp-paper);
	position: relative;
	margin-left: -8px;
	box-shadow: 0 0 0 1.5px var(--hp-ink);
}
.nc-room__avatar:first-child { margin-left: 0; }
.nc-room__avatar[data-c="1"] { background: linear-gradient(135deg, #C41E3A, #8B1226); }
.nc-room__avatar[data-c="2"] { background: linear-gradient(135deg, #4A6B3E, #2D4A26); }
.nc-room__avatar[data-c="3"] { background: linear-gradient(135deg, #8B6B2E, #5C4517); }
.nc-room__avatar[data-c="4"] { background: linear-gradient(135deg, #2D5773, #1A3850); }
.nc-room__avatar[data-c="5"] { background: linear-gradient(135deg, #6B3D7A, #4A2A56); }
.nc-room__avatar-tick {
	position: absolute;
	bottom: -3px;
	right: -4px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 1px;
	display: inline-flex;
}
.nc-room__avatar-more {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	color: var(--hp-muted);
	margin-left: 10px;
}

.nc-room__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-bottom: 20px;
}
.nc-room__stat {
	text-align: left;
	border-right: 1px solid var(--hp-line);
	padding-right: 12px;
}
.nc-room__stat:last-child { border-right: none; padding-right: 0; }
.nc-room__stat:not(:first-child) { padding-left: 12px; }
.nc-room__stat-num {
	font-family: var(--hp-serif);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--hp-ink);
	line-height: 1;
	margin-bottom: 4px;
}
.nc-room__stat-num .ac { color: var(--hp-primary); font-style: italic; font-weight: 500; }
.nc-room__stat-num .sm { font-size: .6em; opacity: .7; }
.nc-room__stat-label {
	font-family: var(--hp-mono);
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-muted);
}

.nc-room__latest {
	background: var(--hp-bg-warm);
	padding: 13px 15px;
	margin-bottom: 20px;
	border-left: 3px solid var(--hp-primary);
	font-size: 13px;
	line-height: 1.5;
	color: var(--hp-ink-soft);
}
.nc-room__latest-label {
	display: block;
	font-family: var(--hp-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 4px;
}
.nc-room__latest-q { color: var(--hp-ink); font-weight: 500; }
.nc-room__latest-meta {
	display: block;
	font-family: var(--hp-mono);
	font-size: 10.5px;
	color: var(--hp-muted);
	margin-top: 6px;
}

.nc-room__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--hp-line);
}
.nc-room__domain {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-muted);
}
.nc-room__enter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hp-ink);
	transition: color .2s;
}
.nc-room:hover .nc-room__enter { color: var(--hp-primary); }
.nc-room__enter-arrow {
	width: 26px; height: 26px;
	background: var(--hp-ink);
	color: var(--hp-paper);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	transition: transform .25s, background .2s;
}
.nc-room:hover .nc-room__enter-arrow {
	transform: rotate(-45deg);
	background: var(--hp-primary);
}

.nc-room.is-featured::before {
	content: '★ MOST ACTIVE';
	position: absolute;
	top: 12px; left: -34px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	font-family: var(--hp-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .18em;
	padding: 4px 36px;
	transform: rotate(-45deg);
	border-top: 1px solid var(--hp-paper);
	border-bottom: 1px solid var(--hp-paper);
	z-index: 5;
}
.nc-room__ribbon {
	position: absolute;
	top: 12px; right: -34px;
	background: var(--hp-accent);
	color: var(--hp-ink);
	font-family: var(--hp-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	padding: 4px 36px;
	transform: rotate(45deg);
	border-top: 1px solid var(--hp-paper);
	border-bottom: 1px solid var(--hp-paper);
	z-index: 5;
}

.nc-room-empty {
	grid-column: 1 / -1;
	padding: 64px 24px;
	text-align: center;
	background: var(--hp-paper);
	border: 2px dashed var(--hp-line);
}
.nc-room-empty__icon { font-size: 44px; margin-bottom: 12px; opacity: .5; }
.nc-room-empty__title {
	font-family: var(--hp-serif);
	font-size: 22px;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 6px;
}
.nc-room-empty__desc { color: var(--hp-muted); font-size: 14px; }

/* ── Why join a room ──────────────────────────────────── */
.nc-rooms-why {
	background: var(--hp-bg);
	padding: 72px 0 80px;
	border-top: 1px solid var(--hp-ink);
	border-bottom: 1px solid var(--hp-ink);
	position: relative;
	overflow: hidden;
}
.nc-rooms-why::before {
	content: '?';
	position: absolute;
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 540px;
	line-height: .7;
	color: var(--hp-primary);
	opacity: .045;
	top: -60px;
	right: -40px;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}
.nc-rooms-why > .nc-shell { position: relative; z-index: 2; }
.nc-rooms-h2 {
	font-family: var(--hp-serif);
	font-size: clamp(34px, 4.6vw, 56px);
	line-height: 1;
	letter-spacing: -.025em;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 14px;
	max-width: 900px;
}
.nc-rooms-deck {
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 18px;
	line-height: 1.5;
	color: var(--hp-muted);
	max-width: 720px;
	margin-bottom: 48px;
}
.nc-rooms-deck strong { color: var(--hp-ink); font-style: normal; font-weight: 600; }

.nc-rooms-reasons {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 2px solid var(--hp-ink);
	border-left: 2px solid var(--hp-ink);
	margin-top: 48px;
}
@media (min-width: 880px) { .nc-rooms-reasons { grid-template-columns: repeat(2, 1fr); } }
.nc-rooms-reason {
	padding: 32px 28px 28px;
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	background: var(--hp-paper);
	display: flex;
	flex-direction: column;
	position: relative;
	transition: background .25s;
}
.nc-rooms-reason:hover { background: var(--hp-bg-warm); }
.nc-rooms-reason__num {
	position: absolute;
	top: 22px; right: 24px;
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 72px;
	line-height: .8;
	color: var(--hp-primary);
	opacity: .18;
	pointer-events: none;
}
.nc-rooms-reason__icon { font-size: 32px; margin-bottom: 16px; display: inline-block; }
.nc-rooms-reason__kicker {
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 12px;
}
.nc-rooms-reason__title {
	font-family: var(--hp-serif);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--hp-ink);
	line-height: 1.1;
	margin-bottom: 12px;
}
.nc-rooms-reason__desc {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--hp-ink-soft);
	margin-bottom: 18px;
}
.nc-rooms-reason__desc strong { color: var(--hp-ink); font-weight: 600; }
.nc-rooms-reason__quote {
	margin-top: auto;
	padding: 13px 15px;
	background: var(--hp-bg-warm);
	border-left: 3px solid var(--hp-accent);
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 14px;
	line-height: 1.5;
	color: var(--hp-ink-soft);
}
.nc-rooms-reason__attr {
	display: block;
	margin-top: 8px;
	font-family: var(--hp-mono);
	font-style: normal;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hp-muted);
}

.nc-rooms-versus {
	margin-top: 56px;
	display: grid;
	grid-template-columns: 1fr 60px 1fr;
	gap: 0;
	align-items: stretch;
}
@media (max-width: 880px) {
	.nc-rooms-versus { grid-template-columns: 1fr; }
}
.nc-rooms-versus__col {
	padding: 30px 28px;
	border: 2px solid var(--hp-ink);
}
.nc-rooms-versus__col--bad { background: var(--hp-paper); opacity: .9; }
.nc-rooms-versus__col--good {
	background: var(--hp-ink);
	color: var(--hp-paper);
	box-shadow: 6px 6px 0 var(--hp-primary);
}
.nc-rooms-versus__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 42px;
	font-weight: 500;
	color: var(--hp-primary);
}
@media (max-width: 880px) {
	.nc-rooms-versus__arrow {
		padding: 14px 0;
		transform: rotate(90deg);
		font-size: 28px;
	}
}
.nc-rooms-versus__label {
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin-bottom: 16px;
	display: inline-block;
}
.nc-rooms-versus__col--bad .nc-rooms-versus__label { color: var(--hp-muted); }
.nc-rooms-versus__col--good .nc-rooms-versus__label { color: var(--hp-accent); }
.nc-rooms-versus__list { list-style: none; padding: 0; margin: 0; }
.nc-rooms-versus__list li {
	padding: 10px 0 10px 28px;
	font-size: 14px;
	line-height: 1.45;
	position: relative;
	border-bottom: 1px dashed var(--hp-line);
}
.nc-rooms-versus__list li:last-child { border-bottom: none; }
.nc-rooms-versus__col--good .nc-rooms-versus__list li { border-bottom-color: rgba(250, 246, 238, .15); }
.nc-rooms-versus__col--bad .nc-rooms-versus__list li::before {
	content: '✕';
	position: absolute;
	left: 0; top: 10px;
	color: var(--hp-primary);
	font-weight: 700;
	font-size: 16px;
}
.nc-rooms-versus__col--good .nc-rooms-versus__list li::before {
	content: '✓';
	position: absolute;
	left: 0; top: 10px;
	color: #5ED66B;
	font-weight: 700;
	font-size: 16px;
}

.nc-rooms-access {
	margin-top: 48px;
	padding: 24px 30px;
	background: var(--hp-paper);
	border: 2px dashed var(--hp-ink);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	flex-wrap: wrap;
}
.nc-rooms-access__text {
	font-family: var(--hp-serif);
	font-size: 16px;
	line-height: 1.45;
	color: var(--hp-ink);
	max-width: 720px;
}
.nc-rooms-access__text strong { color: var(--hp-primary); font-weight: 700; }
.nc-rooms-access__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--hp-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hp-ink);
	text-decoration: none;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--hp-ink);
	white-space: nowrap;
}
.nc-rooms-access__cta:hover { color: var(--hp-primary); border-color: var(--hp-primary); text-decoration: none; }

/* ── Suggest a room ───────────────────────────────────── */
.nc-rooms-suggest { background: var(--hp-bg); padding: 0 0 88px; }
.nc-rooms-suggest__card {
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 52px 44px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: center;
	position: relative;
	overflow: hidden;
	border: 2px solid var(--hp-ink);
	box-shadow: 8px 8px 0 var(--hp-primary);
}
@media (min-width: 980px) { .nc-rooms-suggest__card { grid-template-columns: 1.4fr 1fr; gap: 52px; } }
.nc-rooms-suggest__card::before {
	content: '+';
	position: absolute;
	font-family: var(--hp-serif);
	font-style: italic;
	font-weight: 500;
	font-size: 440px;
	line-height: .7;
	color: var(--hp-primary);
	opacity: .18;
	top: -50px;
	right: -30px;
	pointer-events: none;
	user-select: none;
}
.nc-rooms-suggest__content { position: relative; z-index: 2; }
.nc-rooms-suggest__kicker {
	display: inline-flex;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-accent);
	margin-bottom: 14px;
}
.nc-rooms-suggest__title {
	font-family: var(--hp-serif);
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.05;
	letter-spacing: -.025em;
	font-weight: 500;
	color: var(--hp-paper);
	margin-bottom: 14px;
}
.nc-rooms-suggest__desc {
	font-size: 15px;
	line-height: 1.55;
	color: rgba(250, 246, 238, .78);
}
.nc-rooms-suggest__actions {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.nc-rooms-suggest__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 18px 26px;
	background: var(--hp-accent);
	color: var(--hp-ink);
	text-decoration: none;
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	border: 2px solid var(--hp-paper);
	border-radius: 4px;
	transition: background .15s, color .15s;
}
.nc-rooms-suggest__btn:hover { background: var(--hp-paper); color: var(--hp-ink); text-decoration: none; }
.nc-rooms-suggest__btn--ghost {
	background: transparent;
	color: var(--hp-accent);
	border-color: var(--hp-accent);
}
.nc-rooms-suggest__btn--ghost:hover { background: var(--hp-accent); color: var(--hp-ink); }
.nc-rooms-suggest__note {
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: rgba(250, 246, 238, .5);
	text-align: center;
}

/* Tiny-screen polish */
@media (max-width: 480px) {
	.nc-rooms-header { padding: 20px 0 36px; }
	.nc-rooms-header__h1 { font-size: 36px; }
	.nc-room__band { padding: 18px 20px; min-height: 100px; }
	.nc-room__icon { width: 48px; height: 48px; font-size: 22px; }
	.nc-room__body { padding: 20px 20px 22px; }
	.nc-room__name { font-size: 22px; }
	.nc-room__stats { grid-template-columns: 1fr; gap: 10px; }
	.nc-room__stat { border-right: none !important; padding: 0 !important; }
	.nc-room__stat:not(:last-child) { padding-bottom: 10px !important; border-bottom: 1px dashed var(--hp-line) !important; }
	.nc-rooms-suggest__card { padding: 32px 22px; box-shadow: 4px 4px 0 var(--hp-primary); }
	.nc-rooms-suggest__card::before { font-size: 280px; }
}

/* ═════════════════════════════════════════════════════════
   COMMUNITY ROOM PAGE — single taxonomy view
   ═════════════════════════════════════════════════════════ */

.nc-room-page {
	--hp-bg: #FAFAF8;
	--hp-bg-warm: #F3F2EE;
	--hp-paper: #FFFFFF;
	--hp-ink: #1A1A1A;
	--hp-ink-soft: #3D3D3D;
	--hp-muted: #6B6B6B;
	--hp-muted-soft: #9A9A9A;
	--hp-line: #E4E2DC;
	--hp-line-soft: #EFEEE9;
	--hp-primary: #C41E3A;
	--hp-primary-dark: #8B1226;
	--hp-accent: #C9A84C;
	--hp-accent-deep: #8B6B2E;
	--hp-green: #1A7A45;
	--hp-navy: #003893;
	--hp-verified: #1D9BF0;
	--hp-serif: 'Lexend', system-ui, sans-serif;
	--hp-sans: 'Lexend', system-ui, -apple-system, sans-serif;
	--hp-mono: 'DM Mono', ui-monospace, Menlo, monospace;
	--hp-dev: 'Lexend', system-ui, sans-serif;
	background: var(--hp-bg);
	color: var(--hp-ink);
	font-family: var(--hp-sans);
	padding-bottom: 64px;
}

.nc-room-crumb {
	padding: 20px 0 0;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.nc-room-crumb a { color: var(--hp-muted); text-decoration: none; }
.nc-room-crumb a:hover { color: var(--hp-primary); }
.nc-room-crumb__sep { color: var(--hp-muted-soft); margin: 0 10px; }
.nc-room-crumb__cur { color: var(--hp-ink); }

/* ── Hero ──────────────────────────────────────────────── */
/* v1.3.1: parchment hero, tint reduced to a 6px left accent stripe
 * + a faint top wash so each community keeps a colour identity without
 * flooding the page. Same editorial discipline as /experts/ + dashboards. */
.nc-room-hero {
	position: relative;
	margin-top: 22px;
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	border-left: 6px solid var(--nc-room-tint, var(--hp-primary));
	padding: 44px 50px 40px;
	overflow: hidden;
	box-shadow: 8px 8px 0 var(--hp-ink);
}
.nc-room-hero::after {
	/* whisper-quiet top wash so the tint is felt, not seen */
	content: '';
	position: absolute;
	left: 0; right: 0; top: 0; height: 120px;
	background: linear-gradient(to bottom, var(--nc-room-tint, transparent), transparent);
	opacity: .35;
	pointer-events: none;
}
@media (max-width: 880px) { .nc-room-hero { padding: 32px 26px; box-shadow: 5px 5px 0 var(--hp-ink); } }
.nc-room-hero__bg {
	position: absolute;
	font-size: 420px;
	line-height: 1;
	bottom: -120px;
	right: -50px;
	opacity: .08; /* was .16 — too loud against parchment */
	pointer-events: none;
	user-select: none;
	transform: rotate(-8deg);
}
.nc-room-hero__mark {
	position: absolute;
	top: 24px; right: 28px;
	z-index: 4;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px; height: 56px;
	border: 2px solid var(--hp-ink);
	border-radius: 50%;
	background: var(--hp-paper);
	font-family: var(--hp-dev);
	font-style: italic;
	font-weight: 600;
	font-size: 22px;
	color: var(--hp-primary);
}
.nc-room-hero__mark::after {
	content: '';
	position: absolute;
	inset: 4px;
	border: 1px dashed var(--hp-ink);
	border-radius: 50%;
	opacity: .4;
}
.nc-room-hero__grid {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: end;
}
@media (min-width: 980px) { .nc-room-hero__grid { grid-template-columns: 1fr 320px; gap: 52px; } }
.nc-room-hero__left { display: flex; flex-direction: column; }
.nc-room-hero__meta {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--hp-ink);
}
.nc-room-hero__no {
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 4px 10px;
}
.nc-room-hero__domain { opacity: .7; }
.nc-room-hero__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px; height: 80px;
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	border-radius: 18px;
	font-size: 38px;
	margin-bottom: 22px;
	box-shadow: 5px 5px 0 var(--hp-ink);
}
.nc-room-hero__name {
	font-family: var(--hp-serif);
	font-size: clamp(46px, 5.8vw, 80px);
	font-weight: 600;
	letter-spacing: -.035em;
	line-height: .95;
	color: var(--hp-ink);
	margin-bottom: 10px;
}
.nc-room-hero__dev {
	font-family: var(--hp-dev);
	font-style: italic;
	font-size: clamp(20px, 2.4vw, 28px);
	color: var(--hp-ink-soft);
	margin-bottom: 22px;
}
.nc-room-hero__desc {
	font-size: 17px;
	line-height: 1.55;
	color: var(--hp-ink-soft);
	max-width: 580px;
	margin-bottom: 28px;
}
.nc-room-hero__desc strong { color: var(--hp-ink); font-weight: 600; }
.nc-room-hero__ctas { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.nc-room-hero__cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 26px;
	background: var(--hp-ink);
	color: var(--hp-paper);
	text-decoration: none;
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 700;
	border: 2px solid var(--hp-ink);
	box-shadow: 5px 5px 0 var(--hp-primary);
	border-radius: 100px;
	transition: transform .15s, box-shadow .15s;
}
.nc-room-hero__cta-primary:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--hp-primary); text-decoration: none; color: var(--hp-paper); }
.nc-room-hero__cta-ghost {
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--hp-ink);
	text-decoration: none;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--hp-ink);
}
.nc-room-hero__cta-ghost:hover { color: var(--hp-primary); border-color: var(--hp-primary); text-decoration: none; }

.nc-room-hero__stats {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 24px 24px;
	box-shadow: 5px 5px 0 var(--hp-ink);
	position: relative;
	z-index: 3;
}
.nc-room-hero__stats-head {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--hp-ink);
	display: flex;
	align-items: center;
	gap: 8px;
}
.nc-room-hero__stats-head::before {
	content: '';
	width: 7px; height: 7px;
	border-radius: 50%;
	background: #5ED66B;
	animation: nc-hp-pulse 2s ease-in-out infinite;
}
.nc-room-hero__stat-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px dashed var(--hp-line);
}
.nc-room-hero__stat-row:last-child { border-bottom: none; }
.nc-room-hero__stat-label { font-size: 13px; color: var(--hp-muted); }
.nc-room-hero__stat-num {
	font-family: var(--hp-serif);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--hp-ink);
}
.nc-room-hero__stat-num .ac { color: var(--hp-primary); font-style: italic; font-weight: 500; }
.nc-room-hero__stat-num .sm { font-size: .55em; opacity: .7; }

/* ── Panel strip ──────────────────────────────────────── */
.nc-room-panel-sec { padding: 56px 0 28px; }
.nc-room-panel-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
	padding-bottom: 12px;
	border-bottom: 1.5px solid var(--hp-ink);
	flex-wrap: wrap;
}
.nc-room-panel-kicker {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
}
.nc-room-panel-meta {
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 14px;
	color: var(--hp-muted);
}
.nc-room-panel-strip {
	display: grid;
	/* auto-fit: a single-expert room fills the row instead of leaving 4 empty cells.
	 * minmax 240px keeps cards readable when there are 1-2 panelists, while still
	 * snapping to 5-wide at desktop widths once the room has a full panel. */
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	border-top: 2px solid var(--hp-ink);
	border-left: 2px solid var(--hp-ink);
	max-width: 100%;
}
.nc-room-panelist {
	padding: 22px 18px;
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	background: var(--hp-paper);
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	transition: background .2s;
}
.nc-room-panelist:hover { background: var(--hp-bg-warm); text-decoration: none; }
.nc-room-panelist__avatar {
	width: 52px; height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: var(--hp-paper);
	font-size: 17px;
	margin-bottom: 12px;
	border: 2px solid var(--hp-ink);
	position: relative;
	box-shadow: 2px 2px 0 var(--hp-ink);
}
.nc-room-panelist__avatar[data-c="1"] { background: linear-gradient(135deg, #C41E3A, #8B1226); }
.nc-room-panelist__avatar[data-c="2"] { background: linear-gradient(135deg, #4A6B3E, #2D4A26); }
.nc-room-panelist__avatar[data-c="3"] { background: linear-gradient(135deg, #8B6B2E, #5C4517); }
.nc-room-panelist__avatar[data-c="4"] { background: linear-gradient(135deg, #2D5773, #1A3850); }
.nc-room-panelist__avatar[data-c="5"] { background: linear-gradient(135deg, #6B3D7A, #4A2A56); }
.nc-room-panelist__tick {
	position: absolute;
	bottom: -3px; right: -3px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 2px;
	display: inline-flex;
}
.nc-room-panelist__status {
	font-family: var(--hp-mono);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: .18em;
	margin-bottom: 6px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.nc-room-panelist__status::before {
	content: '';
	width: 6px; height: 6px;
	border-radius: 50%;
	background: currentColor;
}
.nc-room-panelist__status--online { color: var(--hp-green); }
.nc-room-panelist__status--away   { color: var(--hp-muted); }
.nc-room-panelist__name {
	font-family: var(--hp-serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -.012em;
	color: var(--hp-ink);
	line-height: 1.15;
	margin-bottom: 3px;
}
.nc-room-panelist__spec {
	font-size: 12.5px;
	color: var(--hp-muted);
	line-height: 1.4;
	margin-bottom: 12px;
}
.nc-room-panelist__foot {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px dashed var(--hp-line);
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 600;
	color: var(--hp-muted);
}
.nc-room-panelist__foot strong { color: var(--hp-ink); font-weight: 700; }

/* ── Topic pills ─────────────────────────────────────── */
.nc-room-topic-sec { padding: 12px 0 28px; }
.nc-room-topic-label {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-muted);
	margin-bottom: 12px;
}
.nc-room-topic-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.nc-room-topic {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: var(--hp-paper);
	border: 1.5px solid var(--hp-ink);
	font-family: var(--hp-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--hp-ink-soft);
	cursor: pointer;
	border-radius: 100px;
	transition: background .15s, color .15s;
}
.nc-room-topic:hover { background: var(--hp-bg-warm); }
.nc-room-topic.is-active { background: var(--hp-ink); color: var(--hp-paper); }
.nc-room-topic__count {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 500;
	opacity: .65;
}

/* ── Main layout ──────────────────────────────────────── */
.nc-room-main {
	padding: 22px 0 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px;
	align-items: start;
}
@media (min-width: 1024px) { .nc-room-main { grid-template-columns: 1fr 320px; gap: 44px; } }

/* Feed tabs */
.nc-room-feed-tabs {
	display: flex;
	gap: 0;
	border-bottom: 2px solid var(--hp-ink);
	margin-bottom: 22px;
}
.nc-room-feed-tab {
	background: transparent;
	border: 0;
	padding: 14px 20px 12px;
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--hp-muted);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: -2px;
	border-bottom: 3px solid transparent;
	transition: color .2s;
}
.nc-room-feed-tab:hover { color: var(--hp-ink); }
.nc-room-feed-tab.is-active { color: var(--hp-primary); border-bottom-color: var(--hp-primary); }
.nc-room-feed-tab__count {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 500;
	opacity: .65;
}
.nc-room-feed-tab__badge {
	background: var(--hp-accent);
	color: var(--hp-ink);
	font-family: var(--hp-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 2px 6px;
	border-radius: 3px;
	margin-left: 4px;
}

/* Sort row */
.nc-room-feed-ctrl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.nc-room-feed-count {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hp-muted);
}
.nc-room-feed-count strong { color: var(--hp-ink); font-weight: 700; }
.nc-room-feed-sort { display: flex; gap: 4px; align-items: center; }
.nc-room-feed-sort__btn {
	background: transparent;
	border: 0;
	padding: 6px 11px;
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hp-muted);
	cursor: pointer;
	border-radius: 4px;
	text-decoration: none;
}
.nc-room-feed-sort__btn:hover { background: var(--hp-bg-warm); color: var(--hp-ink); text-decoration: none; }
.nc-room-feed-sort__btn.is-active { background: var(--hp-ink); color: var(--hp-paper); text-decoration: none; }

/* Pinned post */
.nc-room-pinned {
	background: linear-gradient(135deg, var(--hp-ink) 0%, #2D2520 100%);
	color: var(--hp-paper);
	padding: 26px 28px;
	border: 2px solid var(--hp-ink);
	margin-bottom: 22px;
	position: relative;
	box-shadow: 5px 5px 0 var(--hp-accent);
	display: block;
	text-decoration: none;
}
.nc-room-pinned:hover { text-decoration: none; }
.nc-room-pinned__tag {
	position: absolute;
	top: -14px; left: 22px;
	background: var(--hp-accent);
	color: var(--hp-ink);
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	padding: 5px 12px;
	border: 2px solid var(--hp-ink);
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 6px;
}
.nc-room-pinned__tag::before { content: '📌'; }
.nc-room-pinned__title {
	font-family: var(--hp-serif);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.15;
	color: var(--hp-paper);
	margin-top: 10px;
	margin-bottom: 10px;
}
.nc-room-pinned__desc {
	font-size: 14px;
	line-height: 1.55;
	color: rgba(250, 246, 238, .78);
	margin-bottom: 16px;
}
.nc-room-pinned__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hp-accent);
	padding-bottom: 4px;
	border-bottom: 1.5px solid var(--hp-accent);
}

/* Question feed items */
.nc-room-q-feed { display: flex; flex-direction: column; gap: 14px; }
.nc-room-q {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 22px 24px;
	text-decoration: none;
	color: inherit;
	display: flex;
	gap: 18px;
	transition: transform .2s, box-shadow .2s;
}
.nc-room-q:hover {
	transform: translate(-2px, -2px);
	box-shadow: 4px 4px 0 var(--hp-ink);
	text-decoration: none;
}
.nc-room-q.is-hidden { display: none; }

.nc-room-q__vote {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding-right: 16px;
	border-right: 1px dashed var(--hp-line);
	min-width: 60px;
}
.nc-room-q__vote-num {
	font-family: var(--hp-serif);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--hp-ink);
	line-height: 1;
}
.nc-room-q__vote-num .ar { color: var(--hp-primary); font-style: italic; font-size: .65em; margin-right: 2px; }
.nc-room-q--open .nc-room-q__vote-num .ar { color: var(--hp-accent); }
.nc-room-q__vote-label {
	font-family: var(--hp-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-muted);
}

.nc-room-q__content { flex: 1; min-width: 0; }
.nc-room-q__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}
.nc-room-q__tag {
	display: inline-flex;
	font-family: var(--hp-mono);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-primary);
	background: rgba(160, 43, 47, .1);
	padding: 3px 8px;
}
.nc-room-q--open .nc-room-q__tag { color: var(--hp-accent-deep); background: rgba(200, 155, 74, .18); }
.nc-room-q__time {
	font-family: var(--hp-mono);
	font-size: 10.5px;
	color: var(--hp-muted);
}
.nc-room-q__status {
	font-family: var(--hp-mono);
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	padding: 3px 8px;
	margin-left: auto;
}
.nc-room-q__status--answered { color: var(--hp-green); background: rgba(74, 107, 62, .12); }
.nc-room-q__status--open     { color: var(--hp-accent-deep); background: rgba(200, 155, 74, .18); }

.nc-room-q__title {
	font-family: var(--hp-serif);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: -.012em;
	color: var(--hp-ink);
	line-height: 1.25;
	margin-bottom: 10px;
	display: block;
}
.nc-room-q__prev {
	font-size: 14px;
	line-height: 1.55;
	color: var(--hp-muted);
	margin-bottom: 12px;
}
.nc-room-q__foot {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding-top: 12px;
	border-top: 1px dashed var(--hp-line);
	font-size: 12px;
	color: var(--hp-muted);
}
.nc-room-q__by {
	display: flex;
	align-items: center;
	gap: 8px;
}
.nc-room-q__avatar {
	width: 22px; height: 22px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: var(--hp-paper);
	font-size: 10px;
	border: 1.5px solid var(--hp-ink);
	position: relative;
	flex-shrink: 0;
}
.nc-room-q__avatar[data-c="1"] { background: linear-gradient(135deg, #C41E3A, #8B1226); }
.nc-room-q__avatar[data-c="2"] { background: linear-gradient(135deg, #4A6B3E, #2D4A26); }
.nc-room-q__avatar[data-c="3"] { background: linear-gradient(135deg, #8B6B2E, #5C4517); }
.nc-room-q__avatar[data-c="4"] { background: linear-gradient(135deg, #2D5773, #1A3850); }
.nc-room-q__avatar[data-c="5"] { background: linear-gradient(135deg, #6B3D7A, #4A2A56); }
.nc-room-q__avatar-tick {
	position: absolute;
	bottom: -2px; right: -2px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 1px;
	display: inline-flex;
}
.nc-room-q__by-name { font-weight: 600; color: var(--hp-ink); font-size: 12.5px; }
.nc-room-q__by-anon { color: var(--hp-muted); font-weight: 500; font-size: 12.5px; }
.nc-room-q__stats {
	display: flex;
	gap: 14px;
	margin-left: auto;
	font-family: var(--hp-mono);
	font-size: 11px;
}
.nc-room-q__stats strong { color: var(--hp-ink); font-weight: 700; }

/* Inline CTA */
.nc-room-feed-cta {
	background: linear-gradient(135deg, var(--hp-paper) 0%, var(--hp-bg-warm) 100%);
	padding: 24px 28px;
	border: 2px dashed var(--hp-ink);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 12px 0;
	flex-wrap: wrap;
}
.nc-room-feed-cta__text {
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 17px;
	color: var(--hp-ink);
	flex: 1;
}
.nc-room-feed-cta__text strong { color: var(--hp-primary); font-style: normal; font-weight: 600; }
.nc-room-feed-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	text-decoration: none;
	font-family: var(--hp-sans);
	font-size: 13px;
	font-weight: 700;
	border: 2px solid var(--hp-ink);
	box-shadow: 4px 4px 0 var(--hp-ink);
	border-radius: 100px;
	transition: transform .15s, box-shadow .15s, background .2s;
}
.nc-room-feed-cta__btn:hover {
	transform: translate(2px, 2px);
	box-shadow: 2px 2px 0 var(--hp-ink);
	background: var(--hp-primary-dark);
	text-decoration: none;
	color: var(--hp-paper);
}

.nc-room-empty-feed {
	padding: 64px 24px;
	text-align: center;
	background: var(--hp-paper);
	border: 2px dashed var(--hp-line);
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
	color: var(--hp-muted);
}

.nc-room-pagination { padding: 32px 0 0; text-align: center; }
.nc-room-pagination .page-numbers {
	display: inline-block;
	padding: 8px 12px;
	border: 1.5px solid var(--hp-ink);
	background: var(--hp-paper);
	color: var(--hp-ink);
	margin: 0 2px;
	font-family: var(--hp-mono);
	font-size: 12px;
	text-decoration: none;
}
.nc-room-pagination .page-numbers.current { background: var(--hp-primary); color: var(--hp-paper); border-color: var(--hp-primary); }

/* ── Sidebar ─────────────────────────────────────────── */
.nc-room-sidebar {
	display: flex;
	flex-direction: column;
	gap: 22px;
}
@media (min-width: 1024px) {
	.nc-room-sidebar { position: sticky; top: 24px; }
}
.nc-room-sb {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 22px 22px;
}
.nc-room-sb__head {
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--hp-ink);
}

.nc-room-rules {
	list-style: none;
	counter-reset: nc-ru;
	padding: 0;
}
.nc-room-rules li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 10px;
	padding: 10px 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--hp-ink-soft);
	border-bottom: 1px dashed var(--hp-line);
}
.nc-room-rules li:last-child { border-bottom: none; }
.nc-room-rules li::before {
	content: counter(nc-ru, decimal-leading-zero);
	counter-increment: nc-ru;
	font-family: var(--hp-mono);
	font-size: 10.5px;
	font-weight: 700;
	color: var(--hp-primary);
	padding-top: 2px;
}
.nc-room-rules li strong { color: var(--hp-ink); font-weight: 600; }

/* AMA / live-event card — editorial restraint.
 * Parchment surface + gold left-accent + small "LIVE" dot. Previous
 * version was a flood of crimson with white text — gameshow-y and
 * mismatched with the rest of the editorial sidebar. */
.nc-room-sb--ama {
	background: var(--hp-paper);
	color: var(--hp-ink);
	border-left: 4px solid var(--hp-accent, #C9A84C);
	box-shadow: 4px 4px 0 var(--hp-ink);
	position: relative;
	overflow: hidden;
}
.nc-room-sb--ama::before {
	content: '● LIVE';
	position: absolute;
	top: 14px; right: 14px;
	color: var(--hp-primary);
	font-family: var(--hp-mono);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .18em;
}
.nc-room-sb--ama .nc-room-sb__head {
	color: var(--hp-accent, #8B6B2E);
	border-bottom-color: var(--hp-line);
}
.nc-room-ama__title {
	font-family: var(--hp-serif);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.2;
	color: var(--hp-ink);
	margin-bottom: 10px;
}
.nc-room-ama__title .nc-hp-it {
	color: var(--hp-primary);
	font-style: italic;
}
.nc-room-ama__when {
	font-family: var(--hp-mono);
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--hp-muted);
	margin-bottom: 14px;
}
.nc-room-ama__when strong { color: var(--hp-ink); font-weight: 700; }
.nc-room-ama__host {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: var(--hp-bg-warm, rgba(0,0,0,.03));
	border: 1px solid var(--hp-line);
	margin-bottom: 14px;
}
.nc-room-ama__host-avatar {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: linear-gradient(135deg, #4A6B3E, #2D4A26);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	font-size: 13px;
	color: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	position: relative;
	flex-shrink: 0;
}
.nc-room-ama__host-tick {
	position: absolute;
	bottom: -2px; right: -2px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 1px;
	display: inline-flex;
}
.nc-room-ama__host-name { font-weight: 700; font-size: 12.5px; color: var(--hp-ink); }
.nc-room-ama__host-spec { font-size: 11px; color: var(--hp-muted); }
.nc-room-ama__btn {
	display: block;
	text-align: center;
	padding: 11px 16px;
	background: var(--hp-ink);
	color: var(--hp-paper);
	text-decoration: none;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	border: 1.5px solid var(--hp-ink);
	transition: background .15s ease;
}
.nc-room-ama__btn:hover {
	background: var(--hp-primary);
	border-color: var(--hp-primary);
	color: var(--hp-paper);
	text-decoration: none;
}

/* Online experts list */
.nc-room-sb-exp {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px dashed var(--hp-line);
}
.nc-room-sb-exp:last-child { border-bottom: none; }
.nc-room-sb-exp__avatar {
	width: 36px; height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: var(--hp-paper);
	font-size: 12px;
	border: 2px solid var(--hp-ink);
	position: relative;
	flex-shrink: 0;
}
.nc-room-sb-exp__avatar[data-c="1"] { background: linear-gradient(135deg, #C41E3A, #8B1226); }
.nc-room-sb-exp__avatar[data-c="2"] { background: linear-gradient(135deg, #4A6B3E, #2D4A26); }
.nc-room-sb-exp__avatar[data-c="3"] { background: linear-gradient(135deg, #8B6B2E, #5C4517); }
.nc-room-sb-exp__avatar[data-c="4"] { background: linear-gradient(135deg, #2D5773, #1A3850); }
.nc-room-sb-exp__avatar[data-c="5"] { background: linear-gradient(135deg, #6B3D7A, #4A2A56); }
.nc-room-sb-exp__status {
	position: absolute;
	bottom: -2px; right: -2px;
	width: 12px; height: 12px;
	border-radius: 50%;
	border: 2px solid var(--hp-paper);
}
.nc-room-sb-exp__status--online { background: #5ED66B; }
.nc-room-sb-exp__status--away   { background: var(--hp-accent); }
.nc-room-sb-exp__info { flex: 1; min-width: 0; }
.nc-room-sb-exp__name {
	font-weight: 700;
	font-size: 12.5px;
	color: var(--hp-ink);
	display: flex;
	align-items: center;
	gap: 4px;
}
.nc-room-sb-exp__name-tick { display: inline-flex; }
.nc-room-sb-exp__spec { font-size: 11px; color: var(--hp-muted); margin-top: 1px; }
.nc-room-sb-exp__btn {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 6px 10px;
	background: var(--hp-ink);
	color: var(--hp-paper);
	text-decoration: none;
	flex-shrink: 0;
}
.nc-room-sb-exp__btn:hover { background: var(--hp-primary); text-decoration: none; color: var(--hp-paper); }

/* Contributors */
.nc-room-sb-con {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--hp-line);
}
.nc-room-sb-con:last-child { border-bottom: none; }
.nc-room-sb-con__rank {
	font-family: var(--hp-serif);
	font-style: italic;
	font-size: 18px;
	font-weight: 500;
	color: var(--hp-primary);
	width: 28px;
	line-height: 1;
	flex-shrink: 0;
}
.nc-room-sb-con__name {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--hp-ink);
	flex: 1;
}
.nc-room-sb-con__handle {
	font-family: var(--hp-mono);
	font-size: 11px;
	color: var(--hp-muted);
	display: block;
	font-weight: 400;
	margin-top: 1px;
}
.nc-room-sb-con__pts {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	color: var(--hp-accent-deep);
}

/* Related rooms */
.nc-room-sb-rel {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 0;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px dashed var(--hp-line);
	transition: padding .2s;
}
.nc-room-sb-rel:last-child { border-bottom: none; }
.nc-room-sb-rel:hover { padding-left: 4px; text-decoration: none; }
.nc-room-sb-rel__icon {
	width: 36px; height: 36px;
	background: var(--hp-bg-warm);
	border: 1.5px solid var(--hp-ink);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0;
}
.nc-room-sb-rel__info { flex: 1; min-width: 0; }
.nc-room-sb-rel__name { font-weight: 600; font-size: 13px; color: var(--hp-ink); }
.nc-room-sb-rel__stat {
	font-family: var(--hp-mono);
	font-size: 10.5px;
	color: var(--hp-muted);
	margin-top: 1px;
}
.nc-room-sb-rel__arrow { font-size: 16px; color: var(--hp-muted); }

/* Tiny screens — feed item stacks vertically */
@media (max-width: 600px) {
	.nc-room-q { flex-direction: column; padding: 20px 18px; gap: 12px; }
	.nc-room-q__vote {
		flex-direction: row;
		align-items: baseline;
		padding: 0 0 12px 0;
		border-right: 0;
		border-bottom: 1px dashed var(--hp-line);
		min-width: auto;
		gap: 10px;
		width: 100%;
	}
	.nc-room-q__vote-num { font-size: 20px; }
	.nc-room-q__title { font-size: 16px; }
	.nc-room-q__stats { margin-left: 0; gap: 10px; }
}

/* ═════════════════════════════════════════════════════════
   EXPERT FOUNDATION PAGES — profile, become-expert,
   dashboard, book, my-bookings, pricing. Shared --hp-*
   palette with the rest of the brand pages.
   ═════════════════════════════════════════════════════════ */

.nc-prof-page, .nc-be-page, .nc-exp-dash, .nc-book-page, .nc-mybook-page, .nc-price-page {
	--hp-bg: #FAFAF8;
	--hp-bg-warm: #F3F2EE;
	--hp-paper: #FFFFFF;
	--hp-ink: #1A1A1A;
	--hp-ink-soft: #3D3D3D;
	--hp-muted: #6B6B6B;
	--hp-line: #E4E2DC;
	--hp-primary: #C41E3A;
	--hp-primary-dark: #8B1226;
	--hp-accent: #C9A84C;
	--hp-accent-deep: #8B6B2E;
	--hp-green: #1A7A45;
	--hp-navy: #003893;
	--hp-verified: #1D9BF0;
	--hp-serif: 'Lexend', system-ui, sans-serif;
	--hp-sans: 'Lexend', system-ui, -apple-system, sans-serif;
	--hp-mono: 'DM Mono', ui-monospace, Menlo, monospace;
	background: var(--hp-bg);
	color: var(--hp-ink);
	font-family: var(--hp-sans);
	padding-bottom: 72px;
}

.nc-prof-crumb {
	padding: 20px 0 0;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.nc-prof-crumb a { color: var(--hp-muted); text-decoration: none; }
.nc-prof-crumb a:hover { color: var(--hp-primary); }
.nc-prof-crumb__sep { color: var(--hp-line); margin: 0 10px; }
.nc-prof-crumb__cur { color: var(--hp-ink); }

/* ── Profile hero ────────────────────────────────────── */
.nc-prof-hero {
	margin-top: 22px;
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 32px 36px;
	box-shadow: 6px 6px 0 var(--hp-ink);
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	align-items: start;
}
@media (min-width: 880px) { .nc-prof-hero { grid-template-columns: 1fr 320px; } }
.nc-prof-hero--expert { background: linear-gradient(135deg, var(--hp-paper) 0%, var(--hp-bg-warm) 100%); }
.nc-prof-hero__main { display: flex; gap: 22px; align-items: flex-start; }
.nc-prof-hero__avatar {
	width: 96px; height: 96px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: var(--hp-paper);
	font-size: 32px;
	border: 3px solid var(--hp-ink);
	box-shadow: 4px 4px 0 var(--hp-ink);
	position: relative;
	flex-shrink: 0;
}
.nc-prof-hero__avatar[data-c="1"] { background: linear-gradient(135deg, #C41E3A, #8B1226); }
.nc-prof-hero__avatar[data-c="2"] { background: linear-gradient(135deg, #4A6B3E, #2D4A26); }
.nc-prof-hero__avatar[data-c="3"] { background: linear-gradient(135deg, #8B6B2E, #5C4517); }
.nc-prof-hero__avatar[data-c="4"] { background: linear-gradient(135deg, #2D5773, #1A3850); }
.nc-prof-hero__avatar[data-c="5"] { background: linear-gradient(135deg, #6B3D7A, #4A2A56); }
.nc-prof-hero__tick {
	position: absolute;
	bottom: -4px; right: -4px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 3px;
	border: 2px solid var(--hp-paper);
	display: inline-flex;
}
.nc-prof-hero__id { flex: 1; min-width: 0; }
.nc-prof-hero__name {
	font-family: var(--hp-serif);
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 600;
	letter-spacing: -.025em;
	color: var(--hp-ink);
	margin-bottom: 4px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.nc-prof-hero__handle {
	font-family: var(--hp-mono);
	font-size: 12px;
	color: var(--hp-muted);
	margin-bottom: 12px;
}
.nc-prof-hero__spec {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 8px;
}
.nc-prof-hero__cred {
	font-size: 13px;
	color: var(--hp-muted);
	line-height: 1.5;
	margin-bottom: 12px;
}
.nc-prof-hero__lic {
	font-family: var(--hp-mono);
	color: var(--hp-accent-deep);
	font-weight: 600;
}
.nc-prof-hero__bio {
	font-size: 14px;
	color: var(--hp-ink-soft);
	line-height: 1.55;
	max-width: 56ch;
}

.nc-prof-hero__book {
	background: var(--hp-ink);
	color: var(--hp-paper);
	padding: 24px;
	border: 2px solid var(--hp-ink);
	box-shadow: 4px 4px 0 var(--hp-primary);
}
.nc-prof-hero__rate-label {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--hp-accent);
}
.nc-prof-hero__rate-num {
	font-family: var(--hp-serif);
	font-size: 18px;
	color: rgba(250, 246, 238, .7);
	margin: 8px 0;
}
.nc-prof-hero__rate-num strong { font-size: 32px; font-weight: 600; color: var(--hp-paper); }
.nc-prof-hero__rate-rating { font-family: var(--hp-mono); font-size: 12px; color: var(--hp-accent); margin-bottom: 16px; }
.nc-prof-hero__rate-rating span { color: rgba(250, 246, 238, .6); }
.nc-prof-hero__cta {
	display: block;
	text-align: center;
	padding: 14px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	border-radius: 100px;
	border: 2px solid var(--hp-paper);
}
.nc-prof-hero__cta:hover { background: var(--hp-primary-dark); text-decoration: none; color: var(--hp-paper); }

/* Stats strip + tabs */
.nc-prof-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	margin: 28px 0 0;
	border-top: 2px solid var(--hp-ink);
	border-left: 2px solid var(--hp-ink);
}
@media (min-width: 768px) { .nc-prof-stats { grid-template-columns: repeat(4, 1fr); } }
.nc-prof-stat {
	padding: 22px 18px;
	background: var(--hp-paper);
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	text-align: center;
}
.nc-prof-stat__num {
	font-family: var(--hp-serif);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -.02em;
	color: var(--hp-ink);
	margin-bottom: 4px;
}
.nc-prof-stat__sm { font-size: .6em; color: var(--hp-accent); }
.nc-prof-stat__label { font-family: var(--hp-mono); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--hp-muted); }

.nc-prof-tabs {
	display: flex;
	gap: 0;
	border-bottom: 2px solid var(--hp-ink);
	margin: 28px 0 24px;
}
.nc-prof-tab {
	padding: 13px 20px 11px;
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--hp-muted);
	text-decoration: none;
	margin-bottom: -2px;
	border-bottom: 3px solid transparent;
}
.nc-prof-tab:hover { color: var(--hp-ink); text-decoration: none; }
.nc-prof-tab.is-active { color: var(--hp-primary); border-bottom-color: var(--hp-primary); }
.nc-prof-tab__count { font-family: var(--hp-mono); font-size: 11px; opacity: .6; margin-left: 4px; }

.nc-prof-reviews { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.nc-prof-review {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 20px 24px;
}
.nc-prof-review__rating { color: var(--hp-accent); font-size: 18px; margin-bottom: 8px; letter-spacing: 2px; }
.nc-prof-review__text { font-family: var(--hp-serif); font-style: italic; font-size: 16px; color: var(--hp-ink); margin-bottom: 10px; line-height: 1.5; }
.nc-prof-review__by { font-family: var(--hp-mono); font-size: 11px; color: var(--hp-muted); letter-spacing: .04em; }

.nc-prof-about h2 { font-family: var(--hp-serif); font-size: 22px; margin: 18px 0 10px; font-weight: 600; }
.nc-prof-credlist { display: grid; gap: 8px; max-width: 480px; }
.nc-prof-credlist div { display: grid; grid-template-columns: 140px 1fr; gap: 16px; padding: 8px 0; border-bottom: 1px dashed var(--hp-line); }
.nc-prof-credlist dt { font-family: var(--hp-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--hp-muted); }
.nc-prof-credlist dd { color: var(--hp-ink); font-size: 14px; }

/* ── Become an expert ────────────────────────────────── */
.nc-be-head { padding: 28px 0 16px; max-width: 760px; }
.nc-be-kicker {
	display: inline-flex;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 18px;
	padding-bottom: 10px;
	border-bottom: 1.5px solid var(--hp-ink);
}
.nc-be-h1 {
	font-family: var(--hp-serif);
	font-size: clamp(36px, 5vw, 56px);
	line-height: 1;
	letter-spacing: -.03em;
	font-weight: 500;
	color: var(--hp-ink);
	margin-bottom: 18px;
}
.nc-be-h1__hl {
	background: linear-gradient(180deg, transparent 65%, var(--hp-accent) 65%, var(--hp-accent) 90%, transparent 90%);
	padding: 0 4px;
}
.nc-be-sub { font-size: 17px; color: var(--hp-muted); line-height: 1.55; max-width: 56ch; }
.nc-be-sub strong { color: var(--hp-ink); font-weight: 600; }

.nc-be-perks {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 36px 0 28px;
	border-top: 2px solid var(--hp-ink);
	border-left: 2px solid var(--hp-ink);
}
@media (min-width: 768px) { .nc-be-perks { grid-template-columns: repeat(3, 1fr); } }
.nc-be-perk {
	padding: 26px 24px;
	background: var(--hp-paper);
	border-right: 2px solid var(--hp-ink);
	border-bottom: 2px solid var(--hp-ink);
	position: relative;
}
.nc-be-perk__n { position: absolute; top: 20px; right: 22px; font-family: var(--hp-serif); font-style: italic; font-size: 36px; color: var(--hp-primary); opacity: .25; }
.nc-be-perk h3 { font-family: var(--hp-serif); font-size: 18px; font-weight: 600; margin-bottom: 8px; color: var(--hp-ink); }
.nc-be-perk p { font-size: 13.5px; color: var(--hp-ink-soft); line-height: 1.55; }

.nc-be-form { background: #FFFFFF; border: 1px solid #E6E1D8; padding: 32px 36px; }
/* Defensive — every form control on this page is explicitly
 * white-bg + ink-text, so OS dark mode / browser autofill /
 * inherited theme colors can never make them look invisible. */
.nc-be-form input,
.nc-be-form textarea,
.nc-be-form select {
	background: #FFFFFF !important;
	color: #1A1A1A !important;
	border: 1px solid #E6E1D8 !important;
	border-radius: 3px;
	padding: 12px 14px;
	font-size: 15px;
	font-family: 'Lexend', system-ui, sans-serif;
	width: 100%;
	outline: none;
	-webkit-text-fill-color: #1A1A1A;
}
.nc-be-form input::placeholder,
.nc-be-form textarea::placeholder { color: #9A9A9A !important; opacity: 1; }
.nc-be-form input:focus,
.nc-be-form textarea:focus,
.nc-be-form select:focus { border-color: #C41E3A !important; box-shadow: 0 0 0 3px rgba(196,30,58,.18); }
.nc-be-form textarea { min-height: 120px; resize: vertical; }
.nc-be-form .nc-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.nc-be-form .nc-field > span:first-child {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #1A1A1A;
}
.nc-be-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 720px) { .nc-be-grid { grid-template-columns: 1fr 1fr; } }
.nc-be-grid__full { grid-column: 1 / -1; }
.nc-be-foot { margin-top: 24px; padding-top: 20px; border-top: 1px dashed var(--hp-line); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.nc-be-submit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 28px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 5px 5px 0 var(--hp-ink);
	border-radius: 100px;
	text-decoration: none;
	transition: transform .15s, box-shadow .15s;
}
.nc-be-submit:hover { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--hp-ink); background: var(--hp-primary-dark); text-decoration: none; color: var(--hp-paper); }
.nc-be-fine { font-family: var(--hp-mono); font-size: 11px; letter-spacing: .08em; color: var(--hp-muted); }
.nc-be-success { padding: 48px 0; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.nc-be-success h2 { font-family: var(--hp-serif); font-size: 28px; color: var(--hp-ink); }
.nc-be-back { font-family: var(--hp-mono); font-size: 12px; color: var(--hp-muted); margin-top: 16px; }

/* ── Expert dashboard ──────────────────────────────────── */
.nc-exp-dash__head {
	padding: 28px 0 8px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	flex-wrap: wrap;
}
.nc-exp-dash__kicker {
	display: inline-flex;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 8px;
}
.nc-exp-dash__h1 { font-family: var(--hp-serif); font-size: clamp(28px, 4vw, 40px); font-weight: 600; letter-spacing: -.025em; }
.nc-exp-dash__view { font-family: var(--hp-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--hp-primary); text-decoration: none; border-bottom: 1.5px solid var(--hp-primary); padding-bottom: 3px; }
.nc-exp-dash__view:hover { color: var(--hp-ink); border-color: var(--hp-ink); text-decoration: none; }

.nc-exp-dash__tabs {
	display: flex;
	gap: 0;
	overflow-x: auto;
	border-bottom: 2px solid var(--hp-ink);
	margin: 22px 0 26px;
}
.nc-exp-dash__tab {
	padding: 13px 18px 11px;
	font-family: var(--hp-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--hp-muted);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	white-space: nowrap;
}
.nc-exp-dash__tab:hover { color: var(--hp-ink); text-decoration: none; }
.nc-exp-dash__tab.is-active { color: var(--hp-primary); border-bottom-color: var(--hp-primary); }

.nc-exp-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 2px solid var(--hp-ink); border-left: 2px solid var(--hp-ink); margin-bottom: 28px; }
@media (min-width: 720px)  { .nc-exp-stats { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1080px) { .nc-exp-stats { grid-template-columns: repeat(6, 1fr); } }
.nc-exp-stat { padding: 20px; background: var(--hp-paper); border-right: 2px solid var(--hp-ink); border-bottom: 2px solid var(--hp-ink); text-align: center; }
.nc-exp-stat__num { font-family: var(--hp-serif); font-size: 22px; font-weight: 600; letter-spacing: -.02em; margin-bottom: 4px; }
.nc-exp-stat__label { font-family: var(--hp-mono); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--hp-muted); }

.nc-exp-quick { background: var(--hp-paper); border: 2px solid var(--hp-ink); padding: 22px 26px; }
.nc-exp-quick h3 { font-family: var(--hp-serif); font-size: 16px; font-weight: 600; margin-bottom: 12px; }
.nc-exp-quick__row { display: flex; flex-wrap: wrap; gap: 10px; }
.nc-exp-quick__btn {
	padding: 11px 18px;
	background: var(--hp-bg-warm);
	border: 1.5px solid var(--hp-ink);
	color: var(--hp-ink);
	text-decoration: none;
	font-family: var(--hp-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.nc-exp-quick__btn:hover { background: var(--hp-ink); color: var(--hp-paper); text-decoration: none; }
.nc-exp-quick__btn--strong { background: var(--hp-primary); color: var(--hp-paper); border-color: var(--hp-primary); }
.nc-exp-quick__btn--strong:hover { background: var(--hp-primary-dark); }

.nc-exp-sec-head { display: flex; justify-content: space-between; align-items: baseline; margin: 20px 0 14px; padding-bottom: 10px; border-bottom: 1.5px solid var(--hp-ink); }
.nc-exp-sec-head h2 { font-family: var(--hp-serif); font-size: 22px; font-weight: 600; }
.nc-exp-sec-head span { font-family: var(--hp-mono); font-size: 11px; color: var(--hp-muted); letter-spacing: .08em; }

.nc-exp-karma__legend { background: var(--hp-paper); border: 2px solid var(--hp-ink); padding: 22px 26px; margin-top: 24px; }
.nc-exp-karma__legend h3 { font-family: var(--hp-serif); font-size: 18px; font-weight: 600; margin-bottom: 12px; }
.nc-exp-karma__legend ul { list-style: none; padding: 0; display: grid; gap: 8px; }
@media (min-width: 720px) { .nc-exp-karma__legend ul { grid-template-columns: 1fr 1fr; } }
.nc-exp-karma__legend li { font-size: 13px; padding: 6px 0; color: var(--hp-ink-soft); border-bottom: 1px dashed var(--hp-line); }
.nc-exp-karma__legend li strong { color: var(--hp-primary); font-family: var(--hp-mono); font-weight: 700; margin-right: 4px; }

.nc-exp-avail__form { background: var(--hp-paper); border: 2px solid var(--hp-ink); padding: 24px 28px; }
.nc-exp-avail__rows { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.nc-exp-avail__row { display: grid; grid-template-columns: 120px 1fr auto 1fr 32px; gap: 10px; align-items: center; }
.nc-exp-avail__row span { color: var(--hp-muted); font-family: var(--hp-mono); font-size: 11px; }
.nc-exp-avail__rm { width: 32px; height: 32px; border: 1.5px solid var(--hp-ink); background: var(--hp-paper); cursor: pointer; font-size: 18px; }
.nc-exp-avail__rm:hover { background: var(--hp-primary); color: var(--hp-paper); }
.nc-exp-avail__add { background: transparent; border: 1.5px dashed var(--hp-ink); padding: 10px 18px; font-family: var(--hp-mono); font-size: 12px; cursor: pointer; }
.nc-exp-avail__add:hover { background: var(--hp-bg-warm); }

/* ── Book a session ──────────────────────────────────── */
.nc-book-head { padding: 28px 0 24px; }
.nc-book-h1 { font-family: var(--hp-serif); font-size: clamp(32px, 4.5vw, 48px); font-weight: 600; letter-spacing: -.03em; margin-bottom: 10px; }
.nc-book-sub { font-size: 16px; color: var(--hp-muted); }
.nc-book-sub strong { color: var(--hp-ink); font-weight: 700; }

.nc-book-form { background: var(--hp-paper); border: 2px solid var(--hp-ink); padding: 28px 30px; box-shadow: 6px 6px 0 var(--hp-ink); }
.nc-book-step { margin-bottom: 28px; padding-bottom: 22px; border-bottom: 1px dashed var(--hp-line); }
.nc-book-step:last-of-type { border-bottom: none; margin-bottom: 0; }
.nc-book-step h2 { font-family: var(--hp-serif); font-size: 18px; font-weight: 600; margin-bottom: 14px; display: flex; align-items: center; gap: 12px; }
.nc-book-step h2 span { width: 28px; height: 28px; background: var(--hp-ink); color: var(--hp-paper); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--hp-mono); font-size: 12px; font-weight: 700; }

.nc-book-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.nc-book-slot {
	display: flex;
	flex-direction: column;
	padding: 12px 14px;
	background: var(--hp-bg);
	border: 1.5px solid var(--hp-ink);
	cursor: pointer;
	transition: background .15s;
}
.nc-book-slot:hover { background: var(--hp-bg-warm); }
.nc-book-slot input { position: absolute; opacity: 0; pointer-events: none; }
.nc-book-slot:has(input:checked) { background: var(--hp-ink); color: var(--hp-paper); }
.nc-book-slot__day { font-family: var(--hp-mono); font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.nc-book-slot__time { font-family: var(--hp-serif); font-size: 18px; font-weight: 600; margin-top: 4px; }

.nc-book-pay { display: flex; flex-direction: column; gap: 8px; }
.nc-book-pay__opt {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border: 1.5px solid var(--hp-ink);
	cursor: pointer;
}
.nc-book-pay__opt:has(input:checked) { background: var(--hp-bg-warm); }
.nc-book-pay__name { font-weight: 600; font-size: 14px; }
.nc-book-fine { font-family: var(--hp-mono); font-size: 11px; color: var(--hp-muted); margin-top: 10px; letter-spacing: .04em; }

.nc-book-summary { margin-top: 24px; padding: 18px 22px; background: var(--hp-ink); color: var(--hp-paper); display: flex; flex-direction: column; gap: 10px; }
.nc-book-summary__row { display: flex; justify-content: space-between; align-items: baseline; font-family: var(--hp-mono); font-size: 13px; }
.nc-book-summary__row strong { font-family: var(--hp-serif); font-size: 20px; color: var(--hp-accent); }
.nc-book-summary .nc-be-submit { width: 100%; justify-content: center; margin-top: 6px; }

/* ── My bookings ─────────────────────────────────────── */
.nc-mybook-head { padding: 28px 0 18px; }
.nc-mybook-list { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.nc-mybook { background: var(--hp-paper); border: 2px solid var(--hp-ink); padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.nc-mybook__when { font-family: var(--hp-serif); font-size: 17px; font-weight: 600; color: var(--hp-ink); }
.nc-mybook__exp { font-family: var(--hp-mono); font-size: 12px; color: var(--hp-muted); margin-top: 4px; }
.nc-mybook-review { width: 100%; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--hp-line); }
.nc-mybook-review summary { font-family: var(--hp-mono); font-size: 12px; font-weight: 700; cursor: pointer; color: var(--hp-primary); letter-spacing: .08em; }

/* ── Pricing ─────────────────────────────────────────── */
.nc-price-head { padding: 32px 0 28px; max-width: 760px; }
.nc-price-h1 { font-family: var(--hp-serif); font-size: clamp(36px, 5vw, 56px); line-height: 1; letter-spacing: -.03em; font-weight: 500; margin-bottom: 16px; }
.nc-price-sub { font-size: 17px; color: var(--hp-muted); line-height: 1.55; max-width: 56ch; }

.nc-price-grid { display: grid; grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
@media (min-width: 880px) { .nc-price-grid { grid-template-columns: repeat(3, 1fr); } }
.nc-price-card {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 28px 26px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.nc-price-card--featured { box-shadow: 6px 6px 0 var(--hp-primary); border-color: var(--hp-primary); }
.nc-price-card__badge { position: absolute; top: -14px; left: 22px; background: var(--hp-primary); color: var(--hp-paper); font-family: var(--hp-mono); font-size: 10px; font-weight: 700; letter-spacing: .15em; padding: 5px 12px; }
.nc-price-card__name { font-family: var(--hp-mono); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--hp-muted); }
.nc-price-card__price { font-family: var(--hp-serif); font-size: 18px; color: var(--hp-muted); margin: 10px 0 6px; }
.nc-price-card__price strong { font-size: 40px; color: var(--hp-ink); font-weight: 700; }
.nc-price-card__pitch { font-family: var(--hp-serif); font-style: italic; font-size: 14px; color: var(--hp-ink-soft); margin-bottom: 18px; }
.nc-price-card__feat { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 8px; margin-bottom: auto; padding-bottom: 22px; }
.nc-price-card__feat li { font-size: 13.5px; color: var(--hp-ink-soft); line-height: 1.5; padding: 4px 0; border-bottom: 1px dashed var(--hp-line); }
.nc-price-card__feat li strong { color: var(--hp-ink); font-weight: 600; }
.nc-price-card__off { color: var(--hp-muted); }
.nc-price-card__btn {
	display: block;
	text-align: center;
	padding: 14px 22px;
	text-decoration: none;
	font-family: var(--hp-sans);
	font-weight: 700;
	font-size: 14px;
	border: 2px solid var(--hp-ink);
	border-radius: 100px;
}
.nc-price-card__btn--primary { background: var(--hp-primary); color: var(--hp-paper); box-shadow: 4px 4px 0 var(--hp-ink); }
.nc-price-card__btn--primary:hover { background: var(--hp-primary-dark); transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--hp-ink); text-decoration: none; color: var(--hp-paper); }
.nc-price-card__btn--ghost { background: var(--hp-paper); color: var(--hp-ink); }
.nc-price-card__btn--ghost:hover { background: var(--hp-bg-warm); text-decoration: none; color: var(--hp-ink); }

.nc-price-pay { text-align: center; padding: 24px 20px; background: var(--hp-paper); border: 1px dashed var(--hp-line); margin-bottom: 56px; }
.nc-price-pay p { margin: 4px 0; font-size: 14px; }
.nc-price-pay .nc-muted { color: var(--hp-muted); font-size: 12px; }

.nc-price-bookings { padding-top: 24px; margin-bottom: 64px; border-top: 1px solid var(--hp-line); }
.nc-price-faq { padding-top: 24px; }

/* ═════════════════════════════════════════════════════════
   Manual-payment checkout + status pages
   ═════════════════════════════════════════════════════════ */
.nc-checkout-page, .nc-pay-status-page {
	--hp-bg:       #FAFAF8;
	--hp-paper:    #FFFFFF;
	--hp-bg-warm:  #F5F1E8;
	--hp-ink:      #1A1A1A;
	--hp-muted:    #6A6A6A;
	--hp-line:     #E6E1D8;
	--hp-primary:  #C41E3A;
	--hp-accent:   #C9A84C;
	--hp-green:    #003893;
	--hp-serif: 'Lexend', system-ui, sans-serif;
	--hp-sans:  'Lexend', -apple-system, BlinkMacSystemFont, sans-serif;
	--hp-mono:  'DM Mono', ui-monospace, Menlo, monospace;
	background: var(--hp-bg);
	color: var(--hp-ink);
	font-family: var(--hp-sans);
	padding-bottom: 72px;
}
.nc-checkout-head { padding: 28px 0 22px; }
.nc-checkout-h1 { font-family: var(--hp-serif); font-size: clamp(36px, 5vw, 52px); font-weight: 600; letter-spacing: -.025em; margin-top: 8px; }

.nc-checkout-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
	margin-bottom: 36px;
}
@media (min-width: 880px) { .nc-checkout-grid { grid-template-columns: 320px 1fr; } }

.nc-checkout-summary, .nc-checkout-methods {
	background: var(--hp-paper);
	border: 1px solid var(--hp-line);
	padding: 24px 26px;
	box-shadow: none;
}
.nc-checkout-summary h3, .nc-checkout-methods h3 {
	font-family: var(--hp-serif);
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px dashed var(--hp-line);
}
.nc-checkout-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.nc-checkout-list div { display: flex; justify-content: space-between; align-items: baseline; }
.nc-checkout-list dt { color: var(--hp-muted); font-size: 13px; }
.nc-checkout-list dd { font-size: 14px; font-weight: 500; color: var(--hp-ink); }
.nc-checkout-list__total { padding-top: 12px; border-top: 1px solid var(--hp-line); }
.nc-checkout-list__total dd strong { font-family: var(--hp-serif); font-size: 22px; }
.nc-checkout-summary__cancel { font-family: var(--hp-mono); font-size: 11px; color: var(--hp-muted); margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--hp-line); letter-spacing: .04em; }
.nc-checkout-intro { margin-bottom: 18px; }

/* Method radio cards */
.nc-pay-methods { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.nc-pay-method {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: var(--hp-paper);
	border: 1px solid var(--hp-line);
	color: var(--hp-ink);
	cursor: pointer;
	transition: background .15s, border-color .15s;
}
.nc-pay-method:hover:not(.is-disabled) { background: var(--hp-bg-warm); border-color: var(--hp-ink); }
.nc-pay-method input { margin: 0; accent-color: var(--hp-primary); }
.nc-pay-method:has(input:checked) { background: var(--hp-bg-warm); border-color: var(--hp-primary); }
.nc-pay-method.is-disabled { background: var(--hp-bg); cursor: not-allowed; }
.nc-pay-method.is-disabled .nc-pay-method__chip { opacity: .55; }
.nc-pay-method.is-disabled .nc-pay-method__label { color: var(--hp-muted); }
.nc-pay-method.is-disabled .nc-pay-method__label small a { color: var(--hp-primary); font-weight: 600; text-decoration: underline; }
.nc-pay-method.is-disabled .nc-pay-method__label small a:hover { color: #A41830; }
.nc-pay-method__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 60px;
	padding: 5px 10px;
	color: #fff;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	border-radius: 0;
}
.nc-pay-method__label { font-weight: 600; font-size: 14px; color: var(--hp-ink); }
.nc-pay-method__label small { display: block; color: var(--hp-muted); font-weight: 400; font-size: 11px; margin-top: 2px; }

/* Detail panel for chosen method */
.nc-pay-detail {
	margin: 0 0 18px;
	background: var(--hp-ink);
	color: #fff;
	padding: 0;
	border: 1px solid var(--hp-ink);
}
.nc-pay-detail__head {
	padding: 14px 18px;
	background: var(--hp-ink);
	color: #fff;
	font-family: var(--hp-mono);
	font-size: 12px;
	letter-spacing: .04em;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.nc-pay-detail__head strong { color: var(--hp-accent); font-family: var(--hp-serif); font-style: italic; font-size: 15px; font-weight: 500; }
.nc-pay-detail__body {
	background: var(--hp-paper);
	color: var(--hp-ink);
	padding: 18px 20px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}
@media (min-width: 560px) { .nc-pay-detail__body { grid-template-columns: 1fr auto; align-items: start; } }
.nc-pay-detail__rows { display: flex; flex-direction: column; gap: 10px; }
.nc-pay-detail__rows div { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-bottom: 1px dashed var(--hp-line); }
.nc-pay-detail__rows div:last-child { border-bottom: none; }
.nc-pay-detail__rows dt { color: var(--hp-muted); font-size: 12px; font-family: var(--hp-mono); letter-spacing: .04em; text-transform: uppercase; }
.nc-pay-detail__rows dd { font-size: 15px; color: var(--hp-ink); display: flex; align-items: center; gap: 8px; }
.nc-pay-detail__rows dd strong { font-family: var(--hp-mono); font-size: 16px; }
.nc-pay-copy {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	background: var(--hp-bg-warm);
	border: 1px solid var(--hp-line);
	color: var(--hp-ink);
	padding: 3px 8px;
	cursor: pointer;
	text-transform: uppercase;
	border-radius: 0;
}
.nc-pay-copy:hover { background: var(--hp-ink); color: #fff; border-color: var(--hp-ink); }
.nc-pay-detail__qr {
	text-align: center;
	background: #fff;
	padding: 14px;
	border: 1px solid var(--hp-line);
}
.nc-pay-detail__qr img { width: 160px; height: 160px; object-fit: contain; display: block; margin: 0 auto; }
.nc-pay-detail__qr small { display: block; margin-top: 8px; font-size: 11px; color: var(--hp-muted); font-family: var(--hp-mono); }

/* Proof upload */
.nc-pay-proof {
	background: var(--hp-bg-warm);
	border: 1px dashed var(--hp-line);
	padding: 22px 24px;
}
.nc-pay-proof h4 { font-family: var(--hp-serif); font-size: 18px; font-weight: 600; margin-bottom: 16px; }
.nc-pay-proof .nc-field { margin-bottom: 14px; }
.nc-pay-proof .nc-field small { color: var(--hp-muted); font-size: 12px; margin-top: 4px; }
.nc-pay-fine { font-family: var(--hp-mono); font-size: 11px; color: var(--hp-muted); margin-top: 14px; letter-spacing: .04em; }

/* Status page */
.nc-pay-status {
	max-width: 560px;
	margin: 48px auto 0;
	padding: 40px 32px;
	background: var(--hp-paper);
	border: 1px solid var(--hp-line);
	box-shadow: none;
	text-align: center;
}
.nc-pay-status__h1 { font-family: var(--hp-serif); font-size: 28px; font-weight: 600; letter-spacing: -.02em; margin: 16px 0 10px; }
.nc-pay-status__sub { color: var(--hp-muted); margin-bottom: 24px; font-size: 15px; line-height: 1.55; }
.nc-pay-status__note { background: var(--hp-bg-warm); padding: 12px 16px; border-left: 3px solid var(--hp-primary); font-style: italic; color: var(--hp-ink); margin-bottom: 20px; text-align: left; }
.nc-pay-status__list { text-align: left; margin: 20px auto 28px; max-width: 380px; }
.nc-pay-status__list div { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 0; border-bottom: 1px dashed var(--hp-line); }
.nc-pay-status__list dt { font-family: var(--hp-mono); font-size: 11px; color: var(--hp-muted); letter-spacing: .04em; text-transform: uppercase; }
.nc-pay-status__list dd { font-size: 14px; color: var(--hp-ink); font-weight: 500; }
.nc-pay-status--pending .nc-state-icon { color: var(--hp-primary); background: rgba(160, 43, 47, .08); }
.nc-pay-status--ok .nc-state-icon  { color: var(--hp-green); background: rgba(74, 107, 62, .08); }
.nc-pay-status--err .nc-state-icon { color: var(--hp-primary); background: rgba(160, 43, 47, .08); }

/* ── Best-answer highlight on comment ─────────────────── */
.nc-comment.is-best-answer { border: 2px solid var(--nc-green, #1A7A45); position: relative; }
.nc-comment__best {
	display: inline-block;
	background: var(--nc-green, #1A7A45);
	color: #fff;
	font-family: var(--nc-font-mono, monospace);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	padding: 4px 10px;
	margin-bottom: 10px;
	border-radius: 3px;
}
.nc-best-btn { color: #8B6B2E !important; font-weight: 600; }
.nc-best-btn:hover { color: #1A7A45 !important; }

/* ── Experts page grid ────────────────────────────────── */
.nc-experts-page {
	--hp-bg: #FAFAF8;
	--hp-paper: #FFFFFF;
	--hp-bg-warm: #F3F2EE;
	--hp-ink: #1A1A1A;
	--hp-muted: #6B6B6B;
	--hp-line: #E4E2DC;
	--hp-primary: #C41E3A;
	--hp-accent-deep: #8B6B2E;
	--hp-serif: 'Lexend', system-ui, sans-serif;
	--hp-mono: 'DM Mono', ui-monospace, Menlo, monospace;
	background: var(--hp-bg);
	color: var(--hp-ink);
	font-family: 'Lexend', system-ui, sans-serif;
	padding-bottom: 72px;
}
.nc-experts-head { padding: 28px 0 24px; max-width: 760px; }
.nc-experts-filter {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: 1.5px solid var(--hp-ink);
	overflow-x: auto;
}
.nc-experts-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-bottom: 36px;
}
@media (min-width: 720px) { .nc-experts-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .nc-experts-grid { grid-template-columns: 1fr 1fr 1fr; } }
.nc-experts-card {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	box-shadow: 4px 4px 0 var(--hp-ink);
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform .15s, box-shadow .15s;
}
.nc-experts-card:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--hp-ink); text-decoration: none; }
.nc-experts-card.is-hidden { display: none; }
.nc-experts-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 22px 22px 0;
}
.nc-experts-card__no {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	color: var(--hp-muted);
}
.nc-experts-card__avatar {
	width: 64px; height: 64px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--hp-serif);
	font-weight: 600;
	color: #fff;
	font-size: 22px;
	border: 2px solid var(--hp-ink);
	box-shadow: 3px 3px 0 var(--hp-ink);
	position: relative;
}
.nc-experts-card__avatar[data-c="1"] { background: linear-gradient(135deg, #C41E3A, #8B1226); }
.nc-experts-card__avatar[data-c="2"] { background: linear-gradient(135deg, #4A6B3E, #2D4A26); }
.nc-experts-card__avatar[data-c="3"] { background: linear-gradient(135deg, #8B6B2E, #5C4517); }
.nc-experts-card__avatar[data-c="4"] { background: linear-gradient(135deg, #2D5773, #1A3850); }
.nc-experts-card__avatar[data-c="5"] { background: linear-gradient(135deg, #6B3D7A, #4A2A56); }
.nc-experts-card__tick {
	position: absolute; bottom: -4px; right: -4px;
	background: var(--hp-paper);
	border-radius: 50%;
	padding: 2px;
	display: inline-flex;
}
.nc-experts-card__body { padding: 14px 22px 16px; flex: 1; }
.nc-experts-card__name {
	font-family: var(--hp-serif);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -.015em;
	color: var(--hp-ink);
	line-height: 1.15;
	margin-bottom: 4px;
}
.nc-experts-card__spec {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-primary);
	margin-bottom: 10px;
}
.nc-experts-card__cred { font-size: 13px; color: var(--hp-muted); line-height: 1.5; margin-bottom: 8px; }
.nc-experts-card__lic { font-family: var(--hp-mono); font-size: 10px; font-weight: 700; color: var(--hp-accent-deep); letter-spacing: .04em; }
.nc-experts-card__foot {
	display: flex;
	gap: 14px;
	padding: 12px 22px 18px;
	border-top: 1px dashed var(--hp-line);
	font-family: var(--hp-mono);
	font-size: 11px;
	color: var(--hp-muted);
	flex-wrap: wrap;
}
.nc-experts-card__foot strong { color: var(--hp-ink); font-weight: 700; }
.nc-experts-card__rate { margin-left: auto; }
.nc-experts-cta {
	margin-top: 36px;
	padding: 24px 28px;
	background: var(--hp-paper);
	border: 2px dashed var(--hp-ink);
	text-align: center;
}
.nc-experts-cta p { margin-bottom: 14px; color: var(--hp-ink); font-family: var(--hp-serif); font-style: italic; font-size: 16px; }

/* ═════════════════════════════════════════════════════════
   BRAND-ALIGNED REDESIGN — homepage + community + index
   Parchment bg, white cards, 1px borders, square corners,
   no drop shadows, Crimson + Navy + Himalayan Gold.
   Fraunces (display, italic emphasis), DM Sans body,
   DM Mono labels.
   ═════════════════════════════════════════════════════════ */

.nc-eh-hero, .nc-eh-section, .nc-eh-cta, .nc-rm, .nc-cm {
	--eb-bg:        #FAFAF8;
	--eb-paper:     #FFFFFF;
	--eb-mid:       #F3F2EE;
	--eb-ink:       #1A1A1A;
	--eb-ink-soft:  #3D3D3D;
	--eb-muted:     #6B6B6B;
	--eb-line:      #E4E2DC;
	--eb-line-soft: #EFEEE9;
	--eb-crimson:   #C41E3A;
	--eb-crimson-d: #8B1226;
	--eb-navy:      #003893;
	--eb-navy-d:    #001F5C;
	--eb-gold:      #C9A84C;
	--eb-gold-d:    #8B6B2E;
	--eb-himalaya:  #7BA3BC;
	--eb-serif: 'Lexend', system-ui, sans-serif;
	--eb-sans:  'Lexend', system-ui, -apple-system, sans-serif;
	--eb-mono:  'DM Mono', ui-monospace, Menlo, monospace;
	font-family: var(--eb-sans);
	color: var(--eb-ink);
}

/* Brand buttons — square corners, no pills, no offset shadow */
.nc-eh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	font-family: var(--eb-sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	padding: 13px 22px;
	border-radius: 3px;
	border: 1.5px solid transparent;
	text-decoration: none;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
	cursor: pointer;
}
.nc-eh-btn--primary { background: var(--eb-crimson); color: #fff; border-color: var(--eb-crimson); }
.nc-eh-btn--primary:hover { background: var(--eb-crimson-d); border-color: var(--eb-crimson-d); color: #fff; text-decoration: none; }
.nc-eh-btn--outline { background: transparent; color: var(--eb-navy); border-color: var(--eb-navy); }
.nc-eh-btn--outline:hover { background: var(--eb-navy); color: #fff; text-decoration: none; }
.nc-eh-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.nc-eh-btn--outline-light:hover { background: rgba(255,255,255,.1); color: #fff; text-decoration: none; }

/* Brand pills */
.nc-eh-pill {
	display: inline-flex;
	align-items: center;
	font-family: var(--eb-mono);
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 2px 7px;
	border-radius: 2px;
	border: 1px solid var(--eb-line);
	background: var(--eb-mid);
	color: var(--eb-muted);
	font-weight: 500;
}
.nc-eh-pill--gold { background: #FDF6E3; color: var(--eb-gold-d); border-color: #E8D080; }
.nc-eh-pill--gray { background: var(--eb-mid); color: var(--eb-muted); border-color: var(--eb-line); }

/* ── HOMEPAGE: Hero ──────────────────────────────────── */
.nc-eh-hero {
	background: var(--eb-navy-d);
	color: #fff;
	padding: 80px 0 88px;
	position: relative;
	overflow: hidden;
}
.nc-eh-hero::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, var(--eb-crimson) 50%, var(--eb-gold) 50%);
}
.nc-eh-hero__inner { max-width: 720px; }
.nc-eh-eyebrow {
	display: inline-block;
	font-family: var(--eb-mono);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--eb-gold);
	margin-bottom: 22px;
}
.nc-eh-hero__title {
	font-family: var(--eb-serif);
	font-weight: 700;
	font-size: clamp(2.75rem, 7vw, 5rem);
	line-height: 1.02;
	color: #fff;
	margin: 0 0 18px;
	letter-spacing: -.025em;
}
.nc-eh-hero__title em { font-style: italic; color: var(--eb-gold); }
.nc-eh-hero__sub {
	font-family: var(--eb-serif);
	font-weight: 300;
	font-style: italic;
	font-size: clamp(1.05rem, 1.8vw, 1.35rem);
	color: rgba(255,255,255,.7);
	margin: 0 0 30px;
	max-width: 36ch;
	line-height: 1.4;
}
.nc-eh-hero__ctas { display: flex; gap: 12px; margin-bottom: 38px; flex-wrap: wrap; }
.nc-eh-hero__stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 40px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.1);
	max-width: 500px;
}
@media (min-width: 720px) { .nc-eh-hero__stats { grid-template-columns: repeat(4, 1fr); } }
.nc-eh-hero__stats div { display: flex; flex-direction: column; gap: 4px; }
.nc-eh-hero__stats dt { font-family: var(--eb-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.4); }
.nc-eh-hero__stats dd { font-family: var(--eb-serif); font-size: 1.5rem; font-weight: 500; color: #fff; margin: 0; }

/* ── HOMEPAGE: Section ──────────────────────────────── */
.nc-eh-section { background: var(--eb-bg); padding: 72px 0; }
.nc-eh-section--alt { background: var(--eb-mid); border-top: 1px solid var(--eb-line); border-bottom: 1px solid var(--eb-line); }

.nc-eh-sec-head {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 20px;
	align-items: baseline;
	margin-bottom: 36px;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--eb-ink);
}
.nc-eh-sec-num {
	font-family: var(--eb-mono);
	font-size: 11px;
	letter-spacing: .15em;
	color: var(--eb-crimson);
	font-weight: 500;
}
.nc-eh-sec-title {
	font-family: var(--eb-serif);
	font-size: clamp(1.5rem, 3.2vw, 2.25rem);
	font-weight: 500;
	line-height: 1.15;
	color: var(--eb-ink);
	margin: 0 0 4px;
	letter-spacing: -.02em;
}
.nc-eh-sec-title em { font-style: italic; color: var(--eb-crimson); }
.nc-eh-sec-sub { color: var(--eb-muted); font-size: .95rem; margin: 0; }
.nc-eh-sec-link {
	font-family: var(--eb-mono);
	font-size: 12px;
	color: var(--eb-navy);
	text-decoration: none;
	letter-spacing: .04em;
	white-space: nowrap;
}
.nc-eh-sec-link:hover { color: var(--eb-crimson); text-decoration: underline; }
@media (max-width: 720px) {
	.nc-eh-sec-head { grid-template-columns: 1fr; }
	.nc-eh-sec-link { justify-self: start; }
}

/* Threads grid */
.nc-eh-threads {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--eb-line);
}
@media (min-width: 720px) { .nc-eh-threads { grid-template-columns: 1fr 1fr; } }
.nc-eh-thread {
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	border-top: 0;
	padding: 24px 26px;
	border-left: 3px solid var(--ec, var(--eb-navy));
	transition: background .15s ease;
}
@media (min-width: 720px) {
	.nc-eh-thread { border-left: 1px solid var(--eb-line); border-top: 0; border-right: 1px solid var(--eb-line); }
	.nc-eh-thread:nth-child(odd) { border-right: 0; }
	.nc-eh-thread { box-shadow: inset 3px 0 0 0 var(--ec, var(--eb-navy)); padding-left: 28px; }
}
.nc-eh-thread:hover { background: var(--eb-mid); }
.nc-eh-thread__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.nc-eh-tag {
	font-family: var(--eb-mono);
	font-size: 11px;
	color: var(--eb-navy);
	background: rgba(0, 56, 147, .06);
	padding: 2px 7px;
	border-radius: 2px;
	text-decoration: none;
}
.nc-eh-tag:hover { background: var(--eb-navy); color: #fff; text-decoration: none; }
.nc-eh-thread__time { font-family: var(--eb-mono); font-size: 11px; color: var(--eb-muted); }
.nc-eh-thread__title {
	font-family: var(--eb-serif);
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1.25;
	margin: 0 0 8px;
	letter-spacing: -.012em;
}
.nc-eh-thread__title a { color: var(--eb-ink); text-decoration: none; }
.nc-eh-thread__title a:hover { color: var(--eb-crimson); }
.nc-eh-thread__excerpt { font-size: .9rem; color: var(--eb-ink-soft); line-height: 1.55; margin: 0 0 14px; }
.nc-eh-thread__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 10px;
	border-top: 1px solid var(--eb-line-soft);
	font-family: var(--eb-mono);
	font-size: 11px;
	color: var(--eb-muted);
}
.nc-eh-thread__by strong { color: var(--eb-ink); font-weight: 500; }
.nc-eh-thread__by .nc-verified { vertical-align: middle; margin-left: 4px; }
.nc-eh-thread__stats { letter-spacing: .04em; }

/* Communities grid */
.nc-eh-comms {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 720px) { .nc-eh-comms { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nc-eh-comms { grid-template-columns: 1fr 1fr 1fr; } }
.nc-eh-comm {
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	border-left: 3px solid var(--ec, var(--eb-navy));
	transition: background .15s ease;
}
.nc-eh-comm:hover { background: var(--eb-mid); }
.nc-eh-comm a { display: block; padding: 22px 24px; text-decoration: none; color: inherit; }
.nc-eh-comm__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}
.nc-eh-comm__handle { font-family: var(--eb-mono); font-size: 12px; color: var(--eb-muted); letter-spacing: .04em; }
.nc-eh-comm__name {
	font-family: var(--eb-serif);
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--eb-ink);
	margin: 0 0 6px;
	letter-spacing: -.015em;
}
.nc-eh-comm__desc { color: var(--eb-ink-soft); font-size: .88rem; line-height: 1.5; margin: 0 0 16px; }
.nc-eh-comm__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 12px;
	border-top: 1px solid var(--eb-line-soft);
	font-family: var(--eb-mono);
	font-size: 11px;
	color: var(--eb-muted);
}
.nc-eh-comm__meta strong { color: var(--eb-ink); }
.nc-eh-comm__arrow { color: var(--eb-crimson); font-size: 14px; transition: transform .15s; }
.nc-eh-comm:hover .nc-eh-comm__arrow { transform: translateX(4px); }

/* Featured expert */
.nc-eh-feat-exp {
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	border-left: 3px solid var(--eb-crimson);
	padding: 32px 36px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
@media (min-width: 720px) { .nc-eh-feat-exp { grid-template-columns: 120px 1fr; align-items: center; } }
.nc-eh-feat-exp__photo {
	width: 110px; height: 110px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--eb-serif);
	font-size: 2.5rem;
	font-weight: 500;
	color: #fff;
	background: linear-gradient(135deg, var(--eb-crimson), var(--eb-crimson-d));
	position: relative;
}
.nc-eh-feat-exp__photo[data-c="2"] { background: linear-gradient(135deg, var(--eb-navy), var(--eb-navy-d)); }
.nc-eh-feat-exp__photo[data-c="3"] { background: linear-gradient(135deg, var(--eb-gold-d), #5C4517); }
.nc-eh-feat-exp__tick {
	position: absolute;
	bottom: -8px; right: -8px;
	background: #fff;
	border-radius: 50%;
	padding: 3px;
	display: inline-flex;
}
.nc-eh-feat-exp__kicker {
	display: inline-block;
	font-family: var(--eb-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--eb-crimson);
	margin-bottom: 8px;
}
.nc-eh-feat-exp__name {
	font-family: var(--eb-serif);
	font-size: 1.75rem;
	font-weight: 500;
	color: var(--eb-ink);
	margin: 0 0 6px;
	letter-spacing: -.02em;
}
.nc-eh-feat-exp__spec { font-size: .9rem; color: var(--eb-muted); margin: 0 0 12px; }
.nc-eh-feat-exp__lic { font-family: var(--eb-mono); color: var(--eb-gold-d); font-weight: 500; }
.nc-eh-feat-exp__bio { color: var(--eb-ink-soft); margin: 0 0 18px; line-height: 1.6; max-width: 56ch; }

/* How it works steps */
.nc-eh-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--eb-line);
}
@media (min-width: 720px) { .nc-eh-steps { grid-template-columns: repeat(3, 1fr); border-top: 0; } }
.nc-eh-steps li {
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	border-top: 0;
	padding: 32px 28px;
}
@media (min-width: 720px) {
	.nc-eh-steps li { border-top: 1px solid var(--eb-line); border-right: 0; }
	.nc-eh-steps li:last-child { border-right: 1px solid var(--eb-line); }
}
.nc-eh-step__num {
	display: inline-block;
	font-family: var(--eb-serif);
	font-style: italic;
	font-size: 2.5rem;
	font-weight: 500;
	color: var(--eb-crimson);
	line-height: 1;
	margin-bottom: 14px;
}
.nc-eh-step__title {
	font-family: var(--eb-serif);
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--eb-ink);
	margin: 0 0 10px;
	letter-spacing: -.015em;
}
.nc-eh-steps li p { color: var(--eb-ink-soft); font-size: .92rem; line-height: 1.6; margin: 0; }

/* Closing CTA */
.nc-eh-cta {
	background: var(--eb-ink);
	color: #fff;
	padding: 72px 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.nc-eh-cta::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, var(--eb-crimson), var(--eb-gold));
}
.nc-eh-cta__title {
	font-family: var(--eb-serif);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 500;
	color: #fff;
	margin: 0 0 12px;
	letter-spacing: -.025em;
}
.nc-eh-cta__title em { font-style: italic; color: var(--eb-gold); }
.nc-eh-cta__sub {
	font-family: var(--eb-serif);
	font-style: italic;
	font-weight: 300;
	font-size: 1.1rem;
	color: rgba(255,255,255,.65);
	margin: 0 0 32px;
}
.nc-eh-cta__btns { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.nc-eh-empty { text-align: center; padding: 48px; color: var(--eb-muted); border: 1px dashed var(--eb-line); }

/* ── COMMUNITY ROOM PAGE (.nc-rm) ───────────────────── */
.nc-rm { background: var(--eb-bg); padding: 24px 0 80px; min-height: 60vh; }
.nc-rm__crumb {
	padding: 0 0 20px;
	font-family: var(--eb-mono);
	font-size: 11px;
	color: var(--eb-muted);
	letter-spacing: .08em;
}
.nc-rm__crumb a { color: var(--eb-muted); text-decoration: none; }
.nc-rm__crumb a:hover { color: var(--eb-crimson); }
.nc-rm__crumb span { margin: 0 8px; color: var(--eb-line); }
.nc-rm__crumb-cur { color: var(--eb-ink); }

.nc-rm__head {
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	border-left: 4px solid var(--ec, var(--eb-navy));
	padding: 36px 40px;
	margin-bottom: 28px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
@media (min-width: 880px) {
	.nc-rm__head { grid-template-columns: 1fr auto; align-items: end; }
}
.nc-rm__handle {
	display: inline-block;
	font-family: var(--eb-mono);
	font-size: 12px;
	color: var(--eb-muted);
	margin-bottom: 6px;
	letter-spacing: .04em;
}
.nc-rm__name {
	font-family: var(--eb-serif);
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 500;
	color: var(--eb-ink);
	margin: 0 0 10px;
	letter-spacing: -.025em;
	line-height: 1.05;
}
.nc-rm__desc { color: var(--eb-ink-soft); font-size: 1rem; max-width: 56ch; margin: 0; line-height: 1.5; }
.nc-rm__stats { display: flex; gap: 28px; margin: 16px 0 0; padding: 0; flex-wrap: wrap; }
.nc-rm__stats div { display: flex; flex-direction: column; gap: 2px; }
.nc-rm__stats dt { font-family: var(--eb-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--eb-muted); }
.nc-rm__stats dd { font-family: var(--eb-serif); font-size: 1.4rem; font-weight: 500; color: var(--eb-ink); margin: 0; letter-spacing: -.015em; }
.nc-rm__actions { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
@media (min-width: 880px) { .nc-rm__actions { align-items: flex-end; } }

.nc-rm__body {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
}
@media (min-width: 1024px) { .nc-rm__body { grid-template-columns: 1fr 300px; } }

.nc-rm__sort {
	display: flex;
	gap: 0;
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	margin-bottom: 16px;
	overflow-x: auto;
}
.nc-rm__sort-btn {
	padding: 12px 20px;
	font-family: var(--eb-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--eb-muted);
	text-decoration: none;
	border-right: 1px solid var(--eb-line);
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.nc-rm__sort-btn:last-child { border-right: 0; }
.nc-rm__sort-btn:hover { background: var(--eb-mid); color: var(--eb-ink); text-decoration: none; }
.nc-rm__sort-btn.is-active { background: var(--eb-ink); color: #fff; }

.nc-rm__pinned {
	display: block;
	background: var(--eb-ink);
	color: #fff;
	padding: 22px 26px;
	margin-bottom: 16px;
	text-decoration: none;
	border-left: 3px solid var(--eb-gold);
}
.nc-rm__pinned:hover { background: #2a2a2a; text-decoration: none; color: #fff; }
.nc-rm__pinned-tag {
	display: inline-block;
	font-family: var(--eb-mono);
	font-size: 10px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--eb-gold);
	margin-bottom: 8px;
}
.nc-rm__pinned-title { font-family: var(--eb-serif); font-size: 1.2rem; font-weight: 500; color: #fff; margin: 0 0 6px; }
.nc-rm__pinned-desc { color: rgba(255,255,255,.7); font-size: .9rem; margin: 0; line-height: 1.5; }

.nc-rm__feed { list-style: none; padding: 0; margin: 0; }
.nc-rm__post { background: var(--eb-paper); border: 1px solid var(--eb-line); border-top: 0; }
.nc-rm__post:first-child { border-top: 1px solid var(--eb-line); }
.nc-rm__post:hover { background: var(--eb-mid); }
.nc-rm__post-link { display: grid; grid-template-columns: 80px 1fr; padding: 20px 24px; text-decoration: none; color: inherit; gap: 18px; }
.nc-rm__post-vote {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-right: 18px;
	border-right: 1px solid var(--eb-line);
}
.nc-rm__post-vote-num { font-family: var(--eb-serif); font-size: 1.5rem; font-weight: 500; color: var(--eb-ink); letter-spacing: -.02em; }
.nc-rm__post-vote-label { font-family: var(--eb-mono); font-size: 10px; color: var(--eb-muted); letter-spacing: .08em; text-transform: uppercase; }
.nc-rm__post-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.nc-rm__post-time { font-family: var(--eb-mono); font-size: 11px; color: var(--eb-muted); }
.nc-rm__post-answered { font-family: var(--eb-mono); font-size: 10px; color: var(--eb-green); background: rgba(26,122,69,.08); padding: 2px 7px; letter-spacing: .04em; }
.nc-rm__post-title { font-family: var(--eb-serif); font-size: 1.15rem; font-weight: 500; color: var(--eb-ink); margin: 0 0 6px; letter-spacing: -.015em; line-height: 1.3; }
.nc-rm__post-excerpt { color: var(--eb-ink-soft); font-size: .9rem; margin: 0 0 10px; line-height: 1.5; }
.nc-rm__post-foot { display: flex; justify-content: space-between; font-family: var(--eb-mono); font-size: 11px; color: var(--eb-muted); padding-top: 8px; border-top: 1px solid var(--eb-line-soft); }
.nc-rm__post-by strong { color: var(--eb-ink); font-weight: 500; }
.nc-rm__post-by .nc-verified { vertical-align: middle; margin-left: 3px; }

.nc-rm__pagination { padding: 32px 0; text-align: center; }
.nc-rm__pagination .page-numbers { display: inline-block; padding: 8px 12px; border: 1px solid var(--eb-line); margin: 0 2px; font-family: var(--eb-mono); font-size: 12px; color: var(--eb-ink); text-decoration: none; background: var(--eb-paper); }
.nc-rm__pagination .page-numbers.current { background: var(--eb-crimson); color: #fff; border-color: var(--eb-crimson); }

.nc-rm__empty { padding: 48px; text-align: center; color: var(--eb-muted); border: 1px dashed var(--eb-line); background: var(--eb-paper); }

/* Sidebar cards */
.nc-rm__side { display: flex; flex-direction: column; gap: 16px; }
.nc-rm__card { background: var(--eb-paper); border: 1px solid var(--eb-line); padding: 22px 24px; }
.nc-rm__card-title {
	font-family: var(--eb-mono);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--eb-crimson);
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--eb-line);
	font-weight: 500;
}

.nc-rm__panel { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.nc-rm__panel a { display: flex; gap: 12px; text-decoration: none; color: inherit; padding: 4px 0; }
.nc-rm__panel-avatar {
	width: 36px; height: 36px;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--eb-serif);
	font-size: 12px;
	font-weight: 500;
	color: #fff;
	flex-shrink: 0;
	position: relative;
}
.nc-rm__panel-avatar[data-c="1"] { background: var(--eb-crimson); }
.nc-rm__panel-avatar[data-c="2"] { background: var(--eb-navy); }
.nc-rm__panel-avatar[data-c="3"] { background: var(--eb-gold-d); }
.nc-rm__panel-avatar[data-c="4"] { background: #2D5773; }
.nc-rm__panel-avatar[data-c="5"] { background: #6B3D7A; }
.nc-rm__panel-tick { position: absolute; bottom: -4px; right: -4px; background: #fff; border-radius: 50%; padding: 1px; display: inline-flex; }
.nc-rm__panel-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nc-rm__panel-info strong { font-size: 13px; color: var(--eb-ink); font-weight: 500; }
.nc-rm__panel-info span { font-family: var(--eb-mono); font-size: 11px; color: var(--eb-muted); }

.nc-rm__rules { list-style: none; padding: 0; margin: 0; counter-reset: rm-r; }
.nc-rm__rules li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 8px;
	padding: 8px 0;
	font-size: 13px;
	color: var(--eb-ink-soft);
	line-height: 1.45;
	border-bottom: 1px solid var(--eb-line-soft);
}
.nc-rm__rules li:last-child { border-bottom: 0; }
.nc-rm__rules li::before {
	counter-increment: rm-r;
	content: counter(rm-r, decimal-leading-zero);
	font-family: var(--eb-mono);
	font-size: 11px;
	color: var(--eb-crimson);
	font-weight: 500;
}

.nc-rm__contrib { list-style: none; padding: 0; margin: 0; }
.nc-rm__contrib li { display: grid; grid-template-columns: 24px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--eb-line-soft); align-items: center; }
.nc-rm__contrib li:last-child { border-bottom: 0; }
.nc-rm__contrib-rank { font-family: var(--eb-serif); font-style: italic; font-size: 1.05rem; color: var(--eb-crimson); }
.nc-rm__contrib-name { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.nc-rm__contrib-name strong { font-family: var(--eb-mono); font-size: 12px; color: var(--eb-ink); font-weight: 500; }
.nc-rm__contrib-name span { font-family: var(--eb-mono); font-size: 11px; color: var(--eb-gold-d); }

.nc-rm__related { list-style: none; padding: 0; margin: 0; }
.nc-rm__related li { padding: 8px 0; border-bottom: 1px solid var(--eb-line-soft); }
.nc-rm__related li:last-child { border-bottom: 0; }
.nc-rm__related a { display: flex; justify-content: space-between; align-items: baseline; text-decoration: none; color: inherit; }
.nc-rm__related a strong { font-family: var(--eb-mono); font-size: 12px; color: var(--eb-navy); font-weight: 500; }
.nc-rm__related a:hover strong { color: var(--eb-crimson); }
.nc-rm__related a span { font-family: var(--eb-mono); font-size: 11px; color: var(--eb-muted); }

/* ── ALL COMMUNITIES INDEX (.nc-cm) ──────────────────── */
.nc-cm { background: var(--eb-bg); padding: 24px 0 80px; min-height: 60vh; }
.nc-cm__head { padding: 32px 0 36px; max-width: 720px; }
.nc-cm__eyebrow { display: inline-block; font-family: var(--eb-mono); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--eb-crimson); margin-bottom: 14px; }
.nc-cm__title { font-family: var(--eb-serif); font-size: clamp(2.25rem, 4vw, 3.25rem); font-weight: 500; color: var(--eb-ink); margin: 0 0 14px; letter-spacing: -.025em; line-height: 1.05; }
.nc-cm__title em { font-style: italic; color: var(--eb-crimson); }
.nc-cm__sub { font-size: 1.05rem; color: var(--eb-ink-soft); line-height: 1.55; max-width: 56ch; margin: 0 0 24px; }
.nc-cm__sub strong { color: var(--eb-ink); font-weight: 500; }
.nc-cm__stats { display: flex; gap: 32px; padding-top: 20px; border-top: 1px solid var(--eb-line); margin: 0; }
.nc-cm__stats div { display: flex; flex-direction: column; gap: 2px; }
.nc-cm__stats dt { font-family: var(--eb-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--eb-muted); }
.nc-cm__stats dd { font-family: var(--eb-serif); font-size: 1.5rem; font-weight: 500; color: var(--eb-ink); margin: 0; letter-spacing: -.02em; }

.nc-cm__filter { display: flex; gap: 6px; margin-bottom: 24px; overflow-x: auto; padding-bottom: 6px; flex-wrap: wrap; }
.nc-cm__filter-btn {
	padding: 8px 14px;
	font-family: var(--eb-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--eb-muted);
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	border-radius: 3px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	white-space: nowrap;
}
.nc-cm__filter-btn:hover { color: var(--eb-ink); border-color: var(--eb-ink); }
.nc-cm__filter-btn.is-active { background: var(--eb-ink); color: #fff; border-color: var(--eb-ink); }
.nc-cm__filter-btn span { font-family: var(--eb-mono); font-size: 11px; opacity: .6; }

.nc-cm__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0 0 48px;
	padding: 0;
	list-style: none;
}
@media (min-width: 720px) { .nc-cm__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nc-cm__grid { grid-template-columns: 1fr 1fr 1fr; } }
.nc-cm__card { background: var(--eb-paper); border: 1px solid var(--eb-line); border-left: 3px solid var(--ec, var(--eb-navy)); transition: background .15s; }
.nc-cm__card:hover { background: var(--eb-mid); }
.nc-cm__card.is-hidden { display: none; }
.nc-cm__card a { display: block; padding: 22px 24px; text-decoration: none; color: inherit; height: 100%; }
.nc-cm__card-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.nc-cm__card-handle { font-family: var(--eb-mono); font-size: 12px; color: var(--eb-muted); letter-spacing: .04em; }
.nc-cm__card-name { font-family: var(--eb-serif); font-size: 1.25rem; font-weight: 500; color: var(--eb-ink); margin: 0 0 6px; letter-spacing: -.015em; }
.nc-cm__card-desc { color: var(--eb-ink-soft); font-size: .88rem; line-height: 1.5; margin: 0 0 18px; }
.nc-cm__card-panel { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--eb-line-soft); margin-bottom: 12px; }
.nc-cm__card-panel-label { font-family: var(--eb-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--eb-muted); }
.nc-cm__card-avatars { display: inline-flex; }
.nc-cm__card-avatar {
	width: 24px; height: 24px;
	border-radius: 3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--eb-serif);
	font-size: 10px;
	font-weight: 500;
	color: #fff;
	border: 2px solid var(--eb-paper);
	margin-left: -6px;
}
.nc-cm__card-avatar:first-child { margin-left: 0; }
.nc-cm__card-avatar[data-c="1"] { background: var(--eb-crimson); }
.nc-cm__card-avatar[data-c="2"] { background: var(--eb-navy); }
.nc-cm__card-avatar[data-c="3"] { background: var(--eb-gold-d); }
.nc-cm__card-avatar[data-c="4"] { background: #2D5773; }
.nc-cm__card-avatar[data-c="5"] { background: #6B3D7A; }
.nc-cm__card-latest { padding-bottom: 12px; border-bottom: 1px solid var(--eb-line-soft); margin-bottom: 12px; }
.nc-cm__card-latest-label { display: block; font-family: var(--eb-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--eb-muted); margin-bottom: 4px; }
.nc-cm__card-latest-q { display: block; font-family: var(--eb-serif); font-size: .95rem; font-style: italic; color: var(--eb-ink); line-height: 1.4; }
.nc-cm__card-foot { display: flex; justify-content: space-between; align-items: center; font-family: var(--eb-mono); font-size: 11px; color: var(--eb-muted); }
.nc-cm__card-foot strong { color: var(--eb-ink); font-weight: 500; }
.nc-cm__card-arrow { color: var(--eb-crimson); font-size: 14px; transition: transform .15s; }
.nc-cm__card:hover .nc-cm__card-arrow { transform: translateX(4px); }

.nc-cm__empty { padding: 64px 24px; text-align: center; color: var(--eb-muted); border: 1px dashed var(--eb-line); background: var(--eb-paper); }

.nc-cm__access {
	background: var(--eb-paper);
	border: 1px solid var(--eb-line);
	border-left: 4px solid var(--eb-crimson);
	padding: 32px 36px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	align-items: center;
}
@media (min-width: 720px) { .nc-cm__access { grid-template-columns: 1fr auto; } }
.nc-cm__access-text h2 { font-family: var(--eb-serif); font-size: 1.5rem; font-weight: 500; color: var(--eb-ink); margin: 0 0 8px; letter-spacing: -.02em; }
.nc-cm__access-text p { color: var(--eb-ink-soft); font-size: .95rem; line-height: 1.55; margin: 0; max-width: 56ch; }
.nc-cm__access-text strong { color: var(--eb-crimson); font-weight: 500; }
.nc-cm__access-btns { display: flex; gap: 10px; flex-wrap: wrap; }

/* ═════════════════════════════════════════════════════════
   HOMEPAGE — minimal editorial (.nc-home-*)
   ═════════════════════════════════════════════════════════ */

.nc-home-hero, .nc-home-row, .nc-home-close {
	--h-bg:     #FAFAF8;
	--h-paper:  #FFFFFF;
	--h-mid:    #F3F2EE;
	--h-ink:    #1A1A1A;
	--h-soft:   #3D3D3D;
	--h-muted:  #6B6B6B;
	--h-line:   #E4E2DC;
	--h-crimson:#C41E3A;
	--h-navy:   #003893;
	--h-gold:   #C9A84C;
	--h-serif:  'Lexend', system-ui, sans-serif;
	--h-sans:   'Lexend', system-ui, sans-serif;
	--h-mono:   'DM Mono', ui-monospace, Menlo, monospace;
	background: var(--h-bg);
	color: var(--h-ink);
	font-family: var(--h-sans);
}

/* HERO */
.nc-home-hero {
	padding: 96px 0 80px;
}
@media (max-width: 720px) { .nc-home-hero { padding: 64px 0 56px; } }
.nc-home-eyebrow {
	font-family: var(--h-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--h-crimson);
	margin: 0 0 28px;
}
.nc-home-hero__title {
	font-family: var(--h-serif);
	font-weight: 500;
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1.04;
	letter-spacing: -.028em;
	color: var(--h-ink);
	margin: 0 0 24px;
	max-width: 16ch;
}
.nc-home-hero__title em { font-style: italic; color: var(--h-crimson); font-weight: 400; }
.nc-home-hero__sub {
	font-size: 1.15rem;
	line-height: 1.55;
	color: var(--h-soft);
	max-width: 56ch;
	margin: 0 0 36px;
}
.nc-home-hero__ctas { display: flex; gap: 12px; margin-bottom: 56px; flex-wrap: wrap; }
.nc-home-trust {
	display: flex;
	gap: 36px;
	flex-wrap: wrap;
	padding-top: 28px;
	border-top: 1px solid var(--h-line);
	margin: 0;
	padding-left: 0;
	list-style: none;
}
.nc-home-trust li {
	font-family: var(--h-mono);
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--h-muted);
}
.nc-home-trust strong {
	font-family: var(--h-serif);
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--h-ink);
	display: block;
	letter-spacing: -.02em;
	margin-bottom: 2px;
}

/* ROW (section between hairlines) */
.nc-home-row {
	padding: 72px 0;
	border-top: 1px solid var(--h-line);
}
@media (max-width: 720px) { .nc-home-row { padding: 56px 0; } }

.nc-home-sec-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 36px;
	gap: 16px;
	flex-wrap: wrap;
}
.nc-home-sec-title {
	font-family: var(--h-serif);
	font-size: clamp(1.5rem, 2.8vw, 2rem);
	font-weight: 500;
	color: var(--h-ink);
	margin: 0;
	letter-spacing: -.02em;
}
.nc-home-sec-link {
	font-family: var(--h-mono);
	font-size: 12px;
	color: var(--h-navy);
	text-decoration: none;
	letter-spacing: .04em;
}
.nc-home-sec-link:hover { color: var(--h-crimson); text-decoration: underline; }

/* Pillars — 3 short propositions */
.nc-home-pillars {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 720px) { .nc-home-pillars { grid-template-columns: 1fr 1fr 1fr; gap: 48px; } }
.nc-home-pillars li {}
.nc-home-pillars h3 {
	font-family: var(--h-serif);
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--h-ink);
	margin: 0 0 10px;
	letter-spacing: -.015em;
}
.nc-home-pillars p {
	color: var(--h-soft);
	font-size: .95rem;
	line-height: 1.6;
	margin: 0;
}

/* Recent questions — clean list, no cards */
.nc-home-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--h-line);
}
.nc-home-q { border-bottom: 1px solid var(--h-line); }
.nc-home-q a {
	display: block;
	padding: 24px 0;
	text-decoration: none;
	color: inherit;
}
.nc-home-q a:hover .nc-home-q__title { color: var(--h-crimson); }
.nc-home-q__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
	font-family: var(--h-mono);
	font-size: 11px;
	color: var(--h-muted);
	letter-spacing: .04em;
}
.nc-home-q__tag { color: var(--h-navy); }
.nc-home-q__dot { opacity: .5; }
.nc-home-q__title {
	font-family: var(--h-serif);
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--h-ink);
	margin: 0 0 8px;
	line-height: 1.3;
	letter-spacing: -.012em;
	transition: color .12s ease;
}
.nc-home-q__by {
	font-size: .85rem;
	color: var(--h-muted);
	margin: 0;
}
.nc-home-q__by strong { color: var(--h-ink); font-weight: 500; }
.nc-home-q__by .nc-verified { vertical-align: middle; margin-left: 3px; }

/* Communities — clean two-column list */
.nc-home-comms {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid var(--h-line);
}
@media (min-width: 720px) { .nc-home-comms { grid-template-columns: 1fr 1fr; } }
.nc-home-comms li {
	border-bottom: 1px solid var(--h-line);
}
@media (min-width: 720px) {
	.nc-home-comms li:nth-child(odd) { border-right: 1px solid var(--h-line); }
}
.nc-home-comms a {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px 24px;
	align-items: baseline;
	padding: 20px 0;
	text-decoration: none;
	color: inherit;
}
@media (min-width: 720px) {
	.nc-home-comms li:nth-child(odd) a { padding-right: 24px; }
	.nc-home-comms li:nth-child(even) a { padding-left: 24px; }
}
.nc-home-comms a:hover .nc-home-comm__name { color: var(--h-crimson); }
.nc-home-comm__name {
	font-family: var(--h-serif);
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--h-ink);
	letter-spacing: -.012em;
	transition: color .12s ease;
}
.nc-home-comm__handle {
	font-family: var(--h-mono);
	font-size: 11px;
	color: var(--h-muted);
	grid-row: 2;
	letter-spacing: .04em;
}
.nc-home-comm__count {
	font-family: var(--h-mono);
	font-size: 11px;
	color: var(--h-muted);
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	letter-spacing: .04em;
	white-space: nowrap;
}
.nc-home-comm__paid { color: var(--h-gold); }

.nc-home-empty {
	color: var(--h-muted);
	font-style: italic;
	padding: 32px 0;
	border-top: 1px solid var(--h-line);
}

/* CLOSING */
.nc-home-close {
	padding: 96px 0 112px;
	border-top: 1px solid var(--h-line);
	text-align: center;
}
@media (max-width: 720px) { .nc-home-close { padding: 64px 0 80px; } }
.nc-home-close__title {
	font-family: var(--h-serif);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 500;
	color: var(--h-ink);
	margin: 0 0 32px;
	letter-spacing: -.02em;
	max-width: 24ch;
	margin-left: auto;
	margin-right: auto;
}
.nc-home-close__title em { font-style: italic; color: var(--h-crimson); }

/* ═════════════════════════════════════════════════════════
   HOMEPAGE (.nc-cv-*) — magazine cover, asymmetric
   ═════════════════════════════════════════════════════════ */

.nc-cv-hero, .nc-cv-why, .nc-cv-comms, .nc-cv-recent, .nc-cv-close,
.nc-pl, .nc-dir {
	--c-bg:      #FAFAF8;
	--c-paper:   #FFFFFF;
	--c-mid:     #F3F2EE;
	--c-ink:     #1A1A1A;
	--c-soft:    #3D3D3D;
	--c-muted:   #6B6B6B;
	--c-line:    #E4E2DC;
	--c-crimson: #C41E3A;
	--c-crimsd:  #8B1226;
	--c-navy:    #003893;
	--c-navyd:   #001F5C;
	--c-gold:    #C9A84C;
	--c-goldd:   #8B6B2E;
	--c-serif:   'Lexend', system-ui, sans-serif;
	--c-sans:    'Lexend', system-ui, sans-serif;
	--c-mono:    'DM Mono', ui-monospace, Menlo, monospace;
	background: var(--c-bg);
	color: var(--c-ink);
	font-family: var(--c-sans);
}

.nc-cv-eyebrow {
	font-family: var(--c-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-crimson);
	margin: 0 0 18px;
}
.nc-cv-eyebrow--light { color: var(--c-gold); }

/* HERO — asymmetric: 6fr text / 5fr live card */
.nc-cv-hero { padding: 64px 0 48px; border-bottom: 1px solid var(--c-line); }
.nc-cv-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: start;
}
@media (min-width: 980px) {
	.nc-cv-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; }
}
.nc-cv-hero__h1 {
	font-family: var(--c-serif);
	font-weight: 500;
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1.02;
	letter-spacing: -.028em;
	color: var(--c-ink);
	margin: 0 0 24px;
}
.nc-cv-hero__h1 em { font-style: italic; color: var(--c-crimson); font-weight: 400; }
.nc-cv-hero__sub {
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--c-soft);
	max-width: 50ch;
	margin: 0 0 32px;
}
.nc-cv-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; }

/* Live card on right */
.nc-cv-hero__card {
	background: var(--c-paper);
	border: 1px solid var(--c-line);
	border-top: 3px solid var(--c-crimson);
	padding: 24px 26px 28px;
	display: flex;
	flex-direction: column;
}
.nc-cv-card__top { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.nc-cv-card__pulse {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--c-crimson);
	box-shadow: 0 0 0 0 rgba(196, 30, 58, .6);
	animation: nc-cv-pulse 2s infinite;
}
@keyframes nc-cv-pulse {
	0% { box-shadow: 0 0 0 0 rgba(196, 30, 58, .55); }
	70% { box-shadow: 0 0 0 10px rgba(196, 30, 58, 0); }
	100% { box-shadow: 0 0 0 0 rgba(196, 30, 58, 0); }
}
.nc-cv-card__live { font-family: var(--c-mono); font-size: 10px; letter-spacing: .15em; color: var(--c-crimson); font-weight: 500; }
.nc-cv-card__tag {
	margin-left: auto;
	font-family: var(--c-mono);
	font-size: 11px;
	color: var(--c-navy);
	background: rgba(0, 56, 147, .06);
	padding: 2px 8px;
	border-radius: 2px;
	letter-spacing: .04em;
}
.nc-cv-card__title {
	display: block;
	font-family: var(--c-serif);
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.25;
	color: var(--c-ink);
	text-decoration: none;
	letter-spacing: -.015em;
	margin-bottom: 8px;
}
.nc-cv-card__title:hover { color: var(--c-crimson); }
.nc-cv-card__asker { font-size: .85rem; color: var(--c-muted); margin: 0 0 18px; }
.nc-cv-card__asker strong { color: var(--c-ink); font-weight: 500; }
.nc-cv-card__divider {
	font-family: var(--c-mono);
	font-size: 10px;
	letter-spacing: .12em;
	color: var(--c-muted);
	text-align: center;
	margin: 0 0 14px;
	padding-top: 14px;
	border-top: 1px dashed var(--c-line);
}
.nc-cv-card__answer {
	font-family: var(--c-serif);
	font-style: italic;
	font-size: 1rem;
	line-height: 1.55;
	color: var(--c-soft);
	margin: 0 0 16px;
	padding-left: 14px;
	border-left: 2px solid var(--c-gold);
}
.nc-cv-card__by { display: flex; gap: 12px; align-items: center; margin: 0 0 16px; }
.nc-cv-card__by-mark {
	width: 38px; height: 38px;
	background: var(--c-crimson);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--c-serif);
	font-weight: 500;
	font-size: 14px;
	border-radius: 3px;
}
.nc-cv-card__by strong { display: block; font-size: 13px; color: var(--c-ink); font-weight: 500; }
.nc-cv-card__by strong .nc-verified { vertical-align: middle; margin-left: 4px; }
.nc-cv-card__cred { display: block; font-family: var(--c-mono); font-size: 11px; color: var(--c-muted); margin-top: 2px; letter-spacing: .03em; }
.nc-cv-card__read {
	font-family: var(--c-mono);
	font-size: 11px;
	color: var(--c-navy);
	text-decoration: none;
	letter-spacing: .04em;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--c-line);
}
.nc-cv-card__read:hover { color: var(--c-crimson); }

/* Trust strip under hero */
.nc-cv-hero__trust {
	display: flex;
	gap: 28px;
	flex-wrap: wrap;
	margin-top: 48px;
	padding-top: 24px;
	border-top: 1px solid var(--c-line);
	font-family: var(--c-mono);
	font-size: 12px;
	color: var(--c-muted);
	letter-spacing: .04em;
}
.nc-cv-hero__trust strong { font-family: var(--c-serif); font-size: 1.1rem; color: var(--c-ink); font-weight: 500; margin-right: 6px; letter-spacing: -.01em; }
.nc-cv-hero__trust-tail { margin-left: auto; color: var(--c-gold); }
@media (max-width: 720px) { .nc-cv-hero__trust-tail { margin-left: 0; } }

/* WHY (split: intro + numbered list) */
.nc-cv-why {
	padding: 80px 0;
	background: var(--c-mid);
	border-bottom: 1px solid var(--c-line);
}
.nc-cv-why__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}
@media (min-width: 880px) {
	.nc-cv-why__grid { grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: start; }
}
.nc-cv-why__h2 {
	font-family: var(--c-serif);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 500;
	color: var(--c-ink);
	margin: 0 0 18px;
	letter-spacing: -.025em;
	line-height: 1.1;
}
.nc-cv-why__h2 em { font-style: italic; color: var(--c-crimson); }
.nc-cv-why__lede { font-size: 1.05rem; color: var(--c-soft); line-height: 1.55; margin: 0; max-width: 44ch; }
.nc-cv-why__list { list-style: none; margin: 0; padding: 0; counter-reset: w; }
.nc-cv-why__list li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 20px;
	padding: 22px 0;
	border-top: 1px solid var(--c-line);
}
.nc-cv-why__list li:last-child { border-bottom: 1px solid var(--c-line); }
.nc-cv-why__num {
	font-family: var(--c-serif);
	font-style: italic;
	font-size: 2.25rem;
	color: var(--c-crimson);
	line-height: 1;
	font-weight: 500;
}
.nc-cv-why__list h3 { font-family: var(--c-serif); font-size: 1.2rem; font-weight: 500; margin: 0 0 6px; color: var(--c-ink); letter-spacing: -.012em; }
.nc-cv-why__list p { color: var(--c-soft); font-size: .95rem; line-height: 1.55; margin: 0; }

/* Shared section header for comms + recent */
.nc-cv-sec-head {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 28px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--c-ink);
}
.nc-cv-sec-head .nc-cv-eyebrow { margin: 0; grid-column: 1 / span 2; }
.nc-cv-sec-h2 {
	font-family: var(--c-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 500;
	color: var(--c-ink);
	margin: 4px 0 0;
	letter-spacing: -.02em;
}
.nc-cv-sec-link {
	font-family: var(--c-mono);
	font-size: 12px;
	color: var(--c-navy);
	text-decoration: none;
	letter-spacing: .04em;
	align-self: end;
}
.nc-cv-sec-link:hover { color: var(--c-crimson); text-decoration: underline; }

/* COMMUNITIES — color-spine grid (3 columns) */
.nc-cv-comms { padding: 80px 0; }
.nc-cv-comm-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid var(--c-line);
	border-left: 1px solid var(--c-line);
}
@media (min-width: 720px) { .nc-cv-comm-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nc-cv-comm-grid { grid-template-columns: 1fr 1fr 1fr; } }
.nc-cv-comm-grid li {
	background: var(--c-paper);
	border-right: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	position: relative;
}
.nc-cv-comm-grid li::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: var(--ec, var(--c-navy));
}
.nc-cv-comm-grid a {
	display: block;
	padding: 24px 26px;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.nc-cv-comm-grid a:hover { background: var(--c-mid); }
.nc-cv-comm__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.nc-cv-comm__handle { font-family: var(--c-mono); font-size: 12px; color: var(--c-muted); letter-spacing: .04em; }
.nc-cv-comm__plus { font-family: var(--c-mono); font-size: 10px; color: var(--c-goldd); background: #FDF6E3; padding: 2px 7px; letter-spacing: .08em; text-transform: uppercase; border: 1px solid #E8D080; }
.nc-cv-comm-grid h3 { font-family: var(--c-serif); font-size: 1.2rem; font-weight: 500; color: var(--c-ink); margin: 0 0 8px; letter-spacing: -.015em; }
.nc-cv-comm-grid p { color: var(--c-soft); font-size: .88rem; line-height: 1.5; margin: 0 0 18px; }
.nc-cv-comm__foot { display: flex; justify-content: space-between; align-items: baseline; padding-top: 12px; border-top: 1px solid var(--c-line); font-family: var(--c-mono); font-size: 11px; color: var(--c-muted); }
.nc-cv-comm__foot strong { color: var(--c-ink); font-weight: 500; }
.nc-cv-comm__arrow { color: var(--c-crimson); font-size: 14px; transition: transform .12s; }
.nc-cv-comm-grid a:hover .nc-cv-comm__arrow { transform: translateX(3px); }

/* RECENT — flat list on parchment */
.nc-cv-recent { padding: 80px 0; background: var(--c-mid); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.nc-cv-recent__list { list-style: none; margin: 0; padding: 0; }
.nc-cv-recent__list li { border-top: 1px solid var(--c-line); }
.nc-cv-recent__list li:last-child { border-bottom: 1px solid var(--c-line); }
.nc-cv-recent__list a {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px 24px;
	padding: 20px 0;
	text-decoration: none;
	color: inherit;
}
@media (min-width: 720px) { .nc-cv-recent__list a { grid-template-columns: 180px 1fr auto; align-items: baseline; gap: 0 28px; } }
.nc-cv-recent__list a:hover h3 { color: var(--c-crimson); }
.nc-cv-recent__meta { display: flex; gap: 12px; align-items: baseline; font-family: var(--c-mono); font-size: 11px; color: var(--c-muted); letter-spacing: .04em; }
.nc-cv-recent__tag { color: var(--c-navy); }
.nc-cv-recent__list h3 { font-family: var(--c-serif); font-size: 1.05rem; font-weight: 500; color: var(--c-ink); margin: 0; line-height: 1.35; letter-spacing: -.01em; transition: color .12s; }
.nc-cv-recent__by { font-family: var(--c-mono); font-size: 11px; color: var(--c-muted); letter-spacing: .04em; white-space: nowrap; }
.nc-cv-recent__by strong { color: var(--c-ink); font-weight: 500; }
.nc-cv-recent__by .nc-verified { vertical-align: middle; margin-left: 3px; }

/* CLOSING — dark crimson band */
.nc-cv-close {
	background: var(--c-ink);
	color: #fff;
	padding: 88px 0;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.nc-cv-close::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, var(--c-crimson) 50%, var(--c-gold) 50%);
}
.nc-cv-close__inner { max-width: 720px; margin: 0 auto; }
.nc-cv-close__h2 {
	font-family: var(--c-serif);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 500;
	color: #fff;
	margin: 0 0 32px;
	letter-spacing: -.025em;
	line-height: 1.15;
}
.nc-cv-close__h2 em { font-style: italic; color: var(--c-gold); }
.nc-cv-close__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	background: var(--c-crimson);
	color: #fff;
	font-family: var(--c-sans);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	border-radius: 3px;
	border: 1.5px solid var(--c-crimson);
	transition: background .15s, border-color .15s;
}
.nc-cv-close__btn:hover { background: var(--c-crimsd); border-color: var(--c-crimsd); color: #fff; }

/* ═════════════════════════════════════════════════════════
   PRICING (.nc-pl-*) — tabular comparison
   ═════════════════════════════════════════════════════════ */
.nc-pl { padding: 32px 0 80px; min-height: 70vh; }
.nc-pl__head { max-width: 720px; padding: 40px 0 48px; }
.nc-pl__h1 {
	font-family: var(--c-serif);
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	font-weight: 500;
	color: var(--c-ink);
	margin: 0 0 16px;
	letter-spacing: -.025em;
	line-height: 1.08;
}
.nc-pl__h1 em { font-style: italic; color: var(--c-crimson); }
.nc-pl__lede { font-size: 1.1rem; color: var(--c-soft); line-height: 1.55; margin: 0; max-width: 56ch; }

/* Plans row */
.nc-pl__plans {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	margin-bottom: 64px;
}
@media (min-width: 880px) { .nc-pl__plans { grid-template-columns: 1fr 1fr 1fr; } }
.nc-pl__plan {
	background: var(--c-paper);
	border: 1px solid var(--c-line);
	padding: 28px 28px 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: relative;
}
.nc-pl__plan h2 { font-family: var(--c-mono); font-size: 11px; letter-spacing: .15em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 8px; font-weight: 500; }
.nc-pl__price { font-family: var(--c-serif); font-size: 1.1rem; color: var(--c-muted); }
.nc-pl__price strong { font-size: 2.5rem; color: var(--c-ink); font-weight: 500; letter-spacing: -.025em; }
.nc-pl__price span { font-size: .9rem; }
.nc-pl__plan p { color: var(--c-soft); font-size: .92rem; line-height: 1.5; margin: 6px 0 0; }
.nc-pl__plan--featured {
	background: var(--c-ink);
	color: #fff;
	border-color: var(--c-ink);
	transform: scale(1.02);
	z-index: 1;
}
.nc-pl__plan--featured h2 { color: var(--c-gold); }
.nc-pl__plan--featured .nc-pl__price { color: rgba(255,255,255,.6); }
.nc-pl__plan--featured .nc-pl__price strong { color: #fff; }
.nc-pl__plan--featured p { color: rgba(255,255,255,.75); }
.nc-pl__badge {
	position: absolute;
	top: -10px; left: 28px;
	background: var(--c-gold);
	color: var(--c-ink);
	font-family: var(--c-mono);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 4px 10px;
	font-weight: 500;
}

/* v1.16.2 — current-plan indicator on /pricing/.
 * Shows a green "✓ Your current plan" tag pinned to the top of the
 * user's active card + adds a crimson accent border so the active card
 * is the first thing the eye lands on. The featured (dark) Plus card
 * gets a brighter on-dark variant of the tag. */
.nc-pl__current-tag {
	position: absolute;
	top: -10px; left: 28px;
	background: var(--nc-green, #1A8754);
	color: #fff;
	font-family: var(--c-mono);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 4px 10px;
	font-weight: 600;
}
.nc-pl__current-tag--on-dark {
	background: var(--c-gold);
	color: var(--c-ink);
}
.nc-pl__plan--current { box-shadow: inset 0 0 0 2px var(--nc-green, #1A8754); }
.nc-pl__plan--featured.nc-pl__plan--current { box-shadow: inset 0 0 0 2px var(--c-gold); }
/* The disabled-looking "Currently active" button on the Free card when
 * the user is on Free — they can't downgrade further so the CTA is
 * visually inert + non-clickable feeling. */
.nc-eh-btn--disabled {
	opacity: .55;
	cursor: not-allowed;
	pointer-events: none;
}
[data-theme="dark"] .nc-pl__current-tag {
	background: #2EA869;
	color: #0F0F0F;
}

/* Comparison table */
.nc-pl__compare { margin-bottom: 80px; }
.nc-pl__compare-title { font-family: var(--c-serif); font-size: 1.5rem; font-weight: 500; color: var(--c-ink); margin: 0 0 24px; letter-spacing: -.02em; }
.nc-pl__table-wrap { overflow-x: auto; border: 1px solid var(--c-line); }
.nc-pl__table { width: 100%; border-collapse: collapse; background: var(--c-paper); }
.nc-pl__table thead th {
	background: var(--c-mid);
	font-family: var(--c-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-muted);
	padding: 16px 20px;
	text-align: center;
	font-weight: 500;
	border-bottom: 1px solid var(--c-line);
}
.nc-pl__table thead th:first-child { text-align: left; }
.nc-pl__table thead th.is-feat { background: var(--c-ink); color: var(--c-gold); }
.nc-pl__table tbody th {
	text-align: left;
	padding: 14px 20px;
	font-weight: 500;
	color: var(--c-ink);
	font-size: .92rem;
	border-bottom: 1px solid var(--c-line);
}
.nc-pl__table tbody td {
	text-align: center;
	padding: 14px 20px;
	color: var(--c-soft);
	font-size: .92rem;
	border-bottom: 1px solid var(--c-line);
}
.nc-pl__table tbody td.is-feat { background: rgba(26, 26, 26, .03); color: var(--c-crimson); font-weight: 500; }
.nc-pl__table tbody tr:last-child th, .nc-pl__table tbody tr:last-child td { border-bottom: 0; }

/* Money flow */
.nc-pl__money { margin-bottom: 64px; padding: 40px 0; border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.nc-pl__money-grid { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 880px) { .nc-pl__money-grid { grid-template-columns: 1.3fr 1fr; gap: 56px; } }
.nc-pl__money-h2 { font-family: var(--c-serif); font-size: 1.75rem; font-weight: 500; color: var(--c-ink); margin: 0 0 16px; letter-spacing: -.02em; }
.nc-pl__money-grid p { color: var(--c-soft); line-height: 1.6; margin: 0 0 12px; }
.nc-pl__money-splits { list-style: none; margin: 0; padding: 0; }
.nc-pl__money-splits li {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 16px;
	align-items: baseline;
	padding: 14px 0;
	border-top: 1px solid var(--c-line);
}
.nc-pl__money-splits li:last-child { border-bottom: 1px solid var(--c-line); }
.nc-pl__money-splits strong { font-family: var(--c-serif); font-size: 1.5rem; color: var(--c-crimson); letter-spacing: -.02em; font-weight: 500; }
.nc-pl__money-splits span { font-family: var(--c-mono); font-size: 12px; color: var(--c-muted); letter-spacing: .04em; }

/* FAQ */
.nc-pl__faq h2 { font-family: var(--c-serif); font-size: 1.75rem; font-weight: 500; color: var(--c-ink); margin: 6px 0 28px; letter-spacing: -.02em; }
.nc-pl__faq details {
	border-top: 1px solid var(--c-line);
	padding: 18px 0;
}
.nc-pl__faq details:last-of-type { border-bottom: 1px solid var(--c-line); }
.nc-pl__faq summary {
	font-family: var(--c-serif);
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--c-ink);
	cursor: pointer;
	letter-spacing: -.012em;
	list-style: none;
	position: relative;
	padding-right: 32px;
}
.nc-pl__faq summary::-webkit-details-marker { display: none; }
.nc-pl__faq summary::after {
	content: '+';
	position: absolute;
	right: 0; top: -2px;
	font-family: var(--c-serif);
	font-size: 1.5rem;
	color: var(--c-crimson);
	font-weight: 300;
	transition: transform .15s;
}
.nc-pl__faq details[open] summary::after { content: '−'; }
.nc-pl__faq details p { color: var(--c-soft); line-height: 1.6; margin: 12px 0 0; max-width: 70ch; }

/* ═════════════════════════════════════════════════════════
   ALL COMMUNITIES DIRECTORY (.nc-dir-*)
   ═════════════════════════════════════════════════════════ */
.nc-dir { padding: 24px 0 80px; min-height: 70vh; }
.nc-dir__crumb {
	font-family: var(--c-mono);
	font-size: 11px;
	letter-spacing: .08em;
	color: var(--c-muted);
	margin: 0 0 28px;
}
.nc-dir__crumb a { color: var(--c-muted); text-decoration: none; }
.nc-dir__crumb a:hover { color: var(--c-crimson); }
.nc-dir__crumb span[aria-hidden] { margin: 0 8px; color: var(--c-line); }
.nc-dir__head { padding: 16px 0 40px; }
.nc-dir__head-row { display: grid; grid-template-columns: 1fr; gap: 16px; align-items: end; }
@media (min-width: 720px) { .nc-dir__head-row { grid-template-columns: 1fr auto; } }
.nc-dir__h1 { font-family: var(--c-serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 500; color: var(--c-ink); margin: 0 0 8px; letter-spacing: -.025em; line-height: 1.05; }
.nc-dir__sub { color: var(--c-muted); font-size: 1rem; margin: 0; }

/* Filter pills — separator between access (free/paid) and tier groups. */
.nc-dir__filter {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	align-items: center;
	padding: 16px 0 20px;
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	margin-bottom: 28px;
}
.nc-dir__filter-sep {
	display: inline-block;
	width: 1px;
	height: 18px;
	background: var(--c-line);
	margin: 0 6px;
}
.nc-dir__pill {
	font-family: var(--c-mono);
	font-size: 12px;
	letter-spacing: .04em;
	color: var(--c-muted);
	background: transparent;
	border: 1px solid var(--c-line);
	padding: 7px 14px;
	cursor: pointer;
	border-radius: 3px;
	transition: all .15s;
	display: inline-flex;
	gap: 6px;
	align-items: center;
	white-space: nowrap;
}
.nc-dir__pill:hover { color: var(--c-ink); border-color: var(--c-ink); }
.nc-dir__pill.is-active { background: var(--c-ink); color: #fff; border-color: var(--c-ink); }
.nc-dir__pill span { opacity: .55; font-size: 10px; }
.nc-dir__pill.is-active span { opacity: .8; }
.nc-dir__pill--tier-very-high.is-active { background: #A41830; border-color: #A41830; }
.nc-dir__pill--tier-high.is-active { background: #C9A84C; border-color: #C9A84C; color: #1A1A1A; }
.nc-dir__pill--tier-medium.is-active { background: #003893; border-color: #003893; }

/* List — single-column ranked rows. */
.nc-dir__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.nc-dir__grid li.is-hidden { display: none; }
.nc-dir__row { display: block; }

/* Tier section divider row (Very High / High / Medium). */
.nc-dir__tier-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 6px;
	padding: 0;
}
.nc-dir__tier-row:first-child { margin-top: 0; }
.nc-dir__tier-row-lbl {
	font-family: var(--c-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-muted);
	font-weight: 600;
	white-space: nowrap;
}
.nc-dir__tier-row--very-high .nc-dir__tier-row-lbl { color: #A41830; }
.nc-dir__tier-row--high .nc-dir__tier-row-lbl { color: #8B6B2E; }
.nc-dir__tier-row--medium .nc-dir__tier-row-lbl { color: #003893; }
.nc-dir__tier-row-line {
	flex: 1;
	height: 1px;
	background: var(--c-line);
}

/* Card — horizontal layout with prominent rank on the left. */
.nc-dir__card {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 18px;
	background: var(--c-paper);
	border: 1px solid var(--c-line);
	border-left: 4px solid var(--ec, var(--c-navy));
	padding: 18px 22px;
	text-decoration: none;
	color: inherit;
	transition: background .15s, border-color .15s, transform .12s;
}
.nc-dir__card:hover {
	background: var(--c-mid);
	border-left-color: var(--ec, var(--c-navy));
	transform: translateX(2px);
	text-decoration: none;
}
.nc-dir__card--paid { background: linear-gradient(to right, rgba(201, 168, 76, 0.05), transparent 220px); }

.nc-dir__card-rank {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	padding-top: 4px;
}
.nc-dir__card-rank span {
	font-family: var(--c-serif);
	font-style: italic;
	font-size: 36px;
	font-weight: 500;
	color: var(--c-muted);
	line-height: 1;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}
.nc-dir__card-main {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}
.nc-dir__card-id {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.nc-dir__card-handle {
	font-family: var(--c-mono);
	font-size: 11px;
	color: var(--c-muted);
	letter-spacing: .04em;
}
.nc-dir__card-paid {
	font-family: var(--c-mono);
	font-size: 9.5px;
	color: #8B6B2E;
	background: #FBF6E6;
	border: 1px solid #E8D080;
	padding: 2px 7px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 600;
}
.nc-dir__card-flame { font-size: 14px; line-height: 1; }
.nc-dir__card-name {
	font-family: var(--c-serif);
	font-size: 1.3rem;
	font-weight: 500;
	color: var(--c-ink);
	margin: 0;
	letter-spacing: -.015em;
	line-height: 1.2;
}
.nc-dir__card-desc {
	color: var(--c-soft);
	font-size: .92rem;
	line-height: 1.5;
	margin: 0;
}
.nc-dir__card-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 10px;
	border-top: 1px solid var(--c-line);
	margin-top: 4px;
}
.nc-dir__card-stats {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
}
.nc-dir__card-stats div { display: flex; align-items: baseline; gap: 6px; }
.nc-dir__card-stats strong {
	font-family: var(--c-serif);
	font-size: 1rem;
	color: var(--c-ink);
	font-weight: 500;
	line-height: 1;
}
.nc-dir__card-stats span {
	font-family: var(--c-mono);
	font-size: 10px;
	color: var(--c-muted);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.nc-dir__card-score {
	display: flex;
	align-items: baseline;
	gap: 2px;
	font-family: var(--c-serif);
	color: var(--c-ink);
	background: var(--c-mid);
	padding: 6px 12px;
	border: 1px solid var(--c-line);
	border-radius: 3px;
	font-variant-numeric: tabular-nums;
}
.nc-dir__card-score strong { font-size: 18px; font-weight: 500; }
.nc-dir__card-score span { font-family: var(--c-mono); font-size: 11px; color: var(--c-muted); margin-left: 1px; }

.nc-dir__empty { padding: 64px; text-align: center; color: var(--c-muted); border: 1px dashed var(--c-line); background: var(--c-paper); }

.nc-dir__meta {
	margin-top: 32px;
	padding-top: 18px;
	border-top: 1px solid var(--c-line);
	font-family: var(--c-mono);
	font-size: 11px;
	letter-spacing: .04em;
	color: var(--c-muted);
	text-align: center;
}

/* Mobile — card collapses to vertical with smaller rank. */
@media (max-width: 600px) {
	.nc-dir__card {
		grid-template-columns: 44px 1fr;
		gap: 12px;
		padding: 14px 16px;
	}
	.nc-dir__card-rank span { font-size: 26px; }
	.nc-dir__card-foot {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.nc-dir__card-score { padding: 5px 10px; }
	.nc-dir__card-score strong { font-size: 16px; }
}

/* ═════════════════════════════════════════════════════════
   HOMEPAGE — "Late Edition" newspaper (.nc-le-*)
   Brand only: Parchment, Crimson, Navy, Himalayan Gold,
   Fraunces, DM Sans, DM Mono. Clean 1px hairlines.
   ═════════════════════════════════════════════════════════ */

.nc-le {
	--l-bg:       #FAFAF8;
	--l-paper:    #FFFFFF;
	--l-mid:      #F3F2EE;
	--l-ink:      #1A1A1A;
	--l-ink-d:    #0B0B0B;
	--l-soft:     #3D3D3D;
	--l-muted:    #6B6B6B;
	--l-line:     #E4E2DC;
	--l-crimson:  #C41E3A;
	--l-crimsd:   #8B1226;
	--l-navy:     #003893;
	--l-navyd:    #001F5C;
	--l-gold:     #C9A84C;
	--l-goldd:    #8B6B2E;
	--l-serif:    'Lexend', system-ui, sans-serif;
	--l-sans:     'Lexend', system-ui, sans-serif;
	--l-mono:     'DM Mono', ui-monospace, Menlo, monospace;
	background: var(--l-bg);
	color: var(--l-ink);
	font-family: var(--l-sans);
}

.nc-le-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--l-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--l-crimson);
}
.nc-le-eyebrow--static { margin: 0 0 14px; }
.nc-le-eyebrow--gold { color: var(--l-gold); }
.nc-le-eyebrow strong { color: var(--l-ink); font-weight: 500; }
.nc-le-pulse {
	width: 7px; height: 7px;
	background: var(--l-crimson);
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(196,30,58,.6);
	animation: nc-le-pulse 1.8s infinite;
}
@keyframes nc-le-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(196,30,58,.55); }
	70%  { box-shadow: 0 0 0 10px rgba(196,30,58,0); }
	100% { box-shadow: 0 0 0 0 rgba(196,30,58,0); }
}

/* MASTHEAD STRIP */
.nc-le-masthead {
	background: var(--l-ink-d);
	color: #fff;
	border-bottom: 1px solid var(--l-ink-d);
}
.nc-le-masthead__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	font-family: var(--l-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.6);
	flex-wrap: wrap;
}
.nc-le-mast-item { color: rgba(255,255,255,.85); }
.nc-le-mast-item--accent { color: var(--l-gold); }
.nc-le-mast-time { display: inline-flex; gap: 8px; }
.nc-le-mast-time time { font-variant-numeric: tabular-nums; color: #fff; }
.nc-le-mast-sep { color: rgba(255,255,255,.25); }
.nc-le-mast-sep--push { margin-left: auto; }
@media (max-width: 640px) { .nc-le-mast-sep--push { margin-left: 0; } }

/* HERO */
.nc-le-hero { padding: 56px 0 64px; border-bottom: 1px solid var(--l-line); }
.nc-le-hero__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
}
@media (min-width: 980px) {
	.nc-le-hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: start; }
}
.nc-le-hero__lead .nc-le-eyebrow { margin-bottom: 24px; }
.nc-le-hero__h1 {
	font-family: var(--l-serif);
	font-weight: 700;
	/* v1.15.1 — was clamp(2.5rem, 6.5vw, 5rem) which peaked at 80px on
	 * desktop and dominated the viewport above the fold. Tightened so
	 * the headline + lede + CTAs all fit on screen at 1440×900 (the
	 * typical first paint) without scroll. */
	font-size: clamp(1.75rem, 4vw, 3rem);
	line-height: 1.05;
	letter-spacing: -.025em;
	color: var(--l-ink);
	margin: 0 0 20px;
}
.nc-le-hero__h1 em { font-style: italic; color: var(--l-crimson); font-weight: 400; }
.nc-le-hero__h1-mark {
	background: linear-gradient(transparent 68%, rgba(201, 168, 76, .35) 68%, rgba(201, 168, 76, .35) 92%, transparent 92%);
	padding: 0 6px;
	margin-left: -6px;
}
.nc-le-hero__lede {
	font-size: 1.1rem;
	line-height: 1.6;
	color: var(--l-soft);
	max-width: 52ch;
	margin: 0 0 32px;
}
.nc-le-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 40px; }

/* Stats — newspaper masthead stats */
.nc-le-hero__stats {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	border-top: 1px solid var(--l-line);
}
@media (min-width: 560px) { .nc-le-hero__stats { grid-template-columns: 1fr 1fr 1fr; } }
.nc-le-hero__stats div {
	padding: 18px 22px 18px 0;
	border-bottom: 1px solid var(--l-line);
}
@media (min-width: 560px) {
	.nc-le-hero__stats div { border-bottom: 0; border-right: 1px solid var(--l-line); padding: 18px 22px; }
	.nc-le-hero__stats div:first-child { padding-left: 0; }
	.nc-le-hero__stats div:last-child { border-right: 0; }
}
.nc-le-hero__stats dt {
	font-family: var(--l-mono);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--l-muted);
	margin-bottom: 4px;
}
.nc-le-hero__stats dd {
	font-family: var(--l-serif);
	font-size: 1.75rem;
	font-weight: 500;
	color: var(--l-ink);
	margin: 0;
	letter-spacing: -.025em;
	line-height: 1;
}
.nc-le-hero__stats dd em { font-style: italic; color: var(--l-crimson); }

/* Buttons */
.nc-le-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--l-sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	padding: 13px 22px;
	border-radius: 3px;
	border: 1.5px solid transparent;
	text-decoration: none;
	transition: background .15s, color .15s, border-color .15s;
}
.nc-le-btn--primary { background: var(--l-crimson); color: #fff; border-color: var(--l-crimson); }
.nc-le-btn--primary:hover { background: var(--l-crimsd); border-color: var(--l-crimsd); color: #fff; text-decoration: none; }
.nc-le-btn--ghost { background: transparent; color: var(--l-ink); border-color: var(--l-ink); }
.nc-le-btn--ghost:hover { background: var(--l-ink); color: #fff; text-decoration: none; }

/* LIVE THREAD STAGE */
.nc-le-stage {
	background: var(--l-paper);
	border: 1px solid var(--l-line);
	border-top: 3px solid var(--l-crimson);
	padding: 22px 24px 22px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.nc-le-stage__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nc-le-stage__pulse {
	width: 7px; height: 7px;
	background: var(--l-crimson);
	border-radius: 50%;
	animation: nc-le-pulse 1.8s infinite;
}
.nc-le-stage__live { font-family: var(--l-mono); font-size: 11px; letter-spacing: .14em; color: var(--l-crimson); text-transform: uppercase; font-weight: 500; }
.nc-le-stage__tag {
	font-family: var(--l-mono);
	font-size: 11px;
	color: var(--l-navy);
	background: rgba(0, 56, 147, .06);
	padding: 2px 7px;
	letter-spacing: .04em;
}
.nc-le-stage__time { margin-left: auto; font-family: var(--l-mono); font-size: 11px; color: var(--l-muted); letter-spacing: .04em; }
.nc-le-stage__title {
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-decoration: none;
	color: inherit;
	padding-bottom: 16px;
	border-bottom: 1px dashed var(--l-line);
}
.nc-le-stage__title:hover .nc-le-stage__q { color: var(--l-crimson); }
.nc-le-stage__ask { font-family: var(--l-mono); font-size: 11px; letter-spacing: .04em; color: var(--l-muted); }
.nc-le-stage__q {
	font-family: var(--l-serif);
	font-size: 1.25rem;
	line-height: 1.3;
	color: var(--l-ink);
	font-weight: 500;
	letter-spacing: -.012em;
	transition: color .12s;
}
.nc-le-stage__reply { display: flex; flex-direction: column; gap: 10px; }
.nc-le-stage__by { display: flex; flex-direction: column; gap: 2px; }
.nc-le-stage__by-name { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--l-ink); }
.nc-le-stage__by-name strong { font-weight: 500; }
.nc-le-stage__verified {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px; height: 16px;
	background: var(--l-crimson);
	color: #fff;
	font-size: 10px;
	border-radius: 50%;
	font-weight: 700;
}
.nc-le-stage__cred { font-family: var(--l-mono); font-size: 11px; color: var(--l-muted); letter-spacing: .03em; }
.nc-le-stage__answer {
	font-family: var(--l-serif);
	font-style: italic;
	font-size: .98rem;
	line-height: 1.55;
	color: var(--l-soft);
	margin: 0;
	padding-left: 14px;
	border-left: 2px solid var(--l-gold);
}
.nc-le-stage__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 14px;
	border-top: 1px solid var(--l-line);
	font-family: var(--l-mono);
	font-size: 11px;
	color: var(--l-muted);
	letter-spacing: .04em;
}
.nc-le-stage__foot strong { color: var(--l-ink); font-weight: 500; }
.nc-le-stage__foot a { color: var(--l-navy); text-decoration: none; }
.nc-le-stage__foot a:hover { color: var(--l-crimson); }

/* PULSE TICKER */
.nc-le-pulse-strip { display: none; } /* placeholder for old class if any */
section.nc-le-pulse {
	display: flex;
	align-items: stretch;
	border-top: 1px solid var(--l-ink);
	border-bottom: 1px solid var(--l-ink);
	background: var(--l-ink);
	color: #fff;
	overflow: hidden;
	animation: none;
}
.nc-le-pulse__lbl {
	display: inline-flex;
	align-items: center;
	padding: 0 18px;
	background: var(--l-crimson);
	color: #fff;
	font-family: var(--l-mono);
	font-size: 11px;
	letter-spacing: .15em;
	text-transform: uppercase;
	font-weight: 500;
	flex-shrink: 0;
}
.nc-le-pulse__viewport { overflow: hidden; flex: 1; }
.nc-le-pulse__track {
	display: inline-flex;
	gap: 32px;
	padding: 12px 24px;
	animation: nc-le-ticker 60s linear infinite;
	white-space: nowrap;
	width: max-content;
}
.nc-le-pulse__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--l-sans);
	font-size: 13px;
	color: rgba(255,255,255,.85);
}
.nc-le-pulse__dot {
	width: 5px; height: 5px;
	background: var(--l-gold);
	border-radius: 50%;
	flex-shrink: 0;
}
@keyframes nc-le-ticker {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* WHY (3 rules) */
.nc-le-why { padding: 80px 0; background: var(--l-mid); border-bottom: 1px solid var(--l-line); }
.nc-le-why__head { margin-bottom: 48px; max-width: 700px; }
.nc-le-why__h2 {
	font-family: var(--l-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	color: var(--l-ink);
	margin: 0;
	line-height: 1.05;
	letter-spacing: -.025em;
}
.nc-le-why__h2 em { font-style: italic; color: var(--l-crimson); }
.nc-le-why__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid var(--l-line);
}
@media (min-width: 880px) {
	.nc-le-why__list { grid-template-columns: 1fr 1fr 1fr; border-top: 0; }
}
.nc-le-why__list li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 16px;
	padding: 28px 0;
	border-bottom: 1px solid var(--l-line);
}
@media (min-width: 880px) {
	.nc-le-why__list li {
		border-bottom: 0;
		border-right: 1px solid var(--l-line);
		padding: 8px 28px 8px 0;
	}
	.nc-le-why__list li:last-child { border-right: 0; padding-right: 0; }
	.nc-le-why__list li:not(:first-child) { padding-left: 28px; }
}
.nc-le-why__num {
	font-family: var(--l-serif);
	font-style: italic;
	font-size: 2.25rem;
	color: var(--l-crimson);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.02em;
}
.nc-le-why__list h3 {
	font-family: var(--l-serif);
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--l-ink);
	margin: 0 0 8px;
	letter-spacing: -.012em;
	line-height: 1.2;
}
.nc-le-why__list p { color: var(--l-soft); font-size: .92rem; line-height: 1.55; margin: 0; }
.nc-le-why__list strong { color: var(--l-ink); font-weight: 500; }

/* BENTO */
.nc-le-bento { padding: 80px 0; border-bottom: 1px solid var(--l-line); }
.nc-le-bento__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 16px;
	align-items: baseline;
	margin-bottom: 32px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--l-ink);
}
.nc-le-bento__head .nc-le-eyebrow { grid-column: 1 / -1; margin-bottom: 6px; }
.nc-le-bento__h2 {
	font-family: var(--l-serif);
	font-size: clamp(1.75rem, 3.5vw, 2.5rem);
	font-weight: 500;
	color: var(--l-ink);
	margin: 0;
	letter-spacing: -.022em;
	line-height: 1.1;
}
.nc-le-bento__h2 em { font-style: italic; color: var(--l-crimson); }
.nc-le-bento__all { font-family: var(--l-mono); font-size: 12px; color: var(--l-navy); text-decoration: none; letter-spacing: .04em; align-self: end; }
.nc-le-bento__all:hover { color: var(--l-crimson); text-decoration: underline; }

.nc-le-bento__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
@media (min-width: 880px) {
	.nc-le-bento__grid {
		grid-template-columns: 1.4fr 1fr 1fr;
		grid-template-rows: auto auto;
		gap: 16px;
	}
	.nc-le-bento__main { grid-row: span 2; grid-column: 1; }
}
.nc-le-bento__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	font-family: var(--l-mono);
	font-size: 11px;
	color: var(--l-muted);
	letter-spacing: .04em;
}
.nc-le-bento__tag { color: var(--l-navy); }
.nc-le-bento__main, .nc-le-bento__small {
	background: var(--l-paper);
	border: 1px solid var(--l-line);
	padding: 24px;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	transition: background .12s;
}
.nc-le-bento__main:hover, .nc-le-bento__small:hover { background: var(--l-mid); text-decoration: none; }
.nc-le-bento__main { padding: 32px 36px; }
.nc-le-bento__main-title {
	font-family: var(--l-serif);
	font-size: clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight: 500;
	color: var(--l-ink);
	margin: 0 0 14px;
	line-height: 1.15;
	letter-spacing: -.02em;
}
.nc-le-bento__main:hover .nc-le-bento__main-title { color: var(--l-crimson); }
.nc-le-bento__main-prev { color: var(--l-soft); font-size: .95rem; line-height: 1.6; margin: 0 0 auto; padding-bottom: 24px; }
.nc-le-bento__main-foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 16px;
	border-top: 1px solid var(--l-line);
	font-family: var(--l-mono);
	font-size: 12px;
	color: var(--l-muted);
}
.nc-le-bento__by { display: inline-flex; align-items: center; gap: 6px; }
.nc-le-bento__by strong { color: var(--l-ink); font-weight: 500; }
.nc-le-bento__verified {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px; height: 14px;
	background: var(--l-crimson);
	color: #fff;
	font-size: 9px;
	border-radius: 50%;
	font-weight: 700;
}
.nc-le-bento__stats { letter-spacing: .04em; }
.nc-le-bento__small-title {
	font-family: var(--l-serif);
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--l-ink);
	margin: 0 0 auto;
	line-height: 1.3;
	padding-bottom: 14px;
	letter-spacing: -.012em;
}
.nc-le-bento__small:hover .nc-le-bento__small-title { color: var(--l-crimson); }
.nc-le-bento__small-foot {
	font-family: var(--l-mono);
	font-size: 11px;
	color: var(--l-muted);
	padding-top: 12px;
	border-top: 1px solid var(--l-line);
	display: flex;
	align-items: center;
	gap: 6px;
}
.nc-le-bento__small-foot strong { color: var(--l-ink); font-weight: 500; }

/* ROOMS row */
.nc-le-rooms { padding: 80px 0; background: var(--l-mid); border-bottom: 1px solid var(--l-line); }
.nc-le-rooms__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 16px;
	align-items: baseline;
	margin-bottom: 28px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--l-ink);
}
.nc-le-rooms__head .nc-le-eyebrow { grid-column: 1 / -1; margin-bottom: 6px; }
.nc-le-rooms__h2 { font-family: var(--l-serif); font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 500; color: var(--l-ink); margin: 0; letter-spacing: -.02em; }
.nc-le-rooms__all { font-family: var(--l-mono); font-size: 12px; color: var(--l-navy); text-decoration: none; letter-spacing: .04em; align-self: end; }
.nc-le-rooms__all:hover { color: var(--l-crimson); text-decoration: underline; }
.nc-le-rooms__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid var(--l-line);
	border-left: 1px solid var(--l-line);
}
@media (min-width: 560px) { .nc-le-rooms__list { grid-template-columns: 1fr 1fr; } }
@media (min-width: 880px) { .nc-le-rooms__list { grid-template-columns: 1fr 1fr 1fr 1fr; } }
.nc-le-rooms__list li {
	background: var(--l-paper);
	border-right: 1px solid var(--l-line);
	border-bottom: 1px solid var(--l-line);
	position: relative;
}
.nc-le-rooms__list li::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: var(--ec, var(--l-navy));
}
.nc-le-rooms__list a {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px 20px;
	text-decoration: none;
	color: inherit;
	height: 100%;
}
.nc-le-rooms__list a:hover { background: var(--l-mid); }
.nc-le-rooms__handle { font-family: var(--l-mono); font-size: 11px; color: var(--l-muted); letter-spacing: .04em; }
.nc-le-rooms__name { font-family: var(--l-serif); font-size: 1.05rem; font-weight: 500; color: var(--l-ink); letter-spacing: -.012em; line-height: 1.25; }
.nc-le-rooms__list a:hover .nc-le-rooms__name { color: var(--l-crimson); }
.nc-le-rooms__meta { font-family: var(--l-mono); font-size: 11px; color: var(--l-muted); margin-top: auto; padding-top: 8px; letter-spacing: .04em; }
.nc-le-rooms__meta em { font-style: normal; color: var(--l-goldd); }

/* CLOSING */
.nc-le-close {
	padding: 96px 0;
	text-align: center;
	background: var(--l-ink-d);
	color: #fff;
	position: relative;
	overflow: hidden;
}
.nc-le-close::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, var(--l-crimson) 50%, var(--l-gold) 50%);
}
.nc-le-close .nc-le-eyebrow { margin: 0 0 24px; justify-content: center; }
.nc-le-close__h2 {
	font-family: var(--l-serif);
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	font-weight: 500;
	color: #fff;
	margin: 0 0 32px;
	letter-spacing: -.025em;
	line-height: 1.15;
	max-width: 24ch;
	margin-left: auto;
	margin-right: auto;
}
.nc-le-close__h2 em { font-style: italic; color: var(--l-gold); }
.nc-le-close__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 16px 32px;
	background: var(--l-crimson);
	color: #fff;
	font-family: var(--l-sans);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	border-radius: 3px;
	border: 1.5px solid var(--l-crimson);
	transition: background .15s, border-color .15s;
}
.nc-le-close__btn:hover { background: var(--l-crimsd); border-color: var(--l-crimsd); color: #fff; text-decoration: none; }

/* ── Reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0s !important; transition: none !important; }
}

/* =========================================================
 *  FORUM FEED  (/forum/)
 *  Three-column social feed. Scoped under .nc-fd to avoid
 *  bleeding into homepage (.nc-le-) / directory (.nc-dir-) /
 *  pricing (.nc-pr-). Brand palette only.
 * ========================================================= */

.nc-fd {
	--f-bg:        #FAFAF8;
	--f-paper:     #FFFFFF;
	--f-ink:       #1A1A1A;
	--f-ink-2:     #4A4A4A;
	--f-ink-3:     #7A7A7A;
	--f-line:      #E6E1D8;
	--f-line-2:    #F0ECE3;
	--f-crimson:   #C41E3A;
	--f-crimsond:  #A41830;
	--f-navy:      #003893;
	--f-gold:      #C9A84C;
	--f-tint:      #F5F1E8;

	--f-serif: 'Lexend', system-ui, sans-serif;
	--f-sans:  'Lexend', -apple-system, BlinkMacSystemFont, sans-serif;
	--f-mono:  'DM Mono', ui-monospace, monospace;

	background: var(--f-bg);
	color: var(--f-ink);
	font-family: var(--f-sans);
	min-height: 100vh;
	padding: 24px 0 80px;
}

.nc-fd__shell {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr) 320px;
	gap: 32px;
	max-width: 1380px;
	margin: 0 auto;
	padding: 0 24px;
}

@media (max-width: 1180px) {
	/* v1.16.10 — was `.nc-fd__rail-r { display: none; }`. Hiding the
	 * whole rail meant the hardcoded ad slot inside it never rendered
	 * on tablet/mobile — defeating the "ads below the feed on mobile"
	 * requirement. Now: rail stays in the layout but reflows as a
	 * full-width row beneath main, and we hide everything inside it
	 * EXCEPT the ad so it doesn't dump empty expert/suggested panels
	 * onto narrow viewports. */
	.nc-fd__shell { grid-template-columns: 220px minmax(0, 1fr); }
	.nc-fd__rail-r {
		grid-column: 1 / -1;
		margin-top: 24px;
		max-height: none;
		overflow: visible;
	}
	.nc-fd__rail-r .nc-fd__panel,
	.nc-fd__rail-r .nc-ad-admin-stub { display: none; }
}
@media (max-width: 820px) {
	.nc-fd__shell { grid-template-columns: 1fr; gap: 20px; padding: 0 16px; }
	.nc-fd__rail-l { order: 2; }
	.nc-fd__main   { order: 1; }
	.nc-fd__rail-r { order: 3; }
}

/* ── LEFT RAIL ─────────────────────────────────────────── */
.nc-fd__rail-l {
	display: flex;
	flex-direction: column;
	gap: 20px;
	position: sticky;
	top: 72px;
	align-self: flex-start;
	max-height: calc(100vh - 80px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--f-line) transparent;
}
.nc-fd__rail-l::-webkit-scrollbar { width: 4px; }
.nc-fd__rail-l::-webkit-scrollbar-thumb { background: var(--f-line); }

.nc-fd__nav {
	display: flex;
	flex-direction: column;
	background: var(--f-paper);
	border: 1px solid var(--f-line);
}
.nc-fd__navitem {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 14px;
	color: var(--f-ink-2);
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	border-bottom: 1px solid var(--f-line-2);
	transition: background .12s, color .12s;
}
.nc-fd__navitem:last-child { border-bottom: 0; }
.nc-fd__navitem:hover { background: var(--f-tint); color: var(--f-ink); text-decoration: none; }
.nc-fd__navitem.is-active { background: var(--f-ink); color: #fff; }
.nc-fd__navitem.is-active .nc-fd__navct { background: rgba(255,255,255,.18); color: #fff; }
.nc-fd__navitem svg { flex-shrink: 0; opacity: .8; }
.nc-fd__navitem span:nth-child(2) { flex: 1; }
.nc-fd__navct {
	font-family: var(--f-mono);
	font-size: 10px;
	padding: 2px 7px;
	background: var(--f-tint);
	color: var(--f-ink-2);
	border-radius: 0;
	letter-spacing: .03em;
}
.nc-fd__navdot {
	width: 6px; height: 6px;
	background: var(--f-crimson);
	border-radius: 50%;
	animation: nc-fd-pulse 1.6s ease-in-out infinite;
}
@keyframes nc-fd-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%      { opacity: .4; transform: scale(.85); }
}

.nc-fd__rooms {
	background: var(--f-paper);
	border: 1px solid var(--f-line);
	padding: 14px;
}
.nc-fd__rooms-h {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	font-family: var(--f-mono);
	font-size: 10px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--f-ink-3);
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--f-line-2);
}
.nc-fd__rooms-h a { color: var(--f-crimson); text-decoration: none; font-size: 10px; }
.nc-fd__rooms-h a:hover { text-decoration: underline; }
.nc-fd__roomlist { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.nc-fd__roomlist a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 6px;
	color: var(--f-ink-2);
	text-decoration: none;
	font-size: 13px;
	transition: background .12s, color .12s;
}
.nc-fd__roomlist a:hover { background: var(--f-tint); color: var(--f-ink); text-decoration: none; }
.nc-fd__roomglyph {
	width: 22px; height: 22px;
	background: var(--rg, var(--f-navy));
	color: #fff;
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 13px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.nc-fd__roomname { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-fd__roomtag {
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-gold);
	font-weight: 700;
}
.nc-fd__roomexplore {
	display: block;
	margin-top: 10px;
	padding: 6px 0 0;
	border-top: 1px solid var(--f-line-2);
	color: var(--f-crimson);
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 12.5px;
	text-decoration: none;
}
.nc-fd__roomexplore:hover { text-decoration: underline; }

.nc-fd__tonight {
	background: var(--f-ink);
	color: #fff;
	border: 1px solid var(--f-ink);
	padding: 16px;
}
.nc-fd__tonight-h {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255,255,255,.12);
	margin-bottom: 12px;
}
.nc-fd__tonight-lbl {
	font-family: var(--f-mono);
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--f-gold);
}
.nc-fd__tonight-time {
	font-family: var(--f-mono);
	font-size: 11px;
	color: rgba(255,255,255,.7);
	font-variant-numeric: tabular-nums;
}
.nc-fd__tonight dl { margin: 0; display: flex; flex-direction: column; gap: 9px; }
.nc-fd__tonight dl > div { display: flex; justify-content: space-between; align-items: baseline; }
.nc-fd__tonight dt { font-size: 12px; color: rgba(255,255,255,.65); }
.nc-fd__tonight dd {
	margin: 0;
	font-family: var(--f-serif);
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	font-variant-numeric: tabular-nums;
}
.nc-fd__tonight dd em { font-style: italic; color: var(--f-gold); }

/* ── MAIN FEED ─────────────────────────────────────────── */
.nc-fd__main {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

/* compose */
.nc-fd__compose {
	background: var(--f-paper);
	border: 1px solid var(--f-line);
	padding: 16px 18px;
}
.nc-fd__compose-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.nc-fd__compose-input {
	flex: 1;
	background: var(--f-tint);
	border: 1px solid transparent;
	padding: 10px 14px;
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 15.5px;
	color: var(--f-ink-3);
	text-align: left;
	cursor: pointer;
	text-decoration: none;
	display: block;
	transition: border-color .15s, color .15s;
}
.nc-fd__compose-input:hover { border-color: var(--f-line); color: var(--f-ink-2); text-decoration: none; }
.nc-fd__compose-actions {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
	padding-top: 10px;
	border-top: 1px solid var(--f-line-2);
}
.nc-fd__compose-chip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 5px 11px;
	background: var(--f-tint);
	border: 1px solid var(--f-line);
	font-family: var(--f-mono);
	font-size: 10.5px;
	color: var(--f-ink-2);
	letter-spacing: .03em;
	text-transform: uppercase;
}
.nc-fd__compose-chip--anon { background: var(--f-ink); color: var(--f-gold); border-color: var(--f-ink); }
.nc-fd__compose-post {
	margin-left: auto;
	background: var(--f-crimson);
	color: #fff;
	border: 1px solid var(--f-crimson);
	padding: 6px 16px;
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: background .12s;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.nc-fd__compose-post:hover { background: var(--f-crimsond); border-color: var(--f-crimsond); color: #fff; text-decoration: none; }
.nc-fd__av {
	width: 38px; height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--f-navy);
	color: #fff;
	font-family: var(--f-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 15px;
	flex-shrink: 0;
}
.nc-fd__av--me { background: var(--f-crimson); }
.nc-fd__av--guest { background: var(--f-tint); color: var(--f-ink-3); border: 1px dashed var(--f-line); }
.nc-fd__av--anon { background: var(--f-ink); color: var(--f-gold); }
.nc-fd__av-img {
	width: 36px; height: 36px;
	border: 1px solid var(--f-line);
	flex-shrink: 0;
	object-fit: cover;
}

/* Horizontal feed-filter tab strip — removed in v1.2.3 (left rail
 * is the sole source of truth). All .nc-fd__tab* + .nc-fd__tabs*
 * rules deleted. Sort link styles below survived because we kept
 * the sortbar (one-line label + sort dropdown). */
.nc-fd__sort {
	font-family: var(--f-mono);
	font-size: 10.5px;
	color: var(--f-ink-3);
	text-decoration: none;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 6px 10px;
}
.nc-fd__sort:hover { color: var(--f-ink); text-decoration: none; }

/* story strip */
.nc-fd__strip {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 4px;
}
.nc-fd__strip::-webkit-scrollbar { display: none; }
.nc-fd__story {
	flex: 0 0 132px;
	padding: 14px 12px;
	background: var(--f-paper);
	border: 1px solid var(--f-line);
	border-left: 3px solid var(--sg, var(--f-navy));
	text-decoration: none;
	color: var(--f-ink);
	transition: background .12s, transform .12s;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.nc-fd__story:hover { background: var(--f-tint); text-decoration: none; color: var(--f-ink); transform: translateY(-1px); }
.nc-fd__story-glyph {
	width: 28px; height: 28px;
	background: var(--sg, var(--f-navy));
	color: #fff;
	font-family: var(--f-serif);
	font-style: italic;
	font-weight: 700;
	font-size: 15px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.nc-fd__story-name {
	font-family: var(--f-serif);
	font-size: 14px;
	line-height: 1.2;
	color: var(--f-ink);
	font-weight: 500;
}
.nc-fd__story-ct {
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-ink-3);
	letter-spacing: .03em;
	text-transform: uppercase;
}
.nc-fd__story--more { background: transparent; border-style: dashed; border-left-style: solid; }

/* new posts pill */
.nc-fd__newposts {
	align-self: center;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: var(--f-ink);
	color: #fff;
	border: 1px solid var(--f-ink);
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity .25s, transform .25s;
}
.nc-fd__newposts:hover { background: var(--f-crimson); border-color: var(--f-crimson); }
.nc-fd__newposts-dot {
	width: 6px; height: 6px;
	background: var(--f-gold);
	border-radius: 50%;
	animation: nc-fd-pulse 1.6s ease-in-out infinite;
}

/* feed cards (base) */
.nc-fd__card {
	background: var(--f-paper);
	border: 1px solid var(--f-line);
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
	opacity: 0;
	transform: translateY(8px);
	animation: nc-fd-reveal .45s ease forwards;
}
@keyframes nc-fd-reveal {
	to { opacity: 1; transform: translateY(0); }
}
.nc-fd__d0 { animation-delay: .02s; }
.nc-fd__d1 { animation-delay: .08s; }
.nc-fd__d2 { animation-delay: .14s; }
.nc-fd__d3 { animation-delay: .20s; }
.nc-fd__d4 { animation-delay: .26s; }
.nc-fd__d5 { animation-delay: .32s; }

.nc-fd__card-head { display: flex; gap: 12px; align-items: flex-start; }
.nc-fd__card-meta-col { flex: 1; min-width: 0; }
.nc-fd__card-who {
	font-family: var(--f-serif);
	font-size: 15px;
	color: var(--f-ink);
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}
.nc-fd__card-who a { color: var(--f-ink); text-decoration: none; }
.nc-fd__card-who a:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__card-sub {
	font-family: var(--f-mono);
	font-size: 10.5px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: lowercase;
	display: flex;
	gap: 6px;
	align-items: center;
	margin-top: 2px;
	flex-wrap: wrap;
}
.nc-fd__card-sub a { color: var(--f-ink-2); text-decoration: none; }
.nc-fd__card-sub a:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__sep { color: var(--f-ink-3); opacity: .5; }
.nc-fd__card-q {
	font-family: var(--f-serif);
	font-size: 19px;
	line-height: 1.35;
	font-weight: 500;
	color: var(--f-ink);
	margin: 0;
	letter-spacing: -.005em;
}
.nc-fd__card-q a { color: var(--f-ink); text-decoration: none; }
.nc-fd__card-q a:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__card-q em { font-style: italic; color: var(--f-crimson); }
.nc-fd__card-excerpt {
	font-family: var(--f-serif);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--f-ink-2);
	margin: 0;
}
.nc-fd__card-excerpt em { font-style: italic; color: var(--f-ink); }
.nc-fd__cred {
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.nc-fd__verified {
	display: inline-block;
	background: var(--f-navy);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	padding: 1px 5px;
	font-family: var(--f-mono);
}
.nc-fd__lic {
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.nc-fd__featflag { color: var(--f-gold); }
.nc-fd__ribbon {
	position: absolute;
	top: 0; left: 20px;
	background: var(--f-navy);
	color: #fff;
	font-family: var(--f-mono);
	font-size: 9.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 3px 9px;
	transform: translateY(-50%);
}

/* card actions */
.nc-fd__card-actions {
	display: flex;
	gap: 14px;
	padding-top: 10px;
	border-top: 1px solid var(--f-line-2);
}
.nc-fd__react {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--f-mono);
	font-size: 11px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-decoration: none;
	padding: 4px 0;
	transition: color .12s;
}
.nc-fd__react:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__react span { font-size: 13px; opacity: .9; }

/* trending big variant */
.nc-fd__card--big {
	border-color: var(--f-ink);
	padding: 0;
	overflow: hidden;
}
.nc-fd__card-cover {
	background: var(--f-ink);
	color: #fff;
	padding: 22px 24px 18px;
	border-bottom: 4px solid var(--cc, var(--f-crimson));
}
.nc-fd__card-cover .nc-fd__card-h {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: clamp(20px, 2.4vw, 26px);
	line-height: 1.25;
	font-weight: 400;
	margin: 0 0 14px;
	letter-spacing: -.01em;
}
.nc-fd__card-cover .nc-fd__card-h a { color: #fff; text-decoration: none; }
.nc-fd__card-cover .nc-fd__card-h a:hover { color: var(--f-gold); text-decoration: none; }
.nc-fd__card-pills { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; flex-wrap: wrap; }
.nc-fd__live-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--f-crimson);
	color: #fff;
	padding: 3px 8px;
	font-family: var(--f-mono);
	font-size: 9.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.nc-fd__live-dot {
	width: 5px; height: 5px;
	background: #fff;
	border-radius: 50%;
	animation: nc-fd-pulse 1.6s ease-in-out infinite;
}
.nc-fd__card-comm {
	font-family: var(--f-mono);
	font-size: 11px;
	color: var(--f-gold);
	text-decoration: none;
	letter-spacing: .04em;
}
.nc-fd__card-comm:hover { text-decoration: underline; }
.nc-fd__card-cover .nc-fd__card-meta {
	display: flex;
	gap: 18px;
	font-family: var(--f-mono);
	font-size: 10.5px;
	color: rgba(255,255,255,.7);
	letter-spacing: .04em;
	text-transform: uppercase;
	flex-wrap: wrap;
}
.nc-fd__card-cover .nc-fd__card-meta strong { color: #fff; font-weight: 500; font-family: var(--f-serif); font-size: 14px; font-style: italic; }
.nc-fd__card--big .nc-fd__card-body { padding: 16px 24px 6px; }
.nc-fd__card--big .nc-fd__card-actions { padding: 14px 24px 16px; }

.nc-fd__minireply { display: flex; gap: 12px; padding: 12px 14px; background: var(--f-tint); border-left: 2px solid var(--cc, var(--f-crimson)); }
.nc-fd__minireply-who {
	font-family: var(--f-serif);
	font-size: 13.5px;
	color: var(--f-ink);
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}
.nc-fd__minireply-body {
	font-family: var(--f-serif);
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--f-ink-2);
	font-style: italic;
}

/* anonymous variant */
.nc-fd__card--anon {
	border-left: 3px solid var(--f-ink);
	background: var(--f-tint);
}
.nc-fd__anon-name {
	font-family: var(--f-serif);
	font-style: italic;
	color: var(--f-ink);
	font-weight: 500;
}
.nc-fd__anon-tag {
	font-family: var(--f-mono);
	font-size: 9.5px;
	background: var(--f-ink);
	color: var(--f-gold);
	padding: 2px 6px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* expert variant */
.nc-fd__card--expert {
	margin-top: 14px;
	border-color: var(--f-navy);
}

/* toast variant */
.nc-fd__card--toast {
	background: var(--f-tint);
	border-color: var(--f-gold);
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 14px 18px;
}
.nc-fd__toast-lbl {
	font-family: var(--f-mono);
	font-size: 9.5px;
	color: var(--f-gold);
	letter-spacing: .14em;
	text-transform: uppercase;
	display: block;
	margin-bottom: 4px;
}
.nc-fd__toast-h {
	font-family: var(--f-serif);
	font-size: 16px;
	line-height: 1.35;
	font-weight: 500;
	color: var(--f-ink);
	margin: 0 0 4px;
}
.nc-fd__toast-h a { color: var(--f-ink); text-decoration: none; font-style: italic; }
.nc-fd__toast-h a:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__toast-role {
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* community spotlight */
.nc-fd__card--commspot { padding: 0; overflow: hidden; }
.nc-fd__commspot-banner {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	background: var(--cc, var(--f-navy));
	color: #fff;
}
.nc-fd__commspot-banner > div { flex: 1; min-width: 0; }
.nc-fd__commspot-glyph {
	width: 44px; height: 44px;
	background: rgba(255,255,255,.14);
	border: 1px solid rgba(255,255,255,.22);
	color: #fff;
	font-family: var(--f-serif);
	font-style: italic;
	font-weight: 700;
	font-size: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.nc-fd__commspot-name {
	font-family: var(--f-serif);
	font-size: 17px;
	font-weight: 500;
	color: #fff;
}
.nc-fd__commspot-slug {
	font-family: var(--f-mono);
	font-size: 10.5px;
	color: rgba(255,255,255,.75);
	letter-spacing: .04em;
	margin-top: 2px;
}
.nc-fd__commspot-join {
	background: #fff;
	color: var(--f-ink);
	padding: 6px 12px;
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid #fff;
}
.nc-fd__commspot-join:hover { background: var(--f-gold); border-color: var(--f-gold); color: var(--f-ink); text-decoration: none; }
.nc-fd__commspot-desc {
	padding: 14px 20px 16px;
	font-family: var(--f-serif);
	font-size: 14px;
	line-height: 1.55;
	color: var(--f-ink-2);
	margin: 0;
}

/* editor's pick */
.nc-fd__card--editor {
	background: var(--f-ink);
	color: #fff;
	border-color: var(--f-ink);
}
.nc-fd__editor-lbl {
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-gold);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.nc-fd__editor-h {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 400;
	color: #fff;
	margin: 0;
	letter-spacing: -.005em;
}
.nc-fd__editor-h a { color: #fff; text-decoration: none; }
.nc-fd__editor-h a:hover { color: var(--f-gold); text-decoration: none; }
.nc-fd__editor-body {
	font-family: var(--f-serif);
	font-size: 14.5px;
	line-height: 1.6;
	color: rgba(255,255,255,.78);
	margin: 0;
}
.nc-fd__editor-sig {
	font-family: var(--f-mono);
	font-size: 10.5px;
	color: rgba(255,255,255,.55);
	letter-spacing: .04em;
	text-transform: uppercase;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,.12);
}
.nc-fd__editor-sig strong { color: var(--f-gold); font-weight: 500; }

/* reply strip */
.nc-fd__replystrip {
	display: flex;
	gap: 10px;
	padding: 12px 14px;
	background: var(--f-tint);
	border-left: 2px solid var(--cc, var(--f-navy));
}
.nc-fd__replystrip > div { flex: 1; min-width: 0; }
.nc-fd__replystrip-top {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--f-ink-3);
	margin-bottom: 4px;
	flex-wrap: wrap;
}
.nc-fd__replystrip-nm {
	font-family: var(--f-serif);
	font-size: 13px;
	color: var(--f-ink);
	font-weight: 500;
}
.nc-fd__replystrip-body {
	font-family: var(--f-serif);
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--f-ink-2);
	font-style: italic;
}

/* chip strip */
.nc-fd__chipstrip { display: flex; gap: 8px; flex-wrap: wrap; }
.nc-fd__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 9px;
	background: var(--f-tint);
	border: 1px solid var(--f-line);
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-ink-2);
	letter-spacing: .05em;
	text-transform: uppercase;
}
.nc-fd__chip--hot { border-color: var(--f-crimson); color: var(--f-crimson); }
.nc-fd__chip-dot {
	width: 4px; height: 4px;
	background: currentColor;
	border-radius: 50%;
}
.nc-fd__chip--hot .nc-fd__chip-dot { animation: nc-fd-pulse 1.6s ease-in-out infinite; }

/* empty */
.nc-fd__empty {
	background: var(--f-paper);
	border: 1px dashed var(--f-line);
	padding: 48px 24px;
	text-align: center;
	color: var(--f-ink-3);
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 15px;
}

/* pagination */
.nc-fd__pagination { display: flex; justify-content: center; padding: 12px 0 0; }
.nc-fd__pagebtn {
	background: var(--f-paper);
	border: 1px solid var(--f-line);
	color: var(--f-ink);
	padding: 10px 18px;
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
	transition: background .12s, border-color .12s;
}
.nc-fd__pagebtn:hover { background: var(--f-ink); color: #fff; border-color: var(--f-ink); text-decoration: none; }

/* ── RIGHT RAIL ────────────────────────────────────────── */
.nc-fd__rail-r {
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 72px;
	align-self: flex-start;
	max-height: calc(100vh - 80px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--f-line) transparent;
}
.nc-fd__rail-r::-webkit-scrollbar { width: 4px; }
.nc-fd__rail-r::-webkit-scrollbar-thumb { background: var(--f-line); }

.nc-fd__panel {
	background: var(--f-paper);
	border: 1px solid var(--f-line);
	padding: 16px;
}
.nc-fd__panel > header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--f-line-2);
	margin-bottom: 12px;
}
.nc-fd__panel h4 {
	font-family: var(--f-serif);
	font-size: 14px;
	font-weight: 500;
	color: var(--f-ink);
	margin: 0;
	letter-spacing: -.005em;
}
.nc-fd__panel h4 em { font-style: italic; color: var(--f-crimson); }
.nc-fd__panel-lbl {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--f-mono);
	font-size: 9.5px;
	color: var(--f-ink-3);
	letter-spacing: .1em;
	text-transform: uppercase;
}
.nc-fd__panel-lbl .nc-fd__live-dot { background: var(--f-crimson); }
.nc-fd__panel-more {
	font-family: var(--f-mono);
	font-size: 10px;
	color: var(--f-crimson);
	text-decoration: none;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.nc-fd__panel-more:hover { text-decoration: underline; }

/* pulse panel */
.nc-fd__panel--pulse { background: var(--f-ink); color: #fff; border-color: var(--f-ink); }
.nc-fd__panel--pulse h4 { color: #fff; }
.nc-fd__panel--pulse h4 em { color: var(--f-gold); }
.nc-fd__panel--pulse .nc-fd__panel-lbl { color: var(--f-gold); }
.nc-fd__panel--pulse > header { border-bottom-color: rgba(255,255,255,.12); }
.nc-fd__pulse-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 18px;
	margin: 0 0 12px;
}
.nc-fd__pulse-grid > div {
	border-bottom: 1px solid rgba(255,255,255,.08);
	padding-bottom: 8px;
}
.nc-fd__pulse-grid > div:nth-last-child(-n+2) { border-bottom: 0; padding-bottom: 0; }
.nc-fd__pulse-grid dt {
	font-family: var(--f-mono);
	font-size: 9.5px;
	color: rgba(255,255,255,.55);
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.nc-fd__pulse-grid dd {
	margin: 0;
	font-family: var(--f-serif);
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	font-variant-numeric: tabular-nums;
}
.nc-fd__pulse-grid dd em { font-style: italic; color: var(--f-gold); }
.nc-fd__pulse-footer {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 12.5px;
	line-height: 1.5;
	color: rgba(255,255,255,.65);
	margin: 0;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,.08);
}

/* trending list */
.nc-fd__trend { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.nc-fd__trend li { display: flex; gap: 10px; }
.nc-fd__trend li > div { flex: 1; min-width: 0; }
.nc-fd__trend-rank {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 16px;
	color: var(--f-gold);
	font-weight: 500;
	width: 22px;
	flex-shrink: 0;
}
.nc-fd__trend-tag {
	font-family: var(--f-mono);
	font-size: 9.5px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: lowercase;
	display: block;
	margin-bottom: 2px;
}
.nc-fd__trend-ttl {
	font-family: var(--f-serif);
	font-size: 13.5px;
	line-height: 1.35;
	color: var(--f-ink);
	text-decoration: none;
	display: block;
	margin: 0 0 4px;
}
.nc-fd__trend-ttl:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__trend-meta {
	font-family: var(--f-mono);
	font-size: 9.5px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* leaderboard */
.nc-fd__lb { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.nc-fd__lb li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 8px;
	background: transparent;
	border-left: 2px solid transparent;
	transition: background .12s;
}
.nc-fd__lb li:hover { background: var(--f-tint); }
.nc-fd__lb--gold   { border-left-color: var(--f-gold); }
.nc-fd__lb--silver { border-left-color: #B5B5B5; }
.nc-fd__lb--bronze { border-left-color: #B27B4A; }
.nc-fd__lb-rank {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 14px;
	color: var(--f-ink-3);
	width: 18px;
	flex-shrink: 0;
}
.nc-fd__lb-info { flex: 1; min-width: 0; }
.nc-fd__lb-nm {
	font-family: var(--f-serif);
	font-size: 13.5px;
	color: var(--f-ink);
	text-decoration: none;
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.nc-fd__lb-nm:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__lb-role {
	font-family: var(--f-mono);
	font-size: 9.5px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-top: 1px;
}
.nc-fd__lb-stat {
	font-family: var(--f-serif);
	font-size: 16px;
	color: var(--f-ink);
	font-weight: 500;
	text-align: right;
	line-height: 1;
}
.nc-fd__lb-stat span {
	display: block;
	font-family: var(--f-mono);
	font-size: 8.5px;
	color: var(--f-ink-3);
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-top: 2px;
	font-weight: 400;
}

/* suggested */
.nc-fd__suggest { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.nc-fd__suggest li { display: flex; align-items: center; gap: 10px; }
.nc-fd__suggest > li > div { flex: 1; min-width: 0; }
.nc-fd__suggest-nm {
	font-family: var(--f-serif);
	font-size: 13.5px;
	color: var(--f-ink);
	text-decoration: none;
	font-weight: 500;
	display: block;
}
.nc-fd__suggest-nm:hover { color: var(--f-crimson); text-decoration: none; }
.nc-fd__suggest-role {
	font-family: var(--f-mono);
	font-size: 9.5px;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-top: 1px;
}
.nc-fd__suggest-btn {
	background: transparent;
	border: 1px solid var(--f-ink);
	color: var(--f-ink);
	padding: 4px 10px;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
	transition: background .12s, color .12s;
}
.nc-fd__suggest-btn:hover { background: var(--f-ink); color: #fff; text-decoration: none; }

/* Right-rail mini footer (About · Apply · Guidelines · Plus · ©) —
 * removed in v1.2.4. The space now holds an ad slot instead. */

/* FAB */
.nc-fd__fab {
	position: fixed;
	right: 28px;
	bottom: 28px;
	background: var(--f-crimson);
	color: #fff;
	border: 1px solid var(--f-crimson);
	padding: 12px 20px;
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	z-index: 100;
	transition: background .15s, transform .15s;
}
.nc-fd__fab:hover { background: var(--f-crimsond); border-color: var(--f-crimsond); color: #fff; text-decoration: none; transform: translateY(-1px); }
.nc-fd__fab-ic {
	font-family: var(--f-serif);
	font-size: 18px;
	line-height: 1;
}
@media (max-width: 640px) {
	.nc-fd__fab-lbl { display: none; }
	.nc-fd__fab { padding: 14px; }
	.nc-fd__fab-ic { font-size: 22px; }
}

/* =========================================================
 *  CONTACT PAGE
 *  Editorial inboxes list. Same brand grammar as the rest.
 * ========================================================= */

.nc-contact { background: #FAFAF8; padding: 32px 0 64px; }
.nc-contact .nc-shell--narrow { max-width: 760px; }
.nc-contact__head { padding: 24px 0 32px; border-bottom: 1px solid #E6E1D8; margin-bottom: 32px; }
.nc-contact__h1 { font-family: 'Lexend', system-ui, sans-serif; font-size: clamp(36px, 5vw, 52px); font-weight: 400; line-height: 1.05; letter-spacing: -.025em; margin: 8px 0 18px; color: #1A1A1A; }
.nc-contact__h1 em { font-style: italic; color: #C41E3A; }
.nc-contact__sub { font-family: 'Lexend', system-ui, sans-serif; font-size: 17px; line-height: 1.55; color: #4A4A4A; max-width: 56ch; }
.nc-contact__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 24px; }
.nc-contact__item { background: #fff; border: 1px solid #E6E1D8; padding: 24px 26px; }
.nc-contact__kicker { font-family: 'DM Mono', ui-monospace, monospace; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: #7A7A7A; margin-bottom: 8px; }
.nc-contact__h { font-family: 'Lexend', system-ui, sans-serif; font-size: 22px; font-weight: 500; line-height: 1.25; margin: 0 0 10px; color: #1A1A1A; letter-spacing: -.01em; }
.nc-contact__item p { font-family: 'Lexend', system-ui, sans-serif; font-size: 14.5px; line-height: 1.55; color: #4A4A4A; margin: 0 0 14px; }
.nc-contact__item p a { color: #C41E3A; }
.nc-contact__mailto { display: inline-block; font-family: 'DM Mono', ui-monospace, monospace; font-size: 13px; color: #1A1A1A; border-bottom: 1px solid #1A1A1A; text-decoration: none; padding-bottom: 2px; transition: color .12s, border-color .12s; }
.nc-contact__mailto:hover { color: #C41E3A; border-color: #C41E3A; text-decoration: none; }

/* =========================================================
 *  MOBILE-FIRST FIXES + A11Y SAFETY NET
 *  Appended last so these override anything above. Audience is
 *  90% mobile — every rule here serves a real <420px user.
 * ========================================================= */

/* ── Global: no horizontal scroll, no iOS input zoom ──── */
/* overflow-x: clip (not hidden) — `hidden` makes the body a
 * scroll container which silently kills every `position: sticky`
 * descendant. `clip` prevents the horizontal scrollbar without
 * creating a new containing block. Browser support is ~95% global
 * (Chrome/Edge 90+, Firefox 81+, Safari 16+) — older browsers
 * fall back to ignoring the property, which is harmless. */
html, body { overflow-x: clip; }
@media (max-width: 600px) {
	.nc-input,
	.nc-pay-form textarea,
	.nc-pay-form input[type="text"],
	.nc-pay-form input[type="number"],
	.nc-pay-form input[type="email"],
	.nc-be-form input,
	.nc-be-form textarea,
	.nc-submit-form input,
	.nc-submit-form textarea,
	.nc-fd__compose-input,
	.nc-mast__search input,
	.nc-search input,
	input[type="text"],
	input[type="email"],
	input[type="password"],
	input[type="number"],
	input[type="search"],
	input[type="url"],
	input[type="tel"],
	textarea,
	select { font-size: 16px !important; }
}

/* ── Mobile bottom-nav clearance ───────────────────────── */
/* The fixed .nc-mobnav is ~64px tall + safe-area-inset-bottom on
 * iPhones. Without page-bottom padding the last row of every page
 * sits under it. Apply to body (covers all template wrappers,
 * not just .nc-main) and use the right breakpoint (mobnav is
 * visible up to 1023px, not 767px). */
@media (max-width: 1023px) {
	body.logged-in { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}

/* ── FAB position ─────────────────────────────────────── */
/* Pushed above the mobnav at mobile widths so they don't overlap. */
@media (max-width: 1023px) {
	.nc-fd__fab {
		bottom: calc(72px + env(safe-area-inset-bottom));
		right: 16px;
	}
}

/* ── Sticky offsets relative to the actual masthead height ── */
@media (max-width: 1023px) {
	.nc-fd__rail-l,
	.nc-fd__rail-r {
		position: static;
		max-height: none;
		overflow: visible;
	}
	.nc-sortbar--sticky { top: 120px; }
}

/* ── Touch targets — 44×44 minimum on mobile ─────────── */
@media (max-width: 600px) {
	.nc-vote-btn,
	.nc-iconlink,
	.nc-icon-btn,
	.nc-foot__social a,
	.nc-mast__icon,
	.nc-modal__close,
	.nc-editor__btn,
	.nc-exp-avail__rm,
	.nc-pay-copy,
	.nc-fd__compose-chip {
		min-width: 44px;
		min-height: 44px;
	}
	/* Mobile bottom-nav items already span the row, but make sure
	 * each cell is tall enough to thumb-tap. */
	.nc-mobnav__item { min-height: 56px; padding: .5rem .35rem; }
	.nc-tabs__btn { min-height: 44px; }
}

/* ── Tables: never let a wide table break the page ───── */
.nc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 720px) {
	.nc-table { display: block; overflow-x: auto; }
	.nc-table thead, .nc-table tbody, .nc-table tr { display: table; width: 100%; table-layout: fixed; }
	.nc-pl__table { min-width: 580px; }
	.nc-pl__table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* ── Comment nesting: stop accumulating padding past 2 levels ── */
@media (max-width: 600px) {
	.nc-comment-list ol,
	.nc-comment-list ul {
		padding-left: 12px;
		margin-left: 0;
	}
	.nc-comment-list ol ol ol,
	.nc-comment-list ol ol ul,
	.nc-comment-list ul ul ul {
		padding-left: 6px;
		border-left: 2px solid var(--nc-line);
	}
}

/* ── Profile tabs: scroll horizontally instead of wrapping ── */
.nc-prof-tabs {
	overflow-x: auto;
	flex-wrap: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.nc-prof-tabs::-webkit-scrollbar { display: none; }
.nc-prof-tabs .nc-prof-tab,
.nc-prof-tabs .nc-tabs__btn { flex-shrink: 0; }

/* ── Expert dashboard availability row: column on mobile ── */
@media (max-width: 720px) {
	.nc-exp-avail__row {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"day day"
			"start end"
			"rm rm";
		gap: 8px;
	}
	.nc-exp-avail__row > *:first-child { grid-area: day; }
}

/* ── Checkout: put payment methods BEFORE summary on mobile ── */
@media (max-width: 879px) {
	.nc-checkout-grid {
		display: flex;
		flex-direction: column;
	}
	.nc-checkout-methods { order: 1; }
	.nc-checkout-summary { order: 2; }
}

/* ── Single-discussion sidebar: show below content on mobile,
 *    don't hide entirely (was display:none below 1024px) ── */
@media (max-width: 1023px) {
	.nc-thread__side {
		display: flex !important;
		flex-direction: column;
		margin-top: 24px;
		gap: 16px;
	}
}

/* ── Masthead: small screens ───────────────────────────── */
@media (max-width: 480px) {
	.nc-mast__kicker { display: none; }
	.nc-mast__signin { display: none; }
	.nc-mast__main-inner { gap: 8px; padding: 10px 12px; }
	.nc-mast__cta {
		padding: 8px 12px;
		font-size: 12.5px;
		gap: 6px;
	}
	.nc-mast__cta .nc-mast__cta-dot { width: 5px; height: 5px; }
}

/* Hide the kicker tag + apply at tablet width too, when they squeeze */
@media (max-width: 980px) {
	.nc-mast__tag { display: none; }
	.nc-mast__sep--push { margin-left: auto; }
}

/* ── Late Edition: small subgrids → 1 col on mobile ──── */
@media (max-width: 480px) {
	.nc-le-bento__head,
	.nc-le-rooms__head {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}

/* ── Footer: legal strip stack earlier ──────────────── */
@media (max-width: 720px) {
	.nc-foot__legal-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
	.nc-foot__copyright { margin-left: 0; }
}

/* ── Become-expert / profile forms: tighter padding on mobile ── */
@media (max-width: 600px) {
	.nc-be-form,
	.nc-checkout-summary,
	.nc-checkout-methods,
	.nc-pay-detail__body {
		padding: 20px 18px;
	}
	.nc-prof-hero { padding: 20px 18px; }
}

/* ── Forum feed compose: smaller on mobile ────────────── */
@media (max-width: 600px) {
	.nc-fd__compose { padding: 14px 16px; }
	.nc-fd__compose-input { font-size: 16px; padding: 10px 12px; }
	.nc-fd__compose-actions { gap: 6px; }
	.nc-fd__compose-chip { padding: 8px 10px; font-size: 11px; }
	.nc-fd__compose-post { padding: 10px 16px; min-height: 44px; }
	.nc-fd__card { padding: 16px 16px; }
	.nc-fd__card-q { font-size: 17px; }
	.nc-fd__card-cover { padding: 18px 18px 16px; }
	.nc-fd__card-cover .nc-fd__card-h { font-size: 18px; }
	.nc-fd__panel { padding: 14px; }
}

/* ── Communities directory: card padding on mobile ─── */
@media (max-width: 480px) {
	.nc-dir__card { padding: 18px 16px; }
	.nc-dir__h1 { font-size: clamp(28px, 8vw, 40px); }
}

/* ── Pricing: cards more breathable on mobile ──────── */
@media (max-width: 600px) {
	.nc-pl__plans { gap: 14px; }
	.nc-pl__plan { padding: 22px 20px; }
}

/* ── Submit form: bigger touch targets, fewer cramped fields ── */
@media (max-width: 600px) {
	.nc-submit-form { padding: 20px 16px; }
	.nc-editor__btn { min-width: 44px; min-height: 44px; padding: 6px; }
	.nc-editor__toolbar { flex-wrap: wrap; gap: 4px; }
}

/* ── Booking page: stack expert + slot picker ─────── */
@media (max-width: 720px) {
	.nc-book-grid { grid-template-columns: 1fr; gap: 16px; }
	.nc-book-slot { padding: 12px 14px; min-height: 44px; }
}

/* ── Modal sizing on mobile ───────────────────────── */
@media (max-width: 480px) {
	.nc-modal {
		width: calc(100vw - 24px);
		max-width: calc(100vw - 24px);
		margin: 12px;
	}
	.nc-modal__inner { padding: 20px 18px; }
}

/* ── Auth split: full-height fix on mobile ───────── */
@media (max-width: 980px) {
	.nc-auth-split { min-height: calc(100vh - 120px); }
	.nc-auth-split__form-inner { padding: 24px 18px; }
}

/* =========================================================
 *  A11Y SAFETY NET — :focus-visible on every interactive thing
 *  Gold outline so it's distinctive even on dark contexts.
 * ========================================================= */

.nc-btn:focus-visible,
.nc-eh-btn:focus-visible,
.nc-le-btn:focus-visible,
.nc-le-close__btn:focus-visible,
.nc-pr-cta:focus-visible,
.nc-mast__cta:focus-visible,
.nc-mast__signin:focus-visible,
.nc-mast__navlink:focus-visible,
.nc-mast__icon:focus-visible,
.nc-mast__apply:focus-visible,
.nc-mast__draweritem:focus-visible,
.nc-mast__menutoggle:focus-visible,
.nc-fd__cta:focus-visible,
.nc-fd__tab:focus-visible,
.nc-fd__navitem:focus-visible,
.nc-fd__react:focus-visible,
.nc-fd__compose-post:focus-visible,
.nc-fd__fab:focus-visible,
.nc-fd__pagebtn:focus-visible,
.nc-fd__commspot-join:focus-visible,
.nc-fd__suggest-btn:focus-visible,
.nc-dir__pill:focus-visible,
.nc-be-submit:focus-visible,
.nc-room-hero__cta-primary:focus-visible,
.nc-room-hero__cta-ghost:focus-visible,
.nc-room-feed-tab:focus-visible,
.nc-room-topic:focus-visible,
.nc-vote-btn:focus-visible,
.nc-mobnav__item:focus-visible,
.nc-icon-btn:focus-visible,
.nc-iconlink:focus-visible,
.nc-tabs__btn:focus-visible,
.nc-pay-method:focus-within,
.nc-pay-copy:focus-visible,
.nc-foot__social a:focus-visible,
.nc-foot__col a:focus-visible,
.nc-search input:focus-visible,
.nc-mast__search input:focus-visible {
	outline: 2px solid #C9A84C;
	outline-offset: 2px;
	border-radius: 0;
}
/* Form inputs get a crimson focus ring instead of gold to feel "active". */
.nc-input:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid #C41E3A;
	outline-offset: 2px;
}

/* =========================================================
 *  DISABLED STATE SAFETY — never just opacity
 * ========================================================= */
.nc-btn[disabled],
button[disabled],
input[disabled],
select[disabled],
textarea[disabled] {
	opacity: .55;
	cursor: not-allowed;
	pointer-events: none;
	background-color: #F0ECE3;
	color: #6A6A6A;
}
.nc-input[disabled],
input[disabled].nc-input,
textarea[disabled].nc-input {
	background-color: #F0ECE3 !important;
	color: #6A6A6A !important;
	border-color: #E6E1D8 !important;
}

/* =========================================================
 *  TYPE-WRAP SAFETY — long handles/slugs/titles don't break layout
 * ========================================================= */
.nc-card__byline,
.nc-fd__card-who,
.nc-fd__card-sub,
.nc-foot__col a,
.nc-mast__navlink {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* =========================================================
 *  HOVER GUARDS — never invisible on dark contexts
 *  Belt + suspenders for the .nc-btn--ghost class.
 * ========================================================= */
.nc-le .nc-btn--ghost:hover,
.nc-fd .nc-btn--ghost:hover,
.nc-le-pulse .nc-btn--ghost:hover,
.nc-fd__panel--pulse .nc-btn--ghost:hover,
.nc-cta-strip .nc-btn--ghost:hover,
.nc-hero__cta .nc-btn--ghost:hover {
	color: #fff !important;
	border-color: rgba(255, 255, 255, .6) !important;
	background: rgba(255, 255, 255, .14) !important;
}

/* =========================================================
 *  ANONYMOUS POST TOGGLE (submit form)
 *  Custom-styled checkbox that doesn't look like a default
 *  square — feels like a deliberate editorial choice.
 * ========================================================= */

.nc-anon-toggle {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	background: #F5F1E8;
	border: 1px solid #E6E1D8;
	border-radius: 3px;
	margin-bottom: 18px;
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.nc-anon-toggle:hover { border-color: #1A1A1A; }
.nc-anon-toggle input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.nc-anon-toggle__box {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background: #FFFFFF;
	border: 1.5px solid #1A1A1A;
	border-radius: 3px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: transparent;
	transition: background .12s, color .12s;
	margin-top: 1px;
}
.nc-anon-toggle input:checked ~ .nc-anon-toggle__box {
	background: #1A1A1A;
	color: #C9A84C;
}
.nc-anon-toggle input:focus-visible ~ .nc-anon-toggle__box {
	outline: 2px solid #C9A84C;
	outline-offset: 2px;
}
.nc-anon-toggle__copy { flex: 1; min-width: 0; }
.nc-anon-toggle__copy strong {
	display: block;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #1A1A1A;
}
.nc-anon-toggle__copy small {
	display: block;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	line-height: 1.45;
	color: #4A4A4A;
	margin-top: 2px;
}

/* Anonymous byline rendered in place of @username on cards + thread. */
.nc-anon-byline {
	font-family: 'Lexend', system-ui, sans-serif;
	font-style: italic;
	color: #1A1A1A;
	font-weight: 500;
}
.nc-anon-byline__tag {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 9.5px;
	background: #1A1A1A;
	color: #C9A84C;
	padding: 2px 6px;
	letter-spacing: .12em;
	text-transform: uppercase;
	margin-left: 4px;
}

/* =========================================================
 *  REPORT MODAL  (dialog)
 *  Centered, scrollable, brand-styled. Backdrop dims via
 *  the native ::backdrop pseudo on supporting browsers.
 * ========================================================= */

.nc-report-modal {
	max-width: 460px;
	width: calc(100vw - 32px);
	border: 1px solid #1A1A1A;
	border-radius: 3px;
	padding: 0;
	background: #FFFFFF;
	color: #1A1A1A;
}
.nc-report-modal::backdrop {
	background: rgba(26, 26, 26, 0.55);
}
.nc-report-modal .nc-modal__close-form {
	position: absolute;
	top: 8px;
	right: 8px;
	margin: 0;
}
.nc-report-modal .nc-modal__close {
	width: 36px;
	height: 36px;
	border: 0;
	background: transparent;
	color: #6A6A6A;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	border-radius: 3px;
}
.nc-report-modal .nc-modal__close:hover { background: #F5F1E8; color: #1A1A1A; }
.nc-report-modal .nc-modal__inner { padding: 28px 26px 22px; }
.nc-report-modal .nc-modal__head { margin-bottom: 18px; }
.nc-report-modal .nc-h3 {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 22px;
	font-weight: 500;
	color: #1A1A1A;
	margin: 0 0 8px;
}
.nc-report-modal .nc-modal__head p {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #4A4A4A;
	margin: 0;
}
.nc-report-modal .nc-field { margin-bottom: 14px; }
.nc-report-modal .nc-field > span:first-child {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 12.5px;
	font-weight: 500;
	color: #1A1A1A;
	display: block;
	margin-bottom: 6px;
}
.nc-report-modal select.nc-input,
.nc-report-modal textarea.nc-input {
	background: #FFFFFF !important;
	color: #1A1A1A !important;
	border: 1px solid #E6E1D8 !important;
	border-radius: 3px;
	padding: 10px 12px;
	width: 100%;
	font-size: 14px;
}
.nc-report-modal textarea.nc-input { min-height: 80px; resize: vertical; }
.nc-report-modal__status {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 12px;
	color: #6A6A6A;
	min-height: 18px;
	margin: 6px 0 0;
	letter-spacing: .03em;
}
.nc-report-modal__status.is-ok { color: #1A7A45; }
.nc-report-modal__status.is-err { color: #C41E3A; }
.nc-report-modal .nc-form__actions {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #F0ECE3;
}

@media (max-width: 480px) {
	.nc-report-modal { width: calc(100vw - 16px); margin: 8px; }
	.nc-report-modal .nc-modal__inner { padding: 22px 18px 18px; }
	.nc-report-modal .nc-form__actions { flex-direction: column-reverse; }
	.nc-report-modal .nc-form__actions .nc-btn { width: 100%; }
}

/* =========================================================
 *  WEBINAR coming-soon landing
 *  Same editorial brand voice as /contact/, /experts/.
 * ========================================================= */
.nc-webinar { background: #FAFAF8; padding: 32px 0 80px; min-height: 60vh; }
.nc-webinar .nc-shell--narrow { max-width: 720px; }
.nc-webinar__head { padding: 24px 0 30px; border-bottom: 1px solid #E6E1D8; margin-bottom: 28px; }
.nc-webinar__h1 {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: clamp(34px, 5vw, 48px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -.025em;
	margin: 8px 0 16px;
	color: #1A1A1A;
}
.nc-webinar__h1 em { font-style: italic; color: #C41E3A; }
.nc-webinar__sub {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.55;
	color: #4A4A4A;
	max-width: 56ch;
	margin: 0;
}
.nc-webinar__form-sec {
	background: #FFFFFF;
	border: 1px solid #E6E1D8;
	padding: 26px 28px;
	margin-bottom: 32px;
}
.nc-webinar__form { display: flex; flex-direction: column; gap: 14px; }
.nc-webinar__form .nc-field > span:first-child {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #1A1A1A;
	margin-bottom: 6px;
	display: block;
}
.nc-webinar__count {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 11px;
	color: #6A6A6A;
	letter-spacing: .04em;
	margin: 14px 0 0;
}
.nc-webinar__what h2 {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 22px;
	font-weight: 500;
	color: #1A1A1A;
	margin: 0 0 14px;
}
.nc-webinar__what ul { list-style: none; padding: 0; margin: 0; }
.nc-webinar__what li {
	padding: 14px 0;
	border-bottom: 1px solid #E6E1D8;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #4A4A4A;
}
.nc-webinar__what li:last-child { border-bottom: 0; }
.nc-webinar__what li strong {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #1A1A1A;
	font-weight: 500;
	margin-right: 4px;
}
[data-theme="dark"] .nc-webinar { background: #0F0F0F; }
[data-theme="dark"] .nc-webinar__head { border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-webinar__h1 { color: #F0F0F0; }
[data-theme="dark"] .nc-webinar__sub { color: #C5C5C5; }
[data-theme="dark"] .nc-webinar__form-sec { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-webinar__what h2 { color: #F0F0F0; }
[data-theme="dark"] .nc-webinar__what li { color: #C5C5C5; border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-webinar__what li strong { color: #F0F0F0; }

/* =========================================================
 *  AD SLOT
 *  Drop-in container for AdSense / display ads. Brand-framed so
 *  empty slots don't look broken; collapses to nothing once filled.
 * ========================================================= */
.nc-ad-slot {
	background: #FFFFFF;
	border: 1px solid #E6E1D8;
	border-radius: 3px;
	padding: 14px;
	margin: 18px 0;
	min-height: 120px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.nc-ad-slot__label {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 9.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9A9A9A;
}
.nc-ad-slot__body {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	background: #FAFAF8;
	border: 1px dashed #E6E1D8;
	color: #9A9A9A;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 11px;
}
.nc-ad-slot__body:empty::before { content: 'AD'; letter-spacing: .25em; }
[data-theme="dark"] .nc-ad-slot { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-ad-slot__body { background: #0F0F0F; border-color: #2E2E2E; color: #8A8A8A; }

/* Side rail variant — slightly tighter so it doesn't dominate. */
.nc-ad-slot--side { margin: 0; min-height: 250px; }
.nc-ad-slot--side .nc-ad-slot__body { min-height: 220px; }

/* =========================================================
 *  RELATED-DISCUSSIONS section (below comments on single posts)
 *  Replaces the old sidebar Related card. Grid of compact cards.
 * ========================================================= */
.nc-related-sec {
	margin-top: 40px;
	padding-top: 28px;
	border-top: 1px solid #E6E1D8;
}
.nc-related-sec__h {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 22px;
	font-weight: 500;
	color: #1A1A1A;
	margin: 0 0 18px;
	letter-spacing: -.01em;
}
.nc-related-sec__h span {
	font-style: italic;
	color: #6A6A6A;
	font-weight: 400;
	font-size: 17px;
}
.nc-related-grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}
@media (min-width: 720px) { .nc-related-grid { grid-template-columns: 1fr 1fr; } }
.nc-related-card {
	display: block;
	background: #FFFFFF;
	border: 1px solid #E6E1D8;
	padding: 14px 16px;
	border-radius: 3px;
	text-decoration: none;
	color: inherit;
	transition: background .15s, border-color .15s;
}
.nc-related-card:hover { background: #F5F1E8; border-color: #1A1A1A; text-decoration: none; }
.nc-related-card h4 {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #1A1A1A;
	margin: 0 0 8px;
	line-height: 1.35;
}
.nc-related-card__meta {
	display: flex;
	gap: 6px;
	align-items: center;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 10.5px;
	color: #6A6A6A;
	letter-spacing: .03em;
	text-transform: uppercase;
}
[data-theme="dark"] .nc-related-sec { border-top-color: #2E2E2E; }
[data-theme="dark"] .nc-related-sec__h { color: #F0F0F0; }
[data-theme="dark"] .nc-related-sec__h span { color: #8A8A8A; }
[data-theme="dark"] .nc-related-card { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-related-card:hover { background: #252525; border-color: #C5C5C5; }
[data-theme="dark"] .nc-related-card h4 { color: #F0F0F0; }
[data-theme="dark"] .nc-related-card__meta { color: #8A8A8A; }

/* =========================================================
 *  Dark-mode: comment composer textarea (was white-on-white)
 * ========================================================= */
[data-theme="dark"] .nc-comment-form textarea,
[data-theme="dark"] .nc-comment-form .nc-input,
[data-theme="dark"] #commentform textarea,
[data-theme="dark"] textarea#comment {
	background: #1A1A1A !important;
	color: #F0F0F0 !important;
	border-color: #2E2E2E !important;
}
[data-theme="dark"] .nc-comment-form textarea::placeholder,
[data-theme="dark"] textarea#comment::placeholder { color: #8A8A8A !important; }

/* =========================================================
 *  In-article ad slot — single-discussion.php
 *  Sits between post actions and the Discussion heading.
 *  Editorial frame: parchment surface, thin top + bottom rule,
 *  small "ADVERTISEMENT" mono label. Doesn't fight the reading flow.
 * ========================================================= */
.nc-thread__ad-inarticle {
	margin: 32px 0;
	padding: 22px 0;
	border-top: 1px solid var(--hp-line, #E4E2DC);
	border-bottom: 1px solid var(--hp-line, #E4E2DC);
}
.nc-thread__ad-inarticle-label {
	font-family: var(--hp-mono, 'DM Mono', ui-monospace, monospace);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--hp-muted, #6A6A6A);
	text-align: center;
	margin-bottom: 14px;
}
.nc-thread__ad-inarticle-body {
	min-height: 120px; /* prevent layout shift while AdSense fetches */
}
.nc-thread__ad-inarticle .adsbygoogle {
	margin: 0 auto;
	max-width: 100%;
}

/* Dark mode */
[data-theme="dark"] .nc-thread__ad-inarticle {
	border-color: #2E2E2E;
}
[data-theme="dark"] .nc-thread__ad-inarticle-label {
	color: #8A8A8A;
}

/* Make the right rail's ad slot sticky too — left rail already is. */
@media (min-width: 1024px) {
	.nc-fd__rail-r .nc-ad-slot--side { position: sticky; top: 88px; }
}

/* =========================================================
 *  Forum feed — inline sortbar (replaces removed duplicate tabs)
 *  Shows the active feed name + the sort dropdown link.
 * ========================================================= */
.nc-fd__sortbar {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 6px 2px 14px;
	border-bottom: 1px solid var(--f-line);
	margin-bottom: 14px;
}
.nc-fd__sortbar-lbl {
	font-family: var(--f-serif);
	font-size: 18px;
	font-weight: 500;
	color: var(--f-ink);
	letter-spacing: -.005em;
}
[data-theme="dark"] .nc-fd__sortbar { border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-fd__sortbar-lbl { color: #F0F0F0; }

/* =========================================================
 *  Become-Expert error banner + required-field asterisk
 *  Renders ABOVE the form so failure modes are unmissable.
 * ========================================================= */

.nc-be-error {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	background: rgba(196, 30, 58, .08);
	color: #8B1226;
	border: 1px solid #C41E3A;
	border-left: 6px solid #C41E3A;
	padding: 18px 22px;
	margin: 0 0 18px;
	border-radius: 3px;
}
.nc-be-error svg { color: #C41E3A; flex-shrink: 0; margin-top: 2px; }
.nc-be-error > div { flex: 1; }
.nc-be-error strong {
	display: block;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 17px;
	font-weight: 500;
	color: #1A1A1A;
	margin-bottom: 4px;
}
.nc-be-error span {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 14px;
	color: #4A4A4A;
	line-height: 1.5;
}
[data-theme="dark"] .nc-be-error { background: rgba(196,30,58,.15); border-color: #E03A56; color: #F0A0AE; }
[data-theme="dark"] .nc-be-error strong { color: #F0F0F0; }
[data-theme="dark"] .nc-be-error span { color: #E0E0E0; }
[data-theme="dark"] .nc-be-error svg { color: #E03A56; }

.nc-req {
	color: #C41E3A;
	font-style: normal;
	font-weight: 700;
	margin-left: 2px;
}
[data-theme="dark"] .nc-req { color: #E03A56; }

/* =========================================================
 *  HONEYPOT — invisible to humans, visible to bots
 *  position:absolute + opacity:0 (NOT display:none, because some
 *  bots specifically skip display:none fields). Off-screen with
 *  no pointer events so a real user never trips it.
 * ========================================================= */
.nc-honeypot {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.nc-honeypot input { width: 1px; height: 1px; }

/* =========================================================
 *  MATH CAPTCHA panel — used on become-expert + future public forms.
 * ========================================================= */
.nc-be-captcha {
	background: #F5F1E8;
	border: 1px solid #E6E1D8;
	border-radius: 3px;
	padding: 14px 16px;
	margin: 18px 0;
}
.nc-be-captcha .nc-field { margin: 0; }
.nc-be-captcha .nc-field > span:first-child {
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 13px;
	letter-spacing: .04em;
	color: #1A1A1A;
	font-weight: 500;
}
.nc-be-captcha__input {
	max-width: 110px;
	background: #FFFFFF !important;
	color: #1A1A1A !important;
	border: 1px solid #E6E1D8 !important;
	font-family: 'DM Mono', ui-monospace, monospace !important;
	font-size: 16px !important;
	text-align: center;
	margin-top: 6px;
}
.nc-be-captcha small {
	display: block;
	margin-top: 8px;
	font-family: 'DM Mono', ui-monospace, monospace;
	font-size: 10.5px;
	color: #6A6A6A;
	letter-spacing: .03em;
}

/* =========================================================
 *  PWA INSTALL BAR + iOS COACH MODAL
 *  Bottom-fixed strip on Parchment with crimson Install CTA.
 *  Slides up on data-nc-show, hides on dismissal. Sits above the
 *  mobile bottom-nav using calc(56px + ...).
 * ========================================================= */

.nc-pwa-bar {
	position: fixed;
	left: 0; right: 0;
	bottom: 0;
	background: #FFFFFF;
	border-top: 1px solid #1A1A1A;
	box-shadow: 0 -4px 12px rgba(26, 26, 26, .04);
	z-index: 99;
	transform: translateY(100%);
	transition: transform .25s ease-out;
	padding-bottom: env(safe-area-inset-bottom);
}
.nc-pwa-bar[data-nc-show] { transform: translateY(0); }
.nc-pwa-bar[hidden] { display: none; }

.nc-pwa-bar__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: 1080px;
	margin: 0 auto;
	padding: 12px 18px;
}
.nc-pwa-bar__icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #FAFAF8;
	border: 1px solid #E6E1D8;
	border-radius: 3px;
}
.nc-pwa-bar__copy {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.nc-pwa-bar__copy strong {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #1A1A1A;
	line-height: 1.2;
}
.nc-pwa-bar__copy span {
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 12.5px;
	color: #4A4A4A;
	line-height: 1.35;
}
.nc-pwa-bar__actions {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-shrink: 0;
}
.nc-pwa-bar__install {
	background: #C41E3A;
	color: #fff;
	border: 1px solid #C41E3A;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 13px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 3px;
	cursor: pointer;
	white-space: nowrap;
	transition: background .12s, border-color .12s;
	min-height: 36px;
}
.nc-pwa-bar__install:hover { background: #A41830; border-color: #A41830; color: #fff; }
.nc-pwa-bar__install:focus-visible { outline: 2px solid #C9A84C; outline-offset: 2px; }
.nc-pwa-bar__dismiss {
	background: transparent;
	color: #6A6A6A;
	border: 0;
	font-size: 22px;
	line-height: 1;
	padding: 6px 10px;
	cursor: pointer;
	border-radius: 3px;
	min-width: 36px;
	min-height: 36px;
}
.nc-pwa-bar__dismiss:hover { background: #F5F1E8; color: #1A1A1A; }
.nc-pwa-bar__dismiss:focus-visible { outline: 2px solid #C9A84C; outline-offset: 2px; }

/* When the mobile bottom-nav is visible (logged-in users on phones),
 * push the install bar above it so they don't overlap. */
@media (max-width: 1023px) {
	body.logged-in .nc-pwa-bar {
		bottom: calc(60px + env(safe-area-inset-bottom));
		padding-bottom: 0;
	}
}

/* Tight phones — stack copy + actions into two lines so nothing
 * gets cut off. */
@media (max-width: 480px) {
	.nc-pwa-bar__inner { padding: 10px 14px; gap: 10px; }
	.nc-pwa-bar__copy strong { font-size: 13px; }
	.nc-pwa-bar__copy span { font-size: 11.5px; }
	.nc-pwa-bar__install { padding: 8px 12px; font-size: 12.5px; }
}

/* iOS install instructions dialog */
.nc-pwa-ios { max-width: 460px; width: calc(100vw - 32px); border: 1px solid #1A1A1A; padding: 0; background: #FFFFFF; }
.nc-pwa-ios::backdrop { background: rgba(26, 26, 26, .55); }
.nc-pwa-ios .nc-modal__inner { padding: 28px 26px 22px; }
.nc-pwa-ios .nc-modal__head { margin-bottom: 14px; }
.nc-pwa-ios__steps {
	list-style: decimal;
	padding-left: 1.25rem;
	margin: 0;
	font-family: 'Lexend', system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	color: #1A1A1A;
}
.nc-pwa-ios__steps li { margin-bottom: 12px; }
.nc-pwa-ios__steps li:last-child { margin-bottom: 0; }

/* =========================================================
 *  THEME TOGGLE BUTTON  (sun/moon icon in masthead actions)
 *  Icon visibility flips on data-theme. Sun visible in light
 *  mode (click to go dark), moon visible in dark mode.
 * ========================================================= */
.nc-theme-toggle { background: #fff; }
.nc-theme-toggle__sun { display: inline; }
.nc-theme-toggle__moon { display: none; }
[data-theme="dark"] .nc-theme-toggle__sun { display: none; }
[data-theme="dark"] .nc-theme-toggle__moon { display: inline; }

/* =========================================================
 *  DARK MODE
 *  Triggered by [data-theme="dark"] on <html> (set by the
 *  anti-flash inline script in <head>). Two layers:
 *
 *  1) Token overrides — flip every palette namespace at once.
 *  2) Hardcoded-color overrides — pick up the rules in this
 *     file that bypass tokens and inline #FFFFFF / #FAFAF8 /
 *     #1A1A1A / #E6E1D8 directly. We can't refactor all of
 *     them at once, so we override at the use-site.
 *
 *  Brand identity stays: Crimson, Navy, Gold are unchanged.
 *  Only Parchment ↔ Ink (page surfaces) and the text colors flip.
 * ========================================================= */

/* ── Layer 1: token overrides ───────────────────────────── */
[data-theme="dark"] {
	color-scheme: dark;

	/* Global --nc-* tokens */
	--nc-bg:        #0F0F0F;
	--nc-bg-card:   #1A1A1A;
	--nc-bg-soft:   #252525;
	--nc-fg:        #F0F0F0;
	--nc-fg-soft:   #C5C5C5;
	--nc-fg-muted:  #8A8A8A;
	--nc-line:      #2E2E2E;
	--nc-link:      #6FA0FF;
}

/* Page-wrapper --hp-* palettes. One big multi-selector so every
 * branded page wrapper switches together (be-page, prof-page, etc). */
[data-theme="dark"] .nc-be-page,
[data-theme="dark"] .nc-prof-page,
[data-theme="dark"] .nc-exp-dash,
[data-theme="dark"] .nc-book-page,
[data-theme="dark"] .nc-mybook-page,
[data-theme="dark"] .nc-price-page,
[data-theme="dark"] .nc-checkout-page,
[data-theme="dark"] .nc-pay-status-page,
[data-theme="dark"] .nc-experts-page,
[data-theme="dark"] .nc-room-page {
	--hp-bg:        #0F0F0F;
	--hp-paper:     #1A1A1A;
	--hp-bg-warm:   #252525;
	--hp-ink:       #F0F0F0;
	--hp-ink-soft:  #C5C5C5;
	--hp-muted:     #8A8A8A;
	--hp-line:      #2E2E2E;
	--hp-line-soft: #1F1F1F;
}

/* Late Edition (homepage) --l-* */
[data-theme="dark"] .nc-le {
	--l-bg:     #0F0F0F;
	--l-paper:  #1A1A1A;
	--l-mid:    #252525;
	--l-ink:    #F0F0F0;
	--l-ink-d:  #FFFFFF;
	--l-soft:   #C5C5C5;
	--l-muted:  #8A8A8A;
	--l-line:   #2E2E2E;
}

/* Forum feed --f-* */
[data-theme="dark"] .nc-fd {
	--f-bg:     #0F0F0F;
	--f-paper:  #1A1A1A;
	--f-ink:    #F0F0F0;
	--f-ink-2:  #C5C5C5;
	--f-ink-3:  #8A8A8A;
	--f-line:   #2E2E2E;
	--f-line-2: #1F1F1F;
	--f-tint:   #252525;
}

/* Communities directory --c-* */
[data-theme="dark"] .nc-dir {
	--c-bg:     #0F0F0F;
	--c-paper:  #1A1A1A;
	--c-mid:    #252525;
	--c-ink:    #F0F0F0;
	--c-soft:   #C5C5C5;
	--c-muted:  #8A8A8A;
	--c-line:   #2E2E2E;
}

/* ── Layer 2: hardcoded-color use-site overrides ────────── */

/* Body / generic */
[data-theme="dark"] body { background: #0F0F0F; color: #F0F0F0; }
[data-theme="dark"] .nc-shell { color: #F0F0F0; }

/* Masthead — flip surface + nav links */
[data-theme="dark"] .nc-topbar.nc-mast { background: #1A1A1A; border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-mast__main { background: #1A1A1A; }
[data-theme="dark"] .nc-mast__brand .nc-logo,
[data-theme="dark"] .nc-mast__brand .nc-logo .nc-logo__brand { color: #F0F0F0; }
[data-theme="dark"] .nc-mast__navlink { color: #C5C5C5; }
[data-theme="dark"] .nc-mast__navlink:hover { background: #252525; color: #E03A56; }
[data-theme="dark"] .nc-mast__navlink.is-active { color: #F0F0F0; border-color: #F0F0F0; }
[data-theme="dark"] .nc-mast__search { background: #252525; border-color: #2E2E2E; }
[data-theme="dark"] .nc-mast__search input { color: #F0F0F0; }
[data-theme="dark"] .nc-mast__search input::placeholder { color: #8A8A8A; }
[data-theme="dark"] .nc-mast__search-ic { color: #8A8A8A; }
[data-theme="dark"] .nc-mast__search-k { background: #2E2E2E; color: #C5C5C5; border-color: #404040; }
[data-theme="dark"] .nc-mast__icon { background: #252525; border-color: #2E2E2E; color: #C5C5C5; }
[data-theme="dark"] .nc-mast__icon:hover { background: #2E2E2E; color: #F0F0F0; border-color: #404040; }
[data-theme="dark"] .nc-mast__signin { color: #F0F0F0; }
[data-theme="dark"] .nc-mast__menutoggle span { background: #F0F0F0; }
[data-theme="dark"] .nc-mast__drawer { background: #1A1A1A; border-top-color: #2E2E2E; }
[data-theme="dark"] .nc-mast__draweritem { color: #F0F0F0; border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-mast__draweritem:hover { background: #252525; }

/* Footer */
[data-theme="dark"] .nc-footer.nc-foot { background: #0F0F0F; border-top-color: #2E2E2E; }
[data-theme="dark"] .nc-foot__brand .nc-logo { color: #F0F0F0; }
[data-theme="dark"] .nc-foot__tagline { color: #C5C5C5; }
[data-theme="dark"] .nc-foot__editorial { color: #8A8A8A; }
[data-theme="dark"] .nc-foot__h { color: #8A8A8A; border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-foot__col a { color: #C5C5C5; }
[data-theme="dark"] .nc-foot__col a:hover { color: #E03A56; }
/* legal strip is already dark — leave as-is */

/* Mobile bottom nav */
[data-theme="dark"] .nc-mobnav { background: #1A1A1A; border-top-color: #2E2E2E; }
[data-theme="dark"] .nc-mobnav__item { color: #8A8A8A; }
[data-theme="dark"] .nc-mobnav__item:hover { color: #F0F0F0; }

/* Form inputs — the white-bg fix becomes dark-surface */
[data-theme="dark"] .nc-input,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] textarea,
[data-theme="dark"] select {
	background: #252525 !important;
	color: #F0F0F0 !important;
	border-color: #2E2E2E !important;
}
[data-theme="dark"] .nc-input::placeholder,
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder { color: #8A8A8A !important; }
[data-theme="dark"] .nc-input:focus,
[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus { border-color: #E03A56 !important; }
[data-theme="dark"] .nc-input:-webkit-autofill {
	-webkit-text-fill-color: #F0F0F0;
	-webkit-box-shadow: 0 0 0 1000px #252525 inset;
	caret-color: #F0F0F0;
}
[data-theme="dark"] .nc-be-form,
[data-theme="dark"] .nc-be-form input,
[data-theme="dark"] .nc-be-form textarea,
[data-theme="dark"] .nc-be-form select {
	background: #1A1A1A !important;
	color: #F0F0F0 !important;
	border-color: #2E2E2E !important;
}
[data-theme="dark"] .nc-be-form { border-color: #2E2E2E; }
[data-theme="dark"] .nc-be-form input:focus,
[data-theme="dark"] .nc-be-form textarea:focus { border-color: #E03A56 !important; }
[data-theme="dark"] .nc-be-form .nc-field > span:first-child { color: #F0F0F0; }
[data-theme="dark"] .nc-anon-toggle { background: #252525; border-color: #2E2E2E; }
[data-theme="dark"] .nc-anon-toggle__box { background: #1A1A1A; border-color: #C5C5C5; }
[data-theme="dark"] .nc-anon-toggle__copy strong { color: #F0F0F0; }
[data-theme="dark"] .nc-anon-toggle__copy small { color: #C5C5C5; }

/* Cards used by multiple pages */
[data-theme="dark"] .nc-card { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-card__title a { color: #F0F0F0; }
[data-theme="dark"] .nc-card__title a:hover { color: #E03A56; }
[data-theme="dark"] .nc-card__excerpt { color: #C5C5C5; }
[data-theme="dark"] .nc-card__byline { color: #8A8A8A; }
[data-theme="dark"] .nc-iconlink { color: #8A8A8A; }
[data-theme="dark"] .nc-iconlink:hover { color: #E03A56; }
[data-theme="dark"] .nc-vote-btn { color: #8A8A8A; }
[data-theme="dark"] .nc-vote-btn:hover,
[data-theme="dark"] .nc-vote-btn.is-active { color: #E03A56; }

/* Contact page (uses hardcoded whites) */
[data-theme="dark"] .nc-contact { background: #0F0F0F; }
[data-theme="dark"] .nc-contact__head { border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-contact__h1 { color: #F0F0F0; }
[data-theme="dark"] .nc-contact__sub { color: #C5C5C5; }
[data-theme="dark"] .nc-contact__item { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-contact__kicker { color: #8A8A8A; }
[data-theme="dark"] .nc-contact__h { color: #F0F0F0; }
[data-theme="dark"] .nc-contact__item p { color: #C5C5C5; }
[data-theme="dark"] .nc-contact__mailto { color: #F0F0F0; border-bottom-color: #F0F0F0; }
[data-theme="dark"] .nc-contact__mailto:hover { color: #E03A56; border-bottom-color: #E03A56; }

/* Modals */
[data-theme="dark"] .nc-modal,
[data-theme="dark"] .nc-report-modal,
[data-theme="dark"] .nc-pwa-ios { background: #1A1A1A !important; color: #F0F0F0; border-color: #2E2E2E !important; }
[data-theme="dark"] .nc-modal__close,
[data-theme="dark"] .nc-report-modal .nc-modal__close { color: #C5C5C5; }
[data-theme="dark"] .nc-modal__close:hover,
[data-theme="dark"] .nc-report-modal .nc-modal__close:hover { background: #252525; color: #F0F0F0; }
[data-theme="dark"] .nc-modal__head h2,
[data-theme="dark"] .nc-report-modal .nc-h3 { color: #F0F0F0; }
[data-theme="dark"] .nc-modal__head p,
[data-theme="dark"] .nc-report-modal .nc-modal__head p { color: #C5C5C5; }
[data-theme="dark"] .nc-report-modal .nc-field > span:first-child { color: #F0F0F0; }
[data-theme="dark"] .nc-report-modal select.nc-input,
[data-theme="dark"] .nc-report-modal textarea.nc-input { background: #252525 !important; color: #F0F0F0 !important; border-color: #2E2E2E !important; }
[data-theme="dark"] .nc-report-modal .nc-form__actions { border-top-color: #2E2E2E; }
[data-theme="dark"] .nc-pwa-ios__steps { color: #F0F0F0; }

/* PWA install bar */
[data-theme="dark"] .nc-pwa-bar { background: #1A1A1A; border-top-color: #2E2E2E; box-shadow: 0 -4px 12px rgba(0,0,0,.3); }
[data-theme="dark"] .nc-pwa-bar__icon { background: #252525; border-color: #2E2E2E; }
[data-theme="dark"] .nc-pwa-bar__copy strong { color: #F0F0F0; }
[data-theme="dark"] .nc-pwa-bar__copy span { color: #C5C5C5; }
[data-theme="dark"] .nc-pwa-bar__dismiss { color: #8A8A8A; }
[data-theme="dark"] .nc-pwa-bar__dismiss:hover { background: #252525; color: #F0F0F0; }

/* Honeypot — stays invisible regardless */
[data-theme="dark"] .nc-honeypot { background: transparent; }

/* Disabled state */
[data-theme="dark"] .nc-btn[disabled],
[data-theme="dark"] button[disabled],
[data-theme="dark"] input[disabled],
[data-theme="dark"] textarea[disabled] {
	background-color: #1F1F1F !important;
	color: #6A6A6A !important;
}

/* Communities directory cards — pull from --c-* tokens, also need
 * scoped overrides for hardcoded paid-gradient + badges. */
[data-theme="dark"] .nc-dir__card { background: #1A1A1A; border-color: #2E2E2E; color: #F0F0F0; }
[data-theme="dark"] .nc-dir__card:hover { background: #252525; }
[data-theme="dark"] .nc-dir__card--paid { background: linear-gradient(to right, rgba(201, 168, 76, 0.10), transparent 220px); background-color: #1A1A1A; }
[data-theme="dark"] .nc-dir__card-rank span { color: #8A8A8A; }
[data-theme="dark"] .nc-dir__card-handle { color: #8A8A8A; }
[data-theme="dark"] .nc-dir__card-name { color: #F0F0F0; }
[data-theme="dark"] .nc-dir__card-desc { color: #C5C5C5; }
[data-theme="dark"] .nc-dir__card-foot { border-top-color: #2E2E2E; }
[data-theme="dark"] .nc-dir__card-stats strong { color: #F0F0F0; }
[data-theme="dark"] .nc-dir__card-stats span { color: #8A8A8A; }
[data-theme="dark"] .nc-dir__card-score { background: #252525; border-color: #2E2E2E; color: #F0F0F0; }
[data-theme="dark"] .nc-dir__card-score span { color: #8A8A8A; }
[data-theme="dark"] .nc-dir__card-paid { background: rgba(201,168,76,0.12); color: #E0B963; border-color: #5A4823; }
[data-theme="dark"] .nc-dir__pill { background: transparent; color: #C5C5C5; border-color: #2E2E2E; }
[data-theme="dark"] .nc-dir__pill:hover { color: #F0F0F0; border-color: #F0F0F0; }
[data-theme="dark"] .nc-dir__pill.is-active { background: #F0F0F0; color: #0F0F0F; border-color: #F0F0F0; }
[data-theme="dark"] .nc-dir__h1 { color: #F0F0F0; }
[data-theme="dark"] .nc-dir__sub { color: #C5C5C5; }
[data-theme="dark"] .nc-dir__crumb { color: #8A8A8A; }
[data-theme="dark"] .nc-dir__crumb a { color: #C5C5C5; }
[data-theme="dark"] .nc-dir__tier-row-line { background: #2E2E2E; }

/* Forum feed surfaces */
[data-theme="dark"] .nc-fd { background: #0F0F0F; color: #F0F0F0; }
[data-theme="dark"] .nc-fd__card { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-fd__card-q a { color: #F0F0F0; }
[data-theme="dark"] .nc-fd__card-excerpt { color: #C5C5C5; }
[data-theme="dark"] .nc-fd__panel { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-fd__panel h4 { color: #F0F0F0; }
[data-theme="dark"] .nc-fd__nav,
[data-theme="dark"] .nc-fd__rooms,
[data-theme="dark"] .nc-fd__compose,
/* .nc-fd__tabs dark rule removed alongside the markup (v1.2.3). */
[data-theme="dark"] .nc-fd__navitem { color: #C5C5C5; border-bottom-color: #252525; }
[data-theme="dark"] .nc-fd__navitem:hover { background: #252525; color: #F0F0F0; }
[data-theme="dark"] .nc-fd__navitem.is-active { background: #F0F0F0; color: #0F0F0F; }
[data-theme="dark"] .nc-fd__tab { color: #C5C5C5; }
[data-theme="dark"] .nc-fd__tab:hover { background: #252525; color: #F0F0F0; }
[data-theme="dark"] .nc-fd__tab.is-active { background: #F0F0F0; color: #0F0F0F; }
[data-theme="dark"] .nc-fd__compose-input { background: #252525; color: #C5C5C5; }
[data-theme="dark"] .nc-fd__compose-chip { background: #252525; color: #C5C5C5; border-color: #2E2E2E; }
[data-theme="dark"] .nc-fd__react { color: #8A8A8A; }
[data-theme="dark"] .nc-fd__react:hover { color: #E03A56; }

/* Newsletter / late-edition body surfaces */
[data-theme="dark"] .nc-le { background: #0F0F0F; color: #F0F0F0; }
[data-theme="dark"] .nc-le-hero { border-bottom-color: #2E2E2E; }
[data-theme="dark"] .nc-le-bento article,
[data-theme="dark"] .nc-le-rooms__item { background: #1A1A1A; border-color: #2E2E2E; }

/* Single discussion thread */
[data-theme="dark"] .nc-thread { background: #0F0F0F; }
[data-theme="dark"] .nc-thread__main,
[data-theme="dark"] .nc-thread__side { background: transparent; }
[data-theme="dark"] .nc-thread__title { color: #F0F0F0; }
[data-theme="dark"] .nc-thread__body { color: #E0E0E0; }
[data-theme="dark"] .nc-thread__body h2,
[data-theme="dark"] .nc-comment__body h2,
[data-theme="dark"] .nc-thread__body h3,
[data-theme="dark"] .nc-comment__body h3 { color: #F0F0F0; }
[data-theme="dark"] .nc-thread__body code,
[data-theme="dark"] .nc-comment__body code {
	background: #252525;
	color: #F0F0F0;
	border-color: #2E2E2E;
}
[data-theme="dark"] .nc-thread__body blockquote,
[data-theme="dark"] .nc-comment__body blockquote { color: #C5C5C5; background: rgba(196, 30, 58, 0.08); }
[data-theme="dark"] .nc-comment { background: #1A1A1A; border-color: #2E2E2E; }
[data-theme="dark"] .nc-comment__body { color: #E0E0E0; }
[data-theme="dark"] .nc-anon-byline { color: #F0F0F0; }

/* Alerts */
[data-theme="dark"] .nc-alert--red { background: rgba(196,30,58,.12); color: #F0A0AE; border-left-color: #C41E3A; }
[data-theme="dark"] .nc-alert--amber { background: rgba(201,168,76,.12); color: #E0B963; border-left-color: #C9A84C; }
[data-theme="dark"] .nc-alert--green { background: rgba(26,122,69,.14); color: #6BD79B; border-left-color: #1A7A45; }
[data-theme="dark"] .nc-alert--gold { background: rgba(201,168,76,.12); color: #E0B963; border-left-color: #C9A84C; }
[data-theme="dark"] .nc-alert--gold strong { color: #F0F0F0; }
[data-theme="dark"] .nc-alert--gold a { color: #E0B963; }

/* Empty states */
[data-theme="dark"] .nc-empty { color: #8A8A8A; border-color: #2E2E2E; background: #1A1A1A; }

/* Pills + chips */
[data-theme="dark"] .nc-pill--gray { background: #252525; color: #C5C5C5; }
[data-theme="dark"] .nc-pill--gold { background: rgba(201,168,76,.14); color: #E0B963; border-color: #5A4823; }

/* Ghost button on dark — make sure text stays visible */
[data-theme="dark"] .nc-btn--ghost { color: #F0F0F0; border-color: #2E2E2E; background: transparent; }
[data-theme="dark"] .nc-btn--ghost:hover { background: #252525; color: #F0F0F0; border-color: #F0F0F0; }

/* PWA bar dismiss button colors already adjusted above. */

/* Theme-toggle icon button color in dark mode */
[data-theme="dark"] .nc-theme-toggle { background: #252525; color: #E0B963; border-color: #2E2E2E; }
[data-theme="dark"] .nc-theme-toggle:hover { background: #2E2E2E; color: #FFCD58; }

/* Tabs (dashboard / profile / expert dashboard) */
[data-theme="dark"] .nc-tabs__btn { color: #C5C5C5; }
[data-theme="dark"] .nc-tabs__btn:hover { background: #252525; color: #F0F0F0; }
[data-theme="dark"] .nc-tabs__btn.is-active { color: #F0F0F0; border-bottom-color: #F0F0F0; }
[data-theme="dark"] .nc-prof-tabs .nc-prof-tab { color: #C5C5C5; }
[data-theme="dark"] .nc-prof-tabs .nc-prof-tab.is-active { color: #F0F0F0; border-bottom-color: #E03A56; }

/* Tables in admin / dashboard */
[data-theme="dark"] .nc-table { color: #F0F0F0; }
[data-theme="dark"] .nc-table th,
[data-theme="dark"] .nc-table td { border-color: #2E2E2E; }
[data-theme="dark"] .nc-table th { color: #8A8A8A; background: #1A1A1A; }

/* =========================================================
 *  DARK MODE — surgical contrast fixes
 *  Catches all the labels / hints / small text + the homepage
 *  closing-CTA section that defaulted to white-on-white.
 * ========================================================= */

/* Every form label/field name across every page goes light. */
[data-theme="dark"] label,
[data-theme="dark"] .nc-field > span:first-child,
[data-theme="dark"] .nc-be-form label,
[data-theme="dark"] .nc-be-form .nc-field > span:first-child,
[data-theme="dark"] .nc-submit-form label,
[data-theme="dark"] .nc-submit-form .nc-field > span:first-child,
[data-theme="dark"] .nc-pay-form label,
[data-theme="dark"] .nc-auth-form label,
[data-theme="dark"] .nc-auth-form .nc-field > span:first-child {
	color: #F0F0F0 !important;
}

/* Hints, small print, character counters — visible-but-muted. */
[data-theme="dark"] .nc-field small,
[data-theme="dark"] .nc-field__hint-text,
[data-theme="dark"] .nc-be-form small,
[data-theme="dark"] .nc-form small,
[data-theme="dark"] .nc-editor__note,
[data-theme="dark"] .nc-editor__hint,
[data-theme="dark"] form small {
	color: #9A9A9A !important;
}

/* Specifically the "Free to apply. We respond within 48 hours..." line
 * under the Submit application button — it inherits #6A6A6A on dark. */
[data-theme="dark"] .nc-be-form .nc-form__actions small,
[data-theme="dark"] .nc-form__actions small { color: #9A9A9A !important; }

/* Native <select> dropdown options on dark — Firefox/Safari render
 * the popdown using OS colors; force them to dark too. */
[data-theme="dark"] select { color: #F0F0F0 !important; }
[data-theme="dark"] select option { background: #1A1A1A; color: #F0F0F0; }

/* Closing-CTA section on the homepage Late Edition.
 * In light mode this is a deliberate parchment block. In dark mode
 * the text inherits #fff from a parent, producing white-on-parchment.
 * Force the section to use dark surface + light text. */
[data-theme="dark"] .nc-le-close,
[data-theme="dark"] .nc-le-cover,
[data-theme="dark"] .nc-le__close { background: #0F0F0F !important; color: #F0F0F0 !important; }
[data-theme="dark"] .nc-le-close *,
[data-theme="dark"] .nc-le-cover *,
[data-theme="dark"] .nc-le__close * { color: inherit; }
[data-theme="dark"] .nc-le-close h1,
[data-theme="dark"] .nc-le-close h2,
[data-theme="dark"] .nc-le-close p,
[data-theme="dark"] .nc-le-close strong { color: #F0F0F0 !important; }
[data-theme="dark"] .nc-le-close em,
[data-theme="dark"] .nc-le-cover em { color: #E0B963 !important; }

/* Any element on Late Edition with a hardcoded #fff bg → flip to dark. */
[data-theme="dark"] .nc-le-bento article { background: #1A1A1A !important; }
[data-theme="dark"] .nc-le-hero__h1 { color: #F0F0F0; }
[data-theme="dark"] .nc-le-hero__lede,
[data-theme="dark"] .nc-le-hero p { color: #C5C5C5; }

/* Submit form (post composer) field labels + hint */
[data-theme="dark"] .nc-submit-form .nc-field { color: #F0F0F0; }
[data-theme="dark"] .nc-submit-form .nc-field__label-row { color: #F0F0F0; }

/* Card body text safety net — any post body or excerpt should
 * always be readable on dark. */
[data-theme="dark"] .nc-card__excerpt,
[data-theme="dark"] .nc-card__byline,
[data-theme="dark"] .nc-comment__body p,
[data-theme="dark"] .nc-thread__body p { color: #E0E0E0; }

/* Headings everywhere */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4 { color: #F0F0F0; }

/* ── Reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0s !important; transition: none !important; }
	.nc-pwa-bar { transition: none; }
}

/* ── Print ─────────────────────────────────────────────── */
@media print {
	.nc-topbar, .nc-mobnav, .nc-footer, .nc-thread__side, .nc-thread__actions, .nc-fd__fab, .nc-pwa-bar { display: none !important; }
	body { background: #fff; color: #000; }
}

/* =========================================================
 *  Expert dashboard — Inbox tab
 *  Smart-sorted question feed with filter pills, sort toggle,
 *  and per-card signal badges (fast-reply / specialty / 0 expert).
 * ========================================================= */
.nc-exp-inbox-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1.5px solid var(--hp-line);
}
.nc-exp-inbox-pill {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 8px 14px;
	border: 1.5px solid var(--hp-ink);
	background: var(--hp-paper);
	color: var(--hp-ink);
	text-decoration: none;
	transition: all .15s ease;
	white-space: nowrap;
}
.nc-exp-inbox-pill:hover { background: var(--hp-bg-warm); text-decoration: none; }
.nc-exp-inbox-pill.is-active { background: var(--hp-ink); color: var(--hp-paper); border-color: var(--hp-ink); }

.nc-exp-inbox-sort {
	margin-left: auto;
	display: flex;
	gap: 4px;
	align-items: center;
	font-family: var(--hp-mono);
	font-size: 10px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hp-muted);
}
.nc-exp-inbox-sort > span:first-child { margin-right: 4px; }
.nc-exp-inbox-sort a {
	color: var(--hp-ink-soft);
	text-decoration: none;
	padding: 4px 8px;
	border-bottom: 1.5px solid transparent;
	transition: all .15s ease;
}
.nc-exp-inbox-sort a:hover { color: var(--hp-ink); text-decoration: none; }
.nc-exp-inbox-sort a.is-active { color: var(--hp-primary); border-bottom-color: var(--hp-primary); }

.nc-exp-inbox-list { display: grid; gap: 14px; }
.nc-exp-inbox-card {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 18px;
	align-items: start;
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 18px 22px;
	transition: transform .15s ease, box-shadow .15s ease;
}
.nc-exp-inbox-card:hover {
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--hp-ink);
}
.nc-exp-inbox-card__main { min-width: 0; }
.nc-exp-inbox-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hp-muted);
	margin-bottom: 8px;
}
.nc-exp-inbox-card__community { color: var(--hp-primary); }
.nc-exp-inbox-card__title {
	font-family: var(--hp-serif);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.3;
	margin: 0 0 6px;
}
.nc-exp-inbox-card__title a { color: var(--hp-ink); text-decoration: none; }
.nc-exp-inbox-card__title a:hover { color: var(--hp-primary); }
.nc-exp-inbox-card__excerpt {
	font-size: 14px;
	color: var(--hp-ink-soft);
	line-height: 1.5;
	margin: 0 0 12px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.nc-exp-inbox-card__signals { display: flex; flex-wrap: wrap; gap: 6px; }
.nc-exp-inbox-card__sig {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .05em;
	padding: 4px 9px;
	border: 1px solid var(--hp-line);
	color: var(--hp-ink-soft);
	background: transparent;
	border-radius: 2px;
}
.nc-exp-inbox-card__sig--hot { color: #B8862C; border-color: #B8862C; background: rgba(184,134,44,.08); }
.nc-exp-inbox-card__sig--match { color: var(--hp-primary); border-color: var(--hp-primary); background: rgba(196,30,58,.08); }
.nc-exp-inbox-card__sig--virgin { color: #4A6B3E; border-color: #4A6B3E; background: rgba(74,107,62,.08); }
.nc-exp-inbox-card__cta {
	align-self: center;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 11px 18px;
	background: var(--hp-primary);
	color: var(--hp-paper);
	border: 1.5px solid var(--hp-primary);
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s ease;
}
.nc-exp-inbox-card__cta:hover { background: var(--hp-primary-dark); color: var(--hp-paper); text-decoration: none; }

.nc-exp-inbox-empty {
	background: var(--hp-paper);
	border: 2px dashed var(--hp-ink);
	padding: 40px 28px;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 14px;
	align-items: center;
}
.nc-exp-inbox-empty p { color: var(--hp-ink-soft); font-family: var(--hp-serif); font-style: italic; font-size: 15px; margin: 0; }

.nc-exp-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1.5px solid var(--hp-line);
}
.nc-exp-pagination__num {
	font-family: var(--hp-mono);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hp-muted);
}

@media (max-width: 720px) {
	.nc-exp-inbox-card { grid-template-columns: 1fr; }
	.nc-exp-inbox-card__cta { text-align: center; justify-self: stretch; }
	.nc-exp-inbox-sort { margin-left: 0; width: 100%; flex-wrap: wrap; }
}

/* =========================================================
 *  Expert dashboard — Analytics tab
 *  4 inline-SVG sparkline / bar-chart panels.
 * ========================================================= */
.nc-exp-charts {
	display: grid;
	gap: 16px;
}
@media (min-width: 720px) {
	.nc-exp-charts { grid-template-columns: 1fr 1fr; }
}

.nc-exp-chart {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
}
.nc-exp-chart__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--hp-line);
}
.nc-exp-chart__label {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hp-ink);
}
.nc-exp-chart__sub {
	font-family: var(--hp-mono);
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--hp-muted);
	text-transform: uppercase;
}
.nc-exp-chart__num {
	font-family: var(--hp-serif);
	font-size: 32px;
	font-weight: 600;
	letter-spacing: -.025em;
	color: var(--hp-ink);
	line-height: 1;
	margin-bottom: 6px;
}
.nc-exp-chart__delta {
	font-family: var(--hp-mono);
	font-size: 11px;
	letter-spacing: .04em;
	color: var(--hp-muted);
	margin-bottom: 14px;
}
.nc-exp-chart__delta strong { color: var(--hp-ink); font-weight: 700; }
.nc-exp-chart__axis {
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
	font-family: var(--hp-mono);
	font-size: 9px;
	letter-spacing: .06em;
	color: var(--hp-muted);
	text-transform: uppercase;
}
.nc-exp-spark, .nc-exp-bars { display: block; width: 100%; }

/* Where-you-earn list (top communities by merit) */
.nc-exp-where { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 10px; }
.nc-exp-where__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto;
	gap: 12px;
	align-items: center;
}
.nc-exp-where__name {
	font-family: var(--hp-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .03em;
	color: var(--hp-ink);
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.nc-exp-where__name:hover { color: var(--hp-primary); }
.nc-exp-where__bar {
	height: 8px;
	background: var(--hp-line-soft, rgba(0,0,0,.06));
	border: 1px solid var(--hp-line);
	overflow: hidden;
}
.nc-exp-where__bar span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--hp-primary), var(--hp-primary-dark, #8B1226));
}
.nc-exp-where__pts {
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 700;
	color: var(--hp-ink);
	min-width: 36px;
	text-align: right;
}

/* =========================================================
 *  Expert dashboard — Overview polish
 *  Public-profile preview card + refined two-column layout.
 * ========================================================= */
.nc-exp-overview-grid {
	display: grid;
	gap: 16px;
	margin-bottom: 28px;
}
@media (min-width: 960px) {
	.nc-exp-overview-grid { grid-template-columns: 1.35fr 1fr; align-items: start; }
}

.nc-exp-preview {
	background: var(--hp-paper);
	border: 2px solid var(--hp-ink);
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.nc-exp-preview__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--hp-line);
}
.nc-exp-preview__kicker {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--hp-muted);
}
.nc-exp-preview__edit {
	font-family: var(--hp-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hp-primary);
	text-decoration: none;
	border-bottom: 1.5px solid var(--hp-primary);
	padding-bottom: 2px;
}
.nc-exp-preview__edit:hover { color: var(--hp-ink); border-color: var(--hp-ink); text-decoration: none; }
.nc-exp-preview__body { display: flex; gap: 14px; align-items: flex-start; }
.nc-exp-preview__avatar {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--hp-ink);
}
.nc-exp-preview__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-exp-preview__main { flex: 1; min-width: 0; }
.nc-exp-preview__name {
	font-family: var(--hp-serif);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--hp-ink);
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 2px;
}
.nc-exp-preview__spec {
	font-size: 13px;
	color: var(--hp-ink-soft);
	margin: 2px 0;
}
.nc-exp-preview__cred {
	font-family: var(--hp-mono);
	font-size: 10px;
	letter-spacing: .06em;
	color: var(--hp-muted);
	margin-top: 4px;
}
.nc-exp-preview__bio {
	font-size: 14px;
	color: var(--hp-ink-soft);
	line-height: 1.55;
	margin: 0;
	font-family: var(--hp-serif);
	font-style: italic;
}
.nc-exp-preview__bio--empty { font-style: italic; color: var(--hp-muted); }
.nc-exp-preview__rate {
	font-family: var(--hp-mono);
	font-size: 11px;
	letter-spacing: .05em;
	color: var(--hp-ink-soft);
	padding-top: 12px;
	border-top: 1px dashed var(--hp-line);
}
.nc-exp-preview__rate strong { color: var(--hp-ink); font-weight: 700; }
.nc-exp-preview__view {
	align-self: flex-start;
	font-family: var(--hp-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hp-primary);
	text-decoration: none;
	border-bottom: 1.5px solid var(--hp-primary);
	padding-bottom: 2px;
}
.nc-exp-preview__view:hover { color: var(--hp-ink); border-color: var(--hp-ink); text-decoration: none; }

/* =========================================================
 *  Expert dashboard — dark-mode contrast overrides
 * ========================================================= */
[data-theme="dark"] .nc-exp-inbox-pill { background: #1A1A1A; color: #F0F0F0; border-color: #F0F0F0; }
[data-theme="dark"] .nc-exp-inbox-pill:hover { background: #252525; }
[data-theme="dark"] .nc-exp-inbox-pill.is-active { background: #F0F0F0; color: #0F0F0F; }
[data-theme="dark"] .nc-exp-inbox-sort a { color: #C5C5C5; }
[data-theme="dark"] .nc-exp-inbox-sort a.is-active { color: #E03A56; border-bottom-color: #E03A56; }
[data-theme="dark"] .nc-exp-inbox-card { background: #1A1A1A; border-color: #F0F0F0; }
[data-theme="dark"] .nc-exp-inbox-card:hover { box-shadow: 6px 6px 0 #F0F0F0; }
[data-theme="dark"] .nc-exp-inbox-card__title a { color: #F0F0F0; }
[data-theme="dark"] .nc-exp-inbox-card__title a:hover { color: #E03A56; }
[data-theme="dark"] .nc-exp-inbox-card__excerpt { color: #C5C5C5; }
[data-theme="dark"] .nc-exp-inbox-card__community { color: #E03A56; }
[data-theme="dark"] .nc-exp-inbox-card__sig { color: #C5C5C5; border-color: #2E2E2E; }
[data-theme="dark"] .nc-exp-inbox-card__sig--hot { color: #E0B963; border-color: #5A4823; background: rgba(201,168,76,.12); }
[data-theme="dark"] .nc-exp-inbox-card__sig--match { color: #E03A56; border-color: #5A1E2A; background: rgba(196,30,58,.15); }
[data-theme="dark"] .nc-exp-inbox-card__sig--virgin { color: #6BD79B; border-color: #1F3D2A; background: rgba(26,122,69,.14); }
[data-theme="dark"] .nc-exp-inbox-card__cta { background: #C41E3A; border-color: #C41E3A; color: #FFFFFF; }
[data-theme="dark"] .nc-exp-inbox-card__cta:hover { background: #8B1226; }
[data-theme="dark"] .nc-exp-inbox-empty { background: #1A1A1A; border-color: #F0F0F0; }
[data-theme="dark"] .nc-exp-inbox-empty p { color: #C5C5C5; }
[data-theme="dark"] .nc-exp-pagination__num { color: #8A8A8A; }

[data-theme="dark"] .nc-exp-chart { background: #1A1A1A; border-color: #F0F0F0; }
[data-theme="dark"] .nc-exp-chart__label { color: #F0F0F0; }
[data-theme="dark"] .nc-exp-chart__sub,
[data-theme="dark"] .nc-exp-chart__delta,
[data-theme="dark"] .nc-exp-chart__axis { color: #8A8A8A; }
[data-theme="dark"] .nc-exp-chart__num { color: #F0F0F0; }
[data-theme="dark"] .nc-exp-chart__delta strong { color: #F0F0F0; }
[data-theme="dark"] .nc-exp-where__name { color: #F0F0F0; }
[data-theme="dark"] .nc-exp-where__name:hover { color: #E03A56; }
[data-theme="dark"] .nc-exp-where__bar { background: #252525; border-color: #2E2E2E; }
[data-theme="dark"] .nc-exp-where__bar span { background: linear-gradient(90deg, #C41E3A, #E03A56); }
[data-theme="dark"] .nc-exp-where__pts { color: #F0F0F0; }

[data-theme="dark"] .nc-exp-preview { background: #1A1A1A; border-color: #F0F0F0; }
[data-theme="dark"] .nc-exp-preview__avatar { border-color: #F0F0F0; }
[data-theme="dark"] .nc-exp-preview__name { color: #F0F0F0; }
[data-theme="dark"] .nc-exp-preview__spec,
[data-theme="dark"] .nc-exp-preview__bio { color: #C5C5C5; }
[data-theme="dark"] .nc-exp-preview__cred,
[data-theme="dark"] .nc-exp-preview__rate { color: #8A8A8A; }
[data-theme="dark"] .nc-exp-preview__rate strong { color: #F0F0F0; }
[data-theme="dark"] .nc-exp-preview__kicker { color: #8A8A8A; }
[data-theme="dark"] .nc-exp-preview__edit,
[data-theme="dark"] .nc-exp-preview__view { color: #E03A56; border-color: #E03A56; }
[data-theme="dark"] .nc-exp-preview__edit:hover,
[data-theme="dark"] .nc-exp-preview__view:hover { color: #F0F0F0; border-color: #F0F0F0; }

/* =========================================================
 *  v1.4.x hotfixes — surgical polish
 *  Three real-world bugs the previous dark-mode pass missed.
 * ========================================================= */

/* Fix A: REMOVED in v1.15.5 — was a per-page :has() override of the
 * 160px parchment gap. That gap is now zeroed globally at .nc-main +
 * .nc-foot, so the closing-band-specific override is no longer needed. */

/* Fix B: feed widgets designed to be dark go invisible in dark mode.
 * They use `background: var(--f-ink)`. Dark mode flips --f-ink to
 * #F0F0F0 (because text everywhere else uses --f-ink as ink color),
 * so the panel turns white and the white text inside vanishes.
 * Re-darken the explicit dark-by-design surfaces. Text colors are
 * literal #fff / var(--f-gold) so they don't need re-overriding. */
[data-theme="dark"] .nc-fd__tonight,
[data-theme="dark"] .nc-fd__compose-chip--anon,
[data-theme="dark"] .nc-fd__av--anon,
[data-theme="dark"] .nc-fd__card-cover,
[data-theme="dark"] .nc-fd__card--editor,
[data-theme="dark"] .nc-fd__panel--pulse {
	background: #0B0B0B;
	border-color: #2E2E2E;
}
[data-theme="dark"] .nc-fd__pagebtn:hover {
	background: #0B0B0B;
	color: #F0F0F0;
	border-color: #0B0B0B;
}
/* Active tab in dark mode — light-on-dark inverted pill (the prior rule
 * accidentally grouped it with the "dark-by-design" surfaces above,
 * which forced background dark while leaving text dark → invisible. */
[data-theme="dark"] .nc-fd__navitem.is-active {
	background: #F0F0F0 !important;
	color: #0F0F0F !important;
	border-color: #F0F0F0 !important;
}
[data-theme="dark"] .nc-fd__navitem.is-active .nc-fd__navct {
	background: rgba(15,15,15,.12);
	color: #0F0F0F;
}

/* Fix C: sticky rails + sticky ad slot on /feed/.
 * The base CSS already sets position: sticky on .nc-fd__rail-l /
 * .nc-fd__rail-r — the html/body overflow-x:hidden was the root
 * cause (fixed above, now `clip`). Defensive belt: make sure the
 * grid container doesn't itself create a scroll context, and that
 * the right-rail ad slot stays put when the main column is long. */
.nc-fd__shell { overflow: visible; }
.nc-fd__rail-l, .nc-fd__rail-r { will-change: transform; } /* hint GPU */
/* Re-affirm sticky in case any later rule unset it. */
@media (min-width: 1181px) {
	.nc-fd__rail-l { position: sticky; top: 72px; }
	.nc-fd__rail-r { position: sticky; top: 72px; }
	/* Sticky ad slot inside the right rail. */
	.nc-fd__rail-r .nc-ad-slot,
	.nc-fd__rail-r .nc-ad-slot--side {
		position: sticky;
		top: 88px;
	}
}

/* =========================================================
 *  Insightful reaction — secondary marker on posts
 *  Editorial chip with 💡 icon. Inactive = ghost outline,
 *  active (marked) = soft gold tint to differentiate from
 *  the crimson upvote primary.
 * ========================================================= */
.nc-insightful {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	font-family: var(--hp-mono, ui-monospace, monospace);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1;
	color: var(--hp-ink-soft, #3D3D3D);
	background: transparent;
	border: 1px solid var(--hp-line, #E6E1D8);
	border-radius: 999px;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
}
.nc-insightful:hover {
	background: rgba(201, 168, 76, .08);
	border-color: #C9A84C;
	color: var(--hp-ink, #1A1A1A);
	text-decoration: none;
}
.nc-insightful__icon {
	font-size: 13px;
	line-height: 1;
	filter: grayscale(.35) opacity(.7);
	transition: filter .15s ease, transform .15s ease;
}
.nc-insightful__num {
	font-variant-numeric: tabular-nums;
	min-width: 1ch;
}
.nc-insightful__lbl {
	letter-spacing: .06em;
}
@media (max-width: 600px) {
	.nc-insightful__lbl { display: none; } /* mobile — icon + count only */
}

/* Marked state — soft gold fill, full-color emoji, "punched in" feel */
.nc-insightful.is-marked {
	background: rgba(201, 168, 76, .14);
	border-color: #C9A84C;
	color: #8B6B2E;
}
.nc-insightful.is-marked .nc-insightful__icon {
	filter: none;
	transform: scale(1.05);
}
.nc-insightful.is-marked:hover {
	background: rgba(201, 168, 76, .22);
}
.nc-insightful--btn:active {
	transform: scale(.97);
}

/* Read-only chip (logged-out viewers + post authors) */
.nc-insightful--ro {
	cursor: default;
	background: rgba(201, 168, 76, .08);
	border-color: rgba(201, 168, 76, .35);
	color: var(--hp-muted, #6A6A6A);
}
.nc-insightful--ro:hover {
	background: rgba(201, 168, 76, .08);
	border-color: rgba(201, 168, 76, .35);
	color: var(--hp-muted, #6A6A6A);
}

/* Dark mode */
[data-theme="dark"] .nc-insightful {
	color: #C5C5C5;
	border-color: #2E2E2E;
}
[data-theme="dark"] .nc-insightful:hover {
	background: rgba(201, 168, 76, .12);
	border-color: #5A4823;
	color: #F0F0F0;
}
[data-theme="dark"] .nc-insightful.is-marked {
	background: rgba(201, 168, 76, .18);
	border-color: #5A4823;
	color: #E0B963;
}
[data-theme="dark"] .nc-insightful--ro {
	background: rgba(201, 168, 76, .10);
	border-color: rgba(201, 168, 76, .25);
	color: #9A9A9A;
}

/* =========================================================
 *  v1.5.x — Communities directory (.nc-dir2) — topical groups
 *  Replaces the old .nc-dir / .nc-dir__* tier-based layout.
 * ========================================================= */
.nc-dir2 {
	--d-paper: #FFFFFF;
	--d-bg:    #FAFAF8;
	--d-ink:   #1A1A1A;
	--d-ink-d: #0B0B0B;
	--d-muted: #6B6B6B;
	--d-soft:  #3D3D3D;
	--d-line:  #E4E2DC;
	--d-gold:  #C9A84C;
	--d-goldd: #8B6B2E;
	--d-crimson: #C41E3A;
	--d-serif: 'Lexend', system-ui, sans-serif;
	--d-sans:  'Lexend', system-ui, sans-serif;
	--d-mono:  'DM Mono', ui-monospace, monospace;
	background: var(--d-bg);
	color: var(--d-ink);
	font-family: var(--d-sans);
}
.nc-dir2__crumb { font-family: var(--d-mono); font-size: 11px; color: var(--d-muted); margin-bottom: 28px; }
.nc-dir2__crumb a { color: var(--d-muted); text-decoration: none; }
.nc-dir2__crumb a:hover { color: var(--d-ink); }

.nc-dir2__head { padding: 32px 0 48px; max-width: 880px; }
.nc-dir2__kicker {
	font-family: var(--d-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--d-crimson);
	display: inline-block;
	margin-bottom: 18px;
}
.nc-dir2__kicker--gold { color: var(--d-gold); }
.nc-dir2__h1 {
	font-family: var(--d-serif);
	font-size: clamp(38px, 5.5vw, 64px);
	font-weight: 500;
	letter-spacing: -.03em;
	line-height: 1.02;
	margin: 0 0 18px;
	color: var(--d-ink);
}
.nc-dir2__h1 em { font-style: italic; color: var(--d-crimson); font-weight: 400; }
.nc-dir2__sub {
	font-size: 17px;
	line-height: 1.55;
	color: var(--d-soft);
	margin: 0 0 24px;
	max-width: 64ch;
}
.nc-dir2__sub strong { color: var(--d-ink); font-weight: 600; }

.nc-dir2__cta-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.nc-dir2__cta-primary {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 14px 24px;
	background: var(--d-ink);
	color: var(--d-paper);
	text-decoration: none;
	font-family: var(--d-sans);
	font-size: 14px;
	font-weight: 600;
	border: 2px solid var(--d-ink);
	border-radius: 3px;
	transition: background .15s, transform .12s;
}
.nc-dir2__cta-primary:hover { background: var(--d-crimson); border-color: var(--d-crimson); color: var(--d-paper); text-decoration: none; transform: translateY(-1px); }
.nc-dir2__cta-primary--lg { padding: 17px 30px; font-size: 15px; }
.nc-dir2__cta-ghost {
	font-family: var(--d-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--d-ink);
	text-decoration: none;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--d-ink);
}
.nc-dir2__cta-ghost:hover { color: var(--d-crimson); border-color: var(--d-crimson); text-decoration: none; }

.nc-dir2__body { padding-bottom: 64px; }
.nc-dir2__group { padding: 28px 0; border-top: 1px solid var(--d-line); }
.nc-dir2__group:first-child { border-top: none; }

.nc-dir2__group-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 22px;
}
.nc-dir2__group-h2 {
	font-family: var(--d-serif);
	font-size: clamp(24px, 3vw, 32px);
	font-weight: 500;
	letter-spacing: -.02em;
	color: var(--d-ink);
	margin: 0;
}
.nc-dir2__group-count {
	font-family: var(--d-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--d-muted);
}

.nc-dir2__cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
}
.nc-dir2__card-li { display: block; }
.nc-dir2__card {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 14px;
	padding: 18px 20px;
	background: var(--d-paper);
	border: 1px solid var(--d-line);
	border-left: 3px solid var(--rc, var(--d-crimson));
	text-decoration: none;
	color: inherit;
	height: 100%;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.nc-dir2__card:hover {
	transform: translate(-2px, -2px);
	box-shadow: 4px 4px 0 var(--d-ink);
	text-decoration: none;
}
.nc-dir2__card-glyph {
	width: 56px; height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--rt, var(--d-bg));
	border: 1px solid var(--d-line);
	border-radius: 6px;
	font-size: 26px;
	line-height: 1;
}
.nc-dir2__card-body { min-width: 0; }
.nc-dir2__card-handle {
	font-family: var(--d-mono);
	font-size: 10.5px;
	letter-spacing: .04em;
	color: var(--d-muted);
	margin-bottom: 2px;
}
.nc-dir2__card-name {
	font-family: var(--d-serif);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -.012em;
	color: var(--d-ink);
	margin: 0 0 6px;
	line-height: 1.2;
}
.nc-dir2__card-desc {
	font-size: 13.5px;
	color: var(--d-soft);
	line-height: 1.5;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.nc-dir2__card-foot {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px dashed var(--d-line);
}
.nc-dir2__card-count {
	font-family: var(--d-mono);
	font-size: 11px;
	color: var(--d-muted);
}
.nc-dir2__card-tag {
	font-family: var(--d-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 3px 8px;
	background: rgba(201, 168, 76, .18);
	color: var(--d-goldd);
	border-radius: 2px;
}

/* "Why join" FOMO section — parchment-warm separate band */
.nc-dir2__why {
	background: #F3F2EE;
	border-top: 1px solid var(--d-line);
	padding: 80px 0 96px;
	position: relative;
}
.nc-dir2__why::before {
	content: '';
	position: absolute;
	left: 0; right: 0; top: 0;
	height: 4px;
	background: linear-gradient(to right, var(--d-crimson) 50%, var(--d-gold) 50%);
}
.nc-dir2__why-head { max-width: 780px; margin-bottom: 56px; }
.nc-dir2__why-h2 {
	font-family: var(--d-serif);
	font-size: clamp(32px, 4.5vw, 52px);
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1.05;
	color: var(--d-ink);
	margin: 0 0 18px;
}
.nc-dir2__why-h2 em { font-style: italic; color: var(--d-crimson); font-weight: 400; }
.nc-dir2__why-sub { font-size: 17px; line-height: 1.55; color: var(--d-soft); margin: 0; max-width: 64ch; }

.nc-dir2__why-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 32px;
	margin-bottom: 56px;
}
.nc-dir2__why-item {
	padding: 24px 0 0;
	border-top: 1.5px solid var(--d-ink);
}
.nc-dir2__why-num {
	font-family: var(--d-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--d-crimson);
	display: block;
	margin-bottom: 14px;
}
.nc-dir2__why-item h3 {
	font-family: var(--d-serif);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -.015em;
	line-height: 1.2;
	color: var(--d-ink);
	margin: 0 0 10px;
}
.nc-dir2__why-item p {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--d-soft);
	margin: 0;
}
.nc-dir2__why-cta {
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
	padding-top: 16px;
	border-top: 1px solid var(--d-line);
}

/* Dark mode — directory + why */
[data-theme="dark"] .nc-dir2 {
	--d-paper: #1A1A1A;
	--d-bg:    #0F0F0F;
	--d-ink:   #F0F0F0;
	--d-ink-d: #FFFFFF;
	--d-muted: #8A8A8A;
	--d-soft:  #C5C5C5;
	--d-line:  #2E2E2E;
}
[data-theme="dark"] .nc-dir2__why { background: #1A1A1A; border-top-color: #2E2E2E; }
[data-theme="dark"] .nc-dir2__card:hover { box-shadow: 4px 4px 0 #F0F0F0; }

/* =========================================================
 *  v1.5.x — Room template (.nc-rm) — newspaper edition
 *  Mirrors .nc-le-* homepage system: parchment, Fraunces, gold
 *  accents, closing dark CTA band. Replaces yellow-tint hero.
 * ========================================================= */
.nc-rm {
	--r-paper: #FFFFFF;
	--r-bg:    #FAFAF8;
	--r-ink:   #1A1A1A;
	--r-ink-d: #0B0B0B;
	--r-muted: #6B6B6B;
	--r-soft:  #3D3D3D;
	--r-line:  #E4E2DC;
	--r-gold:  #C9A84C;
	--r-goldd: #8B6B2E;
	--r-crimson: #C41E3A;
	--r-serif: 'Lexend', system-ui, sans-serif;
	--r-sans:  'Lexend', system-ui, sans-serif;
	--r-mono:  'DM Mono', ui-monospace, monospace;
	background: var(--r-bg);
	color: var(--r-ink);
	font-family: var(--r-sans);
}

/* Masthead strip */
.nc-rm__mast {
	background: var(--r-ink-d);
	color: #fff;
	border-bottom: 1px solid #000;
}
.nc-rm__mast-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	font-family: var(--r-mono);
	font-size: 11px;
	letter-spacing: .12em;
	flex-wrap: wrap;
}
.nc-rm__mast-item { color: rgba(255,255,255,.85); }
.nc-rm__mast-item--accent { color: var(--r-gold); font-weight: 700; }
.nc-rm__mast-sep { color: rgba(255,255,255,.25); }
.nc-rm__mast-sep--push { margin-left: auto; }
@media (max-width: 640px) { .nc-rm__mast-sep--push { margin-left: 0; } }
.nc-rm__mast-live { display: inline-flex; align-items: center; gap: 6px; color: var(--r-crimson); font-weight: 700; }
.nc-rm__pulse {
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--r-crimson);
	animation: nc-rm-pulse 1.6s ease-in-out infinite;
}
@keyframes nc-rm-pulse {
	0%, 100% { opacity: 1; transform: scale(1); }
	50%      { opacity: .35; transform: scale(.85); }
}

/* Crumb */
.nc-rm__crumb {
	font-family: var(--r-mono);
	font-size: 11px;
	color: var(--r-muted);
	padding: 22px 0 8px;
}
.nc-rm__crumb a { color: var(--r-muted); text-decoration: none; }
.nc-rm__crumb a:hover { color: var(--r-ink); }

/* Hero */
.nc-rm__hero {
	padding: 28px 0 56px;
	border-bottom: 1px solid var(--r-line);
}
.nc-rm__hero-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	flex-wrap: wrap;
}
.nc-rm__hero-glyph {
	width: 52px; height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--r-paper);
	border: 1.5px solid var(--r-ink);
	border-radius: 8px;
	font-size: 26px;
	line-height: 1;
}
.nc-rm__hero-handle {
	font-family: var(--r-mono);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--r-crimson);
}
.nc-rm__hero-tag {
	font-family: var(--r-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 4px 9px;
	background: rgba(201, 168, 76, .18);
	color: var(--r-goldd);
	border-radius: 3px;
}
.nc-rm__hero-h1 {
	font-family: var(--r-serif);
	font-size: clamp(44px, 6vw, 72px);
	font-weight: 500;
	letter-spacing: -.032em;
	line-height: 1;
	color: var(--r-ink);
	margin: 0 0 18px;
}
.nc-rm__hero-lede {
	font-family: var(--r-serif);
	font-size: clamp(17px, 1.6vw, 21px);
	line-height: 1.5;
	color: var(--r-soft);
	margin: 0 0 32px;
	max-width: 56ch;
}
.nc-rm__hero-ctas { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-bottom: 40px; }
.nc-rm__cta-primary {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 14px 24px;
	background: var(--r-ink);
	color: var(--r-paper);
	text-decoration: none;
	font-family: var(--r-sans);
	font-size: 14px;
	font-weight: 600;
	border: 2px solid var(--r-ink);
	border-radius: 3px;
	transition: background .15s, transform .12s;
}
.nc-rm__cta-primary:hover { background: var(--r-crimson); border-color: var(--r-crimson); color: var(--r-paper); text-decoration: none; transform: translateY(-1px); }
.nc-rm__cta-ghost {
	font-family: var(--r-sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--r-ink);
	text-decoration: none;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--r-ink);
}
.nc-rm__cta-ghost:hover { color: var(--r-crimson); border-color: var(--r-crimson); text-decoration: none; }

/* Inline stats strip — no black sidebar */
.nc-rm__hero-stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	margin: 0;
	border-top: 1.5px solid var(--r-ink);
	border-left: 1.5px solid var(--r-ink);
}
@media (min-width: 640px) { .nc-rm__hero-stats { grid-template-columns: repeat(4, 1fr); } }
.nc-rm__hero-stats > div {
	padding: 18px 22px;
	border-right: 1.5px solid var(--r-ink);
	border-bottom: 1.5px solid var(--r-ink);
	background: var(--r-paper);
}
.nc-rm__hero-stats dt {
	font-family: var(--r-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--r-muted);
	margin: 0 0 8px;
}
.nc-rm__hero-stats dd {
	font-family: var(--r-serif);
	font-size: 28px;
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1;
	color: var(--r-ink);
	margin: 0;
	font-variant-numeric: tabular-nums;
}
.nc-rm__hero-stats dd em { font-style: italic; color: var(--r-crimson); font-weight: 500; }

/* Section heading shared */
.nc-rm__sec-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 56px 0 22px;
	padding-bottom: 12px;
	border-bottom: 1.5px solid var(--r-ink);
	flex-wrap: wrap;
	gap: 12px;
}
.nc-rm__sec-kicker {
	font-family: var(--r-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--r-crimson);
}
.nc-rm__sec-meta {
	font-family: var(--r-serif);
	font-style: italic;
	font-size: 13.5px;
	color: var(--r-muted);
}
.nc-rm__sort { display: flex; gap: 6px; align-items: center; }
.nc-rm__sort a {
	font-family: var(--r-mono);
	font-size: 11px;
	letter-spacing: .08em;
	color: var(--r-muted);
	text-decoration: none;
	padding: 4px 9px;
	border: 1px solid transparent;
}
.nc-rm__sort a:hover { color: var(--r-ink); text-decoration: none; }
.nc-rm__sort a.is-active { color: var(--r-ink); border-color: var(--r-ink); }

/* Panel grid */
.nc-rm__panel-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}
.nc-rm__expert {
	display: flex;
	flex-direction: column;
	padding: 22px 20px;
	background: var(--r-paper);
	border: 1px solid var(--r-line);
	text-decoration: none;
	color: inherit;
	transition: transform .15s ease, box-shadow .15s ease;
}
.nc-rm__expert:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--r-ink); text-decoration: none; }
.nc-rm__expert-avatar {
	width: 56px; height: 56px;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
	margin-bottom: 14px;
	border: 1.5px solid var(--r-ink);
}
.nc-rm__expert-avatar-img, .nc-rm__expert-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-rm__expert-tick {
	position: absolute;
	bottom: -3px; right: -3px;
	background: var(--r-paper);
	border-radius: 50%;
	padding: 2px;
	display: inline-flex;
}
.nc-rm__expert-name {
	font-family: var(--r-serif);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -.012em;
	color: var(--r-ink);
	line-height: 1.2;
	margin-bottom: 4px;
}
.nc-rm__expert-spec {
	font-size: 13px;
	color: var(--r-soft);
	line-height: 1.4;
	margin-bottom: 6px;
}
.nc-rm__expert-cred {
	font-family: var(--r-mono);
	font-size: 10.5px;
	letter-spacing: .04em;
	color: var(--r-muted);
	margin-bottom: 14px;
}
.nc-rm__expert-foot {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px dashed var(--r-line);
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--r-mono);
	font-size: 10.5px;
	color: var(--r-muted);
}
.nc-rm__expert-online { color: #1A7A45; font-weight: 700; }

/* Pinned card */
.nc-rm__pinned { margin-top: 40px; }
.nc-rm__pinned-card {
	display: block;
	padding: 28px 32px;
	background: var(--r-paper);
	border: 1.5px solid var(--r-ink);
	border-left: 4px solid var(--r-gold);
	text-decoration: none;
	color: inherit;
	transition: transform .15s ease, box-shadow .15s ease;
}
.nc-rm__pinned-card:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--r-ink); text-decoration: none; }
.nc-rm__pinned-tag {
	font-family: var(--r-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--r-goldd);
	display: inline-block;
	margin-bottom: 12px;
}
.nc-rm__pinned-h2 {
	font-family: var(--r-serif);
	font-size: clamp(22px, 2.6vw, 28px);
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.2;
	color: var(--r-ink);
	margin: 0 0 10px;
}
.nc-rm__pinned-lede { font-size: 14.5px; line-height: 1.55; color: var(--r-soft); margin: 0 0 14px; }
.nc-rm__pinned-cta {
	font-family: var(--r-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--r-crimson);
}

/* Topics pills */
.nc-rm__topics {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 28px 0 14px;
	flex-wrap: wrap;
}
.nc-rm__topics-lbl {
	font-family: var(--r-mono);
	font-size: 11px;
	letter-spacing: .12em;
	color: var(--r-muted);
}
.nc-rm__topic {
	font-family: var(--r-mono);
	font-size: 11px;
	letter-spacing: .04em;
	padding: 6px 12px;
	background: var(--r-paper);
	color: var(--r-ink);
	border: 1px solid var(--r-line);
	cursor: pointer;
}
.nc-rm__topic:hover { border-color: var(--r-ink); }
.nc-rm__topic.is-active { background: var(--r-ink); color: var(--r-paper); border-color: var(--r-ink); }
.nc-rm__topic span { opacity: .65; margin-left: 4px; font-size: 10px; }

/* Feed list reuses .nc-card / .nc-card__* from post-card partial */
.nc-rm__feed-list { display: flex; flex-direction: column; gap: 14px; }
.nc-rm__empty {
	padding: 56px 28px;
	background: var(--r-paper);
	border: 1.5px dashed var(--r-ink);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.nc-rm__empty p { font-family: var(--r-serif); font-style: italic; font-size: 16px; color: var(--r-soft); margin: 0; }

.nc-rm__pagination {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid var(--r-line);
}
.nc-rm__pagination .page-numbers {
	font-family: var(--r-mono);
	font-size: 12px;
	padding: 8px 14px;
	border: 1px solid var(--r-line);
	color: var(--r-ink);
	text-decoration: none;
}
.nc-rm__pagination .page-numbers.current { background: var(--r-ink); color: var(--r-paper); border-color: var(--r-ink); }

/* Rules */
.nc-rm__rules-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 12px;
}
.nc-rm__rules-list li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	padding: 14px 18px;
	background: var(--r-paper);
	border: 1px solid var(--r-line);
	font-size: 14px;
	color: var(--r-soft);
	line-height: 1.55;
	counter-increment: nc-rm-rule;
}
.nc-rm__rules-list li::before {
	content: counter(nc-rm-rule, decimal-leading-zero);
	font-family: var(--r-mono);
	font-size: 11px;
	font-weight: 700;
	color: var(--r-crimson);
	letter-spacing: .08em;
}
.nc-rm__rules-list { counter-reset: nc-rm-rule; }

/* Related rooms */
.nc-rm__related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
}
.nc-rm__related-card {
	display: grid;
	grid-template-columns: 40px 1fr auto;
	gap: 12px;
	align-items: center;
	padding: 14px 18px;
	background: var(--r-paper);
	border: 1px solid var(--r-line);
	text-decoration: none;
	color: inherit;
	transition: transform .15s ease, box-shadow .15s ease;
}
.nc-rm__related-card:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--r-ink); text-decoration: none; }
.nc-rm__related-glyph {
	width: 40px; height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--r-bg);
	border: 1px solid var(--r-line);
	border-radius: 6px;
	font-size: 20px;
}
.nc-rm__related-name { font-family: var(--r-serif); font-size: 14px; font-weight: 600; color: var(--r-ink); }
.nc-rm__related-stat { font-family: var(--r-mono); font-size: 10.5px; color: var(--r-muted); margin-top: 2px; }
.nc-rm__related-arrow { color: var(--r-muted); font-size: 18px; }

/* Closing dark CTA — mirrors homepage .nc-le-close */
.nc-rm__close {
	background: var(--r-ink-d);
	color: #fff;
	padding: 88px 0;
	margin-top: 64px;
	text-align: center;
	position: relative;
	overflow: hidden;
}
.nc-rm__close::before {
	content: '';
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(to bottom, var(--r-crimson) 50%, var(--r-gold) 50%);
}
.nc-rm__close-eyebrow {
	font-family: var(--r-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--r-gold);
	margin: 0 0 22px;
}
.nc-rm__close-h2 {
	font-family: var(--r-serif);
	font-size: clamp(26px, 4vw, 40px);
	font-weight: 500;
	letter-spacing: -.025em;
	line-height: 1.15;
	color: #fff;
	margin: 0 auto 32px;
	max-width: 24ch;
}
.nc-rm__close-h2 em { font-style: italic; color: var(--r-gold); }
.nc-rm__close-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 32px;
	background: var(--r-crimson);
	color: #fff;
	text-decoration: none;
	font-family: var(--r-sans);
	font-size: 15px;
	font-weight: 500;
	border-radius: 3px;
	border: 1.5px solid var(--r-crimson);
	transition: background .15s, border-color .15s;
}
.nc-rm__close-btn:hover { background: #8B1226; border-color: #8B1226; color: #fff; text-decoration: none; }

/* Dark mode for room template */
[data-theme="dark"] .nc-rm {
	--r-paper: #1A1A1A;
	--r-bg:    #0F0F0F;
	--r-ink:   #F0F0F0;
	--r-ink-d: #050505;
	--r-muted: #8A8A8A;
	--r-soft:  #C5C5C5;
	--r-line:  #2E2E2E;
}
[data-theme="dark"] .nc-rm__close { background: #050505; }
[data-theme="dark"] .nc-rm__expert:hover,
[data-theme="dark"] .nc-rm__pinned-card:hover,
[data-theme="dark"] .nc-rm__related-card:hover { box-shadow: 4px 4px 0 #F0F0F0; }

/* =========================================================
 *  Pricing page — dark-mode contrast fix
 *  Outline-style "Create account" + "Get Pro" buttons used
 *  var(--hp-paper) bg and var(--hp-ink) border which both
 *  flip in dark mode, producing white-on-white. Same for
 *  the .nc-pl__compare-title heading. Surgical overrides.
 * ========================================================= */
[data-theme="dark"] .nc-pl__plan {
	background: #1A1A1A;
	border-color: #2E2E2E;
}
[data-theme="dark"] .nc-pl__plan h2,
[data-theme="dark"] .nc-pl__price,
[data-theme="dark"] .nc-pl__price strong { color: #F0F0F0 !important; }
[data-theme="dark"] .nc-pl__plan p { color: #C5C5C5; }

[data-theme="dark"] .nc-pl__plan .nc-eh-btn--outline,
[data-theme="dark"] .nc-eh-btn--outline {
	background: transparent;
	color: #F0F0F0 !important;
	border-color: #F0F0F0 !important;
}
[data-theme="dark"] .nc-pl__plan .nc-eh-btn--outline:hover,
[data-theme="dark"] .nc-eh-btn--outline:hover {
	background: #F0F0F0;
	color: #0F0F0F !important;
}

[data-theme="dark"] .nc-pl__compare-title,
[data-theme="dark"] .nc-pl__money-h2,
[data-theme="dark"] .nc-pl__faq h2 { color: #F0F0F0 !important; }
[data-theme="dark"] .nc-pl__table { color: #F0F0F0; }
[data-theme="dark"] .nc-pl__table th,
[data-theme="dark"] .nc-pl__table td { border-color: #2E2E2E; color: #C5C5C5; }
[data-theme="dark"] .nc-pl__table thead th { color: #8A8A8A; }
[data-theme="dark"] .nc-pl__table th.is-feat,
[data-theme="dark"] .nc-pl__table td.is-feat { color: #E03A56; }
[data-theme="dark"] .nc-pl__money-splits li { color: #C5C5C5; }
[data-theme="dark"] .nc-pl__money-splits li strong { color: #F0F0F0; }
[data-theme="dark"] .nc-pl details summary { color: #F0F0F0; }
[data-theme="dark"] .nc-pl details p { color: #C5C5C5; }

/* =========================================================
 *  v1.5.2 — Submit "wall after value" flow
 *  Guest banner above the form + locked image-upload placeholder
 *  + small note next to the "Sign in to post" button.
 * ========================================================= */
.nc-submit-guest {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 18px 22px;
	background: rgba(201, 168, 76, .10); /* parchment gold tint */
	border: 1px solid rgba(201, 168, 76, .35);
	border-left: 4px solid var(--hp-accent, #C9A84C);
	margin: 0 0 24px;
}
.nc-submit-guest svg {
	color: var(--hp-accent, #8B6B2E);
	flex: 0 0 auto;
	margin-top: 2px;
}
.nc-submit-guest strong {
	display: block;
	font-family: var(--hp-serif, Fraunces, Georgia, serif);
	font-size: 16px;
	font-weight: 600;
	color: var(--hp-ink, #1A1A1A);
	margin-bottom: 4px;
}
.nc-submit-guest p {
	font-size: 14px;
	line-height: 1.55;
	color: var(--hp-ink-soft, #3D3D3D);
	margin: 0;
}
.nc-submit-guest a {
	color: var(--hp-primary, #C41E3A);
	font-weight: 600;
	text-decoration: underline;
}
.nc-submit-guest a:hover { color: var(--hp-primary-dark, #8B1226); }

/* Locked image-upload placeholder (guest only) */
.nc-field--locked .nc-image-locked {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 18px 22px;
	background: var(--hp-bg-warm, #F4F0E8);
	border: 1px dashed var(--hp-line, #E6E1D8);
	color: var(--hp-muted, #6A6A6A);
	font-size: 13.5px;
	line-height: 1.5;
}
.nc-field--locked .nc-image-locked svg { flex: 0 0 auto; opacity: .7; }

/* Small note next to the Sign-in-to-post button */
.nc-form__actions-note {
	font-family: var(--hp-mono, ui-monospace, monospace);
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--hp-muted, #6A6A6A);
	margin-left: 12px;
	align-self: center;
}
@media (max-width: 480px) {
	.nc-form__actions-note { display: block; margin-left: 0; margin-top: 8px; }
}

/* Dark mode */
[data-theme="dark"] .nc-submit-guest {
	background: rgba(201, 168, 76, .14);
	border-color: rgba(201, 168, 76, .35);
	border-left-color: #C9A84C;
}
[data-theme="dark"] .nc-submit-guest strong { color: #F0F0F0; }
[data-theme="dark"] .nc-submit-guest p { color: #C5C5C5; }
[data-theme="dark"] .nc-submit-guest a { color: #E03A56; }
[data-theme="dark"] .nc-field--locked .nc-image-locked {
	background: #1A1A1A;
	border-color: #2E2E2E;
	color: #8A8A8A;
}

/* =========================================================
 *  v1.5.2 — "Draft waiting" nudge (floating bottom-left bar)
 *  Shown on any page (except /submit/ + auth) when localStorage
 *  holds a draft and the user is signed in. Session-dismissible.
 * ========================================================= */
.nc-draft-nudge {
	position: fixed;
	left: 16px; bottom: 16px;
	z-index: 9000;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: calc(100vw - 32px);
	padding: 12px 14px 12px 16px;
	background: var(--hp-paper, #FFFFFF);
	color: var(--hp-ink, #1A1A1A);
	border: 1.5px solid var(--hp-ink, #1A1A1A);
	border-left: 4px solid var(--hp-primary, #C41E3A);
	box-shadow: 5px 5px 0 var(--hp-ink, #1A1A1A);
	font-family: var(--hp-sans, 'Lexend', system-ui, sans-serif);
	font-size: 13.5px;
	transform: translateY(120%);
	opacity: 0;
	transition: transform .28s cubic-bezier(.2, .8, .2, 1), opacity .2s ease;
}
.nc-draft-nudge.is-shown { transform: translateY(0); opacity: 1; }
.nc-draft-nudge__icon {
	font-family: var(--hp-serif, Fraunces, Georgia, serif);
	font-style: italic;
	font-size: 22px;
	color: var(--hp-primary, #C41E3A);
	line-height: 1;
	flex: 0 0 auto;
}
.nc-draft-nudge__copy {
	flex: 1 1 auto;
	min-width: 0;
}
.nc-draft-nudge__copy strong {
	font-weight: 600;
	color: var(--hp-ink, #1A1A1A);
}
.nc-draft-nudge__title {
	color: var(--hp-muted, #6A6A6A);
	font-style: italic;
	display: inline-block;
	max-width: 280px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: bottom;
}
.nc-draft-nudge__cta {
	font-family: var(--hp-mono, ui-monospace, monospace);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hp-paper, #FFFFFF);
	background: var(--hp-primary, #C41E3A);
	padding: 8px 14px;
	border: 1.5px solid var(--hp-primary, #C41E3A);
	text-decoration: none;
	white-space: nowrap;
	flex: 0 0 auto;
}
.nc-draft-nudge__cta:hover {
	background: var(--hp-primary-dark, #8B1226);
	border-color: var(--hp-primary-dark, #8B1226);
	color: #fff;
	text-decoration: none;
}
.nc-draft-nudge__close {
	border: 0;
	background: transparent;
	color: var(--hp-muted, #6A6A6A);
	font-size: 22px;
	line-height: 1;
	padding: 4px 8px;
	cursor: pointer;
	flex: 0 0 auto;
}
.nc-draft-nudge__close:hover { color: var(--hp-ink, #1A1A1A); }

@media (max-width: 480px) {
	.nc-draft-nudge { left: 8px; right: 8px; bottom: 76px; /* clear the mobile bottom nav */ }
	.nc-draft-nudge__title { display: none; }
}

/* Dark mode */
[data-theme="dark"] .nc-draft-nudge {
	background: #1A1A1A;
	color: #F0F0F0;
	border-color: #F0F0F0;
	box-shadow: 5px 5px 0 #F0F0F0;
}
[data-theme="dark"] .nc-draft-nudge strong { color: #F0F0F0; }
[data-theme="dark"] .nc-draft-nudge__title { color: #9A9A9A; }
[data-theme="dark"] .nc-draft-nudge__close { color: #9A9A9A; }
[data-theme="dark"] .nc-draft-nudge__close:hover { color: #F0F0F0; }

/* =========================================================
 *  Google sign-in — native GSI button + editorial divider
 *  The button itself comes from Google's CDN-rendered g_id_signin
 *  custom element (we can't restyle its shadow DOM). We center it
 *  in a wrapper and gate the surrounding chrome to our brand.
 * ========================================================= */
.nc-google-signin {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 6px;
	margin-bottom: 8px;
}
.nc-google-signin > .g_id_signin {
	/* Google renders inside an iframe — center it and let it fill the column. */
	display: flex;
	justify-content: center;
}
.nc-google-signin__noscript {
	font-size: 12px;
	color: var(--hp-muted, #6A6A6A);
	background: var(--hp-bg-warm, #F4F0E8);
	border: 1px dashed var(--hp-line, #E6E1D8);
	padding: 10px 14px;
	margin: 0;
	text-align: center;
}

/* Editorial-newspaper "— or —" divider used between Google + email forms. */
.nc-or {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 14px 0 18px;
}
.nc-or::before, .nc-or::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--hp-line, #E6E1D8);
}
.nc-or span {
	font-family: var(--hp-mono, ui-monospace, monospace);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hp-muted, #6A6A6A);
	white-space: nowrap;
}

/* Dark mode — Google's outline button + our divider. */
[data-theme="dark"] .nc-or::before,
[data-theme="dark"] .nc-or::after { background: #2E2E2E; }
[data-theme="dark"] .nc-or span    { color: #9A9A9A; }
[data-theme="dark"] .nc-google-signin__noscript {
	background: #1A1A1A; color: #C5C5C5; border-color: #2E2E2E;
}

/* =========================================================
 *  v1.15.9 — Feed surface refresh
 *
 *  Polishes the existing 3-column /feed/ layout toward a softer
 *  editorial reading aesthetic without rewriting markup. Five
 *  targeted changes:
 *
 *    1. Active nav fills with parchment + inset crimson accent
 *       (was solid dark ink). Lighter, more inviting.
 *    2. Communities list shows a count chip on the right and uses
 *       a slightly larger square badge with the room's brand color.
 *    3. Cards get a 3px community-color top accent bar instead of
 *       the all-around 1px border, plus a cleaner hover.
 *    4. Action footer becomes pill-shaped buttons separated by gap.
 *    5. "0 replies — be the first" hint appears under cards that
 *       have no comments yet, in monospace + crimson highlight.
 *
 *  Appended at end-of-file so it overrides earlier .nc-fd__* rules
 *  without needing to touch the original section.
 * ========================================================= */

/* — Left nav: soft parchment active state — */
.nc-fd__navitem.is-active {
	background: #FFF0F2;
	color: var(--f-ink);
	box-shadow: inset 3px 0 0 var(--f-crimson);
	font-weight: 600;
}
.nc-fd__navitem.is-active .nc-fd__navct {
	background: rgba(196, 30, 58, .14);
	color: var(--f-crimson);
}
[data-theme="dark"] .nc-fd__navitem.is-active {
	background: rgba(224, 58, 86, .12);
	color: #F0F0F0;
	box-shadow: inset 3px 0 0 #E03A56;
}

/* — Communities list — refined badge + count chip — */
.nc-fd__roomlist a {
	padding: 8px 8px;
	border-radius: 4px;
	gap: 12px;
}
.nc-fd__roomglyph {
	width: 28px;
	height: 28px;
	border-radius: 4px;
	font-family: var(--f-mono);
	font-style: normal;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}
.nc-fd__roomct {
	flex-shrink: 0;
	font-family: var(--f-mono);
	font-size: 10.5px;
	font-weight: 500;
	color: var(--f-ink-3);
	letter-spacing: .04em;
	padding-left: 4px;
}
[data-theme="dark"] .nc-fd__roomct { color: #8A8A8A; }

/* — Feed cards — 3px top accent bar, softer hover — */
.nc-fd__card {
	position: relative;
	overflow: hidden;
	transition: border-color .14s, transform .14s;
}
.nc-fd__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--cc, var(--f-crimson));
	z-index: 1;
}
.nc-fd__card:hover { border-color: var(--cc, var(--f-ink-3)); }
.nc-fd__card--big::before,
.nc-fd__card--toast::before,
.nc-fd__card--commspot::before,
.nc-fd__card--editor::before { display: none; }

/* — Action footer: pill-style buttons — */
.nc-fd__card-actions {
	gap: 8px;
	flex-wrap: wrap;
	padding-top: 14px;
	border-top: 1px solid var(--f-line-2);
	margin-top: 16px;
}
.nc-fd__react {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid var(--f-line);
	border-radius: 999px;
	font-family: var(--f-mono);
	font-size: 12px;
	font-weight: 500;
	color: var(--f-ink-2);
	background: transparent;
	letter-spacing: .02em;
	transition: background .12s, border-color .12s, color .12s;
}
.nc-fd__react:hover {
	background: var(--f-tint);
	border-color: var(--f-ink-3);
	color: var(--f-ink);
	text-decoration: none;
}
.nc-fd__react > span { font-size: 14px; opacity: .85; }
[data-theme="dark"] .nc-fd__react {
	border-color: #2E2E2E;
	color: #C5C5C5;
}
[data-theme="dark"] .nc-fd__react:hover {
	background: #1F1F1F;
	border-color: #4A4A4A;
	color: #F0F0F0;
}

/* — Empty-replies hint under a card — */
.nc-fd__card-emptyhint {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 22px;
	margin: 16px -22px -22px;
	border-top: 1px solid var(--f-line-2);
	background: #FAFAF6;
	color: var(--f-ink-3);
	text-decoration: none;
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .02em;
	transition: background .12s, color .12s;
}
.nc-fd__card-emptyhint:hover {
	background: #FFF0F2;
	color: var(--f-ink);
	text-decoration: none;
}
.nc-fd__card-emptyhint strong { color: var(--f-crimson); font-weight: 700; }
.nc-fd__card-emptyhint em { font-style: italic; color: var(--f-ink-2); }
.nc-fd__card-emptyhint svg { color: var(--f-crimson); opacity: .8; flex-shrink: 0; }
[data-theme="dark"] .nc-fd__card-emptyhint {
	background: #131313;
	color: #8A8A8A;
	border-top-color: #2E2E2E;
}
[data-theme="dark"] .nc-fd__card-emptyhint:hover {
	background: #1F1F1F;
	color: #F0F0F0;
}
[data-theme="dark"] .nc-fd__card-emptyhint strong { color: #E03A56; }
[data-theme="dark"] .nc-fd__card-emptyhint em { color: #C5C5C5; }

/* v1.17.6 — big trending card has padding:0 + overflow:hidden, so the
   default empty-hint negative margins (-22px) get clipped by the parent.
   Reset to flush layout that matches the big card's 24px actions padding. */
.nc-fd__card--big .nc-fd__card-emptyhint {
	margin: 0;
	padding: 12px 24px;
}

/* =========================================================
 *  v1.16.0 — WYSIWYG body editor (/submit/)
 *
 *  Contenteditable div replaces the textarea so users see real
 *  formatting (big heading, bold, lists) right where they type.
 *  Hidden textarea (.nc-editor__hidden) holds the markdown source
 *  that ships to the server. Styles below make the contenteditable
 *  look like a normal field while rendering rich content inside.
 * ========================================================= */
.nc-editor__hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
}
.nc-editor__rich {
	min-height: 320px;
	max-height: 70vh;
	padding: 18px 22px;
	background: var(--nc-bg);
	color: var(--nc-fg);
	font-family: var(--nc-font-body);
	font-size: 15px;
	line-height: 1.65;
	overflow-y: auto;
	overflow-wrap: break-word;
	outline: none;
	cursor: text;
	transition: background .12s;
}
.nc-editor--rich:focus-within .nc-editor__rich { background: var(--nc-bg); }
/* Placeholder — shows only when the editor is empty + unfocused. */
.nc-editor__rich:empty::before {
	content: attr(data-placeholder);
	color: var(--nc-fg-muted);
	font-style: italic;
	pointer-events: none;
}
/* Block elements inside the editor — match the live post styling. */
.nc-editor__rich h2 {
	font-family: var(--nc-font-display);
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.25;
	margin: 18px 0 8px;
	color: var(--nc-fg);
}
.nc-editor__rich h3 {
	font-family: var(--nc-font-display);
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.3;
	margin: 16px 0 6px;
	color: var(--nc-fg);
}
.nc-editor__rich p { margin: 0 0 12px; }
.nc-editor__rich strong { font-weight: 700; }
.nc-editor__rich em { font-style: italic; }
.nc-editor__rich ul,
.nc-editor__rich ol { margin: 0 0 12px; padding-left: 26px; }
.nc-editor__rich li { margin: 3px 0; }
.nc-editor__rich blockquote {
	margin: 12px 0;
	padding: 6px 0 6px 14px;
	border-left: 3px solid var(--nc-crimson);
	color: var(--nc-fg-muted);
	font-style: italic;
}
.nc-editor__rich code {
	background: var(--nc-bg-card);
	padding: 1px 6px;
	border-radius: 3px;
	font-family: var(--nc-font-mono);
	font-size: 13px;
}
.nc-editor__rich pre {
	background: var(--nc-bg-card);
	padding: 12px 14px;
	border-radius: 3px;
	overflow-x: auto;
	margin: 0 0 12px;
}
.nc-editor__rich pre code { background: none; padding: 0; }
/* When the field is invalid (form validation failed on this side) the
 * outer .nc-editor border should turn crimson — currently the rule
 * targets the textarea, so add the rich-mode equivalent. */
.nc-field.is-error .nc-editor--rich .nc-editor__rich {
	background: #FFF5F7;
}

/* =========================================================
 *  v1.16.1 — Feed vote pill + admin ad placeholder
 * ========================================================= */

/* — Vote pill on feed cards (↑ NN ↓) ────────────────── */
.nc-fd__votepill {
	display: inline-flex;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--f-line);
	border-radius: 999px;
	overflow: hidden;
	background: transparent;
	font-family: var(--f-mono);
	transition: background .12s, border-color .12s;
}
.nc-fd__votepill:hover { border-color: var(--f-ink-3); }
.nc-fd__votebtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--f-ink-2);
	cursor: pointer;
	transition: background .12s, color .12s;
}
.nc-fd__votebtn:hover { background: var(--f-tint); color: var(--f-ink); }
.nc-fd__votebtn:focus-visible {
	outline: 2px solid var(--f-crimson);
	outline-offset: -2px;
}
.nc-fd__votebtn--up.is-active   { color: var(--f-crimson); background: rgba(196, 30, 58, .08); }
.nc-fd__votebtn--down.is-active { color: var(--f-navy);    background: rgba(0, 56, 147, .08); }
.nc-fd__votect {
	min-width: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 6px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--f-ink);
	border-left: 1px solid var(--f-line);
	border-right: 1px solid var(--f-line);
	background: var(--f-tint);
}
[data-theme="dark"] .nc-fd__votepill { border-color: #2E2E2E; }
[data-theme="dark"] .nc-fd__votepill:hover { border-color: #4A4A4A; }
[data-theme="dark"] .nc-fd__votebtn { color: #C5C5C5; }
[data-theme="dark"] .nc-fd__votebtn:hover { background: #1F1F1F; color: #F0F0F0; }
[data-theme="dark"] .nc-fd__votebtn--up.is-active   { color: #E03A56; background: rgba(224, 58, 86, .14); }
[data-theme="dark"] .nc-fd__votebtn--down.is-active { color: #4A7FD1; background: rgba(74, 127, 209, .14); }
[data-theme="dark"] .nc-fd__votect { color: #F0F0F0; background: #1A1A1A; border-color: #2E2E2E; }

/* — Admin-only ad placeholder in the right rail ────── */
.nc-ad-admin-stub {
	padding: 18px 18px 16px;
	border: 1px dashed var(--f-line);
	background: #FAFAF8;
	color: var(--f-ink-2);
}
.nc-ad-admin-stub__label {
	font-family: var(--f-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--f-crimson);
	margin: 0 0 10px;
}
.nc-ad-admin-stub__body {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--f-ink);
}
.nc-ad-admin-stub__body strong { font-weight: 700; }
.nc-ad-admin-stub__body a { color: var(--f-crimson); }
.nc-ad-admin-stub__hint {
	margin: 0;
	font-family: var(--f-mono);
	font-size: 11px;
	color: var(--f-ink-3);
	letter-spacing: .02em;
}
[data-theme="dark"] .nc-ad-admin-stub {
	background: #131313;
	border-color: #2E2E2E;
	color: #C5C5C5;
}
[data-theme="dark"] .nc-ad-admin-stub__body { color: #F0F0F0; }
[data-theme="dark"] .nc-ad-admin-stub__hint { color: #8A8A8A; }

/* v1.16.6 — collapsible card body. Used by the community-rules card on
 * single-thread pages to truncate long rule lists to ~3 lines with a
 * fade-out, with a Show/Hide button toggling the .is-collapsed class.
 * NOTE — Show/Hide toggle removed in v1.16.8; rule kept harmless in case
 * any other surface starts using it. */
.nc-card__body.is-collapsed {
	max-height: 4.8em;
	overflow: hidden;
	position: relative;
	-webkit-mask-image: linear-gradient(to bottom, black 55%, transparent 100%);
	mask-image: linear-gradient(to bottom, black 55%, transparent 100%);
}

/* =========================================================
 *  v1.16.10 — Hardcoded vertical ad slot (Feed Ads - Display)
 *
 *  Desktop ≥1024px: 300×600 vertical, sticky in the right rail so it
 *  stays visible as the user scrolls the feed. AdSense's "auto" format
 *  + full-width-responsive=true will fit a vertical 300×600 unit when
 *  the container constrains the width — that's what the min-height +
 *  max-width pair does.
 *
 *  Mobile <1024px: stretches full-width (responsive auto-sizing), shows
 *  BELOW the main feed because the existing .nc-fd__shell grid stacks
 *  the right rail beneath the main column at this breakpoint.
 * ========================================================= */
.nc-ad-vertical {
	display: block;
	width: 100%;
	margin: 0 auto 20px;
}
@media (min-width: 1024px) {
	/* Desktop: 300×600 vertical. The parent .nc-fd__rail-r is already
	 * position:sticky so we don't repeat that here — would conflict with
	 * the rail's internal overflow-y scroll context. */
	.nc-ad-vertical {
		max-width: 300px;
		min-height: 600px;
	}
}
/* Ensure the <ins> never collapses to 0×0 while AdSense is bootstrapping —
 * common cause of "ad slot exists but renders nothing" reports. */
.nc-ad-vertical .adsbygoogle {
	display: block !important;
	min-height: 250px;
}
@media (min-width: 1024px) {
	.nc-ad-vertical .adsbygoogle { min-height: 600px; }
}

/* v1.16.11 — in-article variant overrides the vertical sizing. The
 * fluid native in-article ad is horizontal and full-width; capping it
 * at 300px would make AdSense refuse to serve a fluid creative. */
.nc-ad-vertical--inarticle {
	max-width: none !important;
	margin: 24px 0;
}
.nc-ad-vertical--inarticle .adsbygoogle {
	min-height: 200px !important;
}
@media (min-width: 1024px) {
	.nc-ad-vertical--inarticle .adsbygoogle {
		min-height: 200px !important;
	}
}

/* =========================================================
 *  v1.17.0 — Multi-step expert application form (.nc-be2__*)
 *
 *  Replaces the old single-page 9-field form. Each section is a
 *  step in a JS-driven wizard. Only the active step is visible.
 *  Step indicator at top doubles as a jump-to-step nav.
 *  Server contract: all 25+ field names are in nc_handle_be_apply()
 *  in inc/forms.php — license is OPTIONAL, sample_answer is required
 *  and is the 60% approval-weight signal.
 * ========================================================= */
.nc-be2 {
	max-width: 760px;
	margin: 0 auto;
	padding: 16px 0 60px;
	font-family: var(--nc-font-body);
	color: var(--nc-fg);
}
.nc-be2__steps {
	display: flex;
	gap: 4px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 0 0 18px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--nc-line);
}
.nc-be2__steps::-webkit-scrollbar { display: none; }
.nc-be2__step {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 8px 10px;
	background: transparent;
	border: 0;
	cursor: pointer;
	color: var(--nc-fg-muted);
	border-bottom: 2px solid transparent;
	transition: color .12s, border-color .12s;
}
.nc-be2__step:hover { color: var(--nc-fg); }
.nc-be2__step.is-current { color: var(--nc-crimson); border-bottom-color: var(--nc-crimson); }
.nc-be2__step.is-done { color: var(--nc-green, #1A8754); }
.nc-be2__step-n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--nc-bg-card);
	font-family: var(--nc-font-mono);
	font-size: 11px;
	font-weight: 600;
}
.nc-be2__step.is-current .nc-be2__step-n { background: var(--nc-crimson); color: #fff; }
.nc-be2__step.is-done .nc-be2__step-n { background: var(--nc-green, #1A8754); color: #fff; }
.nc-be2__step-l { font-size: 11px; font-weight: 500; white-space: nowrap; }

.nc-be2__section { display: none; }
.nc-be2__section.is-active { display: block; }
.nc-be2__sec-head { margin-bottom: 20px; }
.nc-be2__sec-head h2 {
	font-family: var(--nc-font-display);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--nc-fg);
	margin: 0 0 6px;
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}
.nc-be2__sec-head p {
	font-size: 13.5px;
	color: var(--nc-fg-muted);
	line-height: 1.55;
	margin: 0;
}
.nc-be2__weight {
	font-family: var(--nc-font-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: 99px;
	background: rgba(196, 30, 58, .1);
	color: var(--nc-crimson);
}

.nc-be2__field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 14px;
}
@media (max-width: 640px) { .nc-be2__field-row { grid-template-columns: 1fr; } }
.nc-be2__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 14px;
}
.nc-be2__lbl {
	font-size: 12.5px;
	font-weight: 600;
	color: var(--nc-fg);
	display: block;
}
.nc-be2__lbl em { color: var(--nc-crimson); font-style: normal; }
.nc-be2__hint {
	font-size: 11.5px;
	color: var(--nc-fg-muted);
	line-height: 1.5;
	font-weight: 400;
}
.nc-be2__why {
	display: block;
	margin-top: 4px;
	padding: 6px 9px;
	font-size: 11px;
	font-family: var(--nc-font-mono);
	color: #9A7428;
	background: #FDF6E8;
	border: 1px solid #e8d8a0;
	border-radius: 5px;
	line-height: 1.5;
}
.nc-be2 input[type="text"],
.nc-be2 input[type="email"],
.nc-be2 input[type="tel"],
.nc-be2 input[type="number"],
.nc-be2 input[type="url"],
.nc-be2 select,
.nc-be2 textarea {
	width: 100%;
	padding: 10px 13px;
	border: 1.5px solid var(--nc-line);
	border-radius: 8px;
	background: var(--nc-bg);
	font: inherit;
	font-size: 13.5px;
	color: var(--nc-fg);
	transition: border-color .15s, box-shadow .15s;
	appearance: none;
}
.nc-be2 textarea { resize: vertical; line-height: 1.6; min-height: 80px; }
.nc-be2 input:focus,
.nc-be2 select:focus,
.nc-be2 textarea:focus {
	outline: none;
	border-color: var(--nc-fg);
	box-shadow: 0 0 0 3px rgba(196, 30, 58, .08);
}

/* Profession picker (visual grid) */
.nc-be2__prof-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}
@media (max-width: 640px) { .nc-be2__prof-grid { grid-template-columns: 1fr 1fr; } }
.nc-be2__prof {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 14px 10px;
	background: var(--nc-bg);
	border: 1.5px solid var(--nc-line);
	border-radius: 8px;
	cursor: pointer;
	transition: border-color .12s, background .12s, transform .12s;
}
.nc-be2__prof:hover { border-color: var(--nc-fg); }
.nc-be2__prof.is-active {
	background: var(--nc-fg);
	color: var(--nc-bg);
	border-color: var(--nc-fg);
}
.nc-be2__prof-i { font-size: 22px; }
.nc-be2__prof-l { font-size: 12.5px; font-weight: 600; }
.nc-be2__prof-s { font-size: 10.5px; opacity: .7; }

/* Language pills */
.nc-be2__lang-grid { display: flex; gap: 8px; flex-wrap: wrap; }
.nc-be2__lang {
	padding: 6px 14px;
	background: var(--nc-bg);
	border: 1.5px solid var(--nc-line);
	border-radius: 99px;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--nc-fg-muted);
	cursor: pointer;
	transition: all .12s;
}
.nc-be2__lang:hover { border-color: var(--nc-fg); color: var(--nc-fg); }
.nc-be2__lang.is-active {
	background: var(--nc-fg);
	color: var(--nc-bg);
	border-color: var(--nc-fg);
}

/* Sample question box */
.nc-be2__sample-q {
	padding: 14px 16px;
	background: rgba(0, 56, 147, .04);
	border: 1.5px solid rgba(0, 56, 147, .2);
	border-radius: 8px;
	margin-bottom: 16px;
}
.nc-be2__sample-q small {
	display: block;
	font-family: var(--nc-font-mono);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nc-navy, #003893);
	margin-bottom: 6px;
}
.nc-be2__sample-q p {
	font-size: 14px;
	font-weight: 500;
	color: var(--nc-fg);
	line-height: 1.5;
	margin: 0 0 6px;
}

/* Commitment radio cards */
.nc-be2__commit-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
}
@media (max-width: 760px) { .nc-be2__commit-grid { grid-template-columns: 1fr 1fr; } }
.nc-be2__commit {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 14px;
	border: 1.5px solid var(--nc-line);
	border-radius: 8px;
	cursor: pointer;
	background: var(--nc-bg);
}
.nc-be2__commit:hover { border-color: var(--nc-fg); }
.nc-be2__commit.is-active { border-color: var(--nc-crimson); background: rgba(196, 30, 58, .04); }
.nc-be2__commit input { position: absolute; opacity: 0; }
.nc-be2__commit-l { font-size: 13px; font-weight: 600; color: var(--nc-fg); }
.nc-be2__commit-s { font-size: 11px; color: var(--nc-fg-muted); }
.nc-be2__commit-badge {
	position: absolute;
	top: -8px; right: 8px;
	font-family: var(--nc-font-mono);
	font-size: 9px;
	font-weight: 600;
	padding: 2px 7px;
	background: var(--nc-green, #1A8754);
	color: #fff;
	border-radius: 99px;
}

/* Day picker */
.nc-be2__days { display: flex; gap: 6px; flex-wrap: wrap; }
.nc-be2__day {
	flex: 1 0 70px;
	padding: 10px 6px;
	background: var(--nc-bg);
	border: 1.5px solid var(--nc-line);
	border-radius: 7px;
	font-family: var(--nc-font-mono);
	font-size: 11px;
	font-weight: 600;
	color: var(--nc-fg);
	cursor: pointer;
	transition: all .12s;
}
.nc-be2__day:hover { border-color: var(--nc-fg); }
.nc-be2__day.is-active {
	background: rgba(26, 135, 84, .1);
	border-color: var(--nc-green, #1A8754);
	color: var(--nc-green, #1A8754);
}

/* Platform-commitment checklist rows */
.nc-be2__commit-row {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 14px;
	border: 1.5px solid var(--nc-line);
	border-radius: 8px;
	cursor: pointer;
	margin-bottom: 8px;
	background: var(--nc-bg);
	transition: border-color .12s, background .12s;
}
.nc-be2__commit-row:hover { border-color: var(--nc-fg); }
.nc-be2__commit-row input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--nc-crimson); }
.nc-be2__commit-row span { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.nc-be2__commit-row strong { font-size: 13px; font-weight: 600; color: var(--nc-fg); }
.nc-be2__commit-row small { font-size: 12px; color: var(--nc-fg-muted); line-height: 1.5; }

/* Navigation row at bottom of each step */
.nc-be2__nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-top: 22px;
	margin-top: 22px;
	border-top: 1px solid var(--nc-line);
}
.nc-be2__btn {
	height: 44px;
	padding: 0 22px;
	border: 1.5px solid var(--nc-line);
	background: var(--nc-bg);
	color: var(--nc-fg);
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	border-radius: 8px;
	cursor: pointer;
	transition: all .15s;
}
.nc-be2__btn:hover { border-color: var(--nc-fg); }
.nc-be2__btn--next, .nc-be2__btn--submit {
	background: var(--nc-crimson);
	color: #fff;
	border-color: var(--nc-crimson);
}
.nc-be2__btn--next:hover, .nc-be2__btn--submit:hover {
	background: #8B1226;
	border-color: #8B1226;
}
.nc-be2__submit-note {
	margin-top: 14px;
	font-size: 12px;
	color: var(--nc-fg-muted);
	line-height: 1.55;
}
.nc-be2 .is-error {
	border-color: var(--nc-crimson) !important;
	box-shadow: 0 0 0 3px rgba(196, 30, 58, .08) !important;
}
/* v1.17.3 — visible per-step error banner. Was silent-fail-and-scroll
 * which made users think their last click was the blocker. Now spells
 * out exactly what's missing on this step. */
.nc-be2__step-error {
	display: none;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 16px;
	margin: 0 0 18px;
	background: #FDF2F0;
	border: 1.5px solid #F0C4BE;
	border-left-width: 4px;
	border-radius: 6px;
	color: #8B1226;
	font-size: 13.5px;
	line-height: 1.5;
	font-weight: 500;
}
.nc-be2__step-error svg { color: #BF2B1A; }
[data-theme="dark"] .nc-be2__step-error {
	background: #3A1A18;
	border-color: #6B2A24;
	color: #FFB8B0;
}
[data-theme="dark"] .nc-be2__step-error svg { color: #E03A56; }

/* Dark mode pairs */
[data-theme="dark"] .nc-be2__why { background: #2A2410; color: #C9A050; border-color: #4A3A12; }
[data-theme="dark"] .nc-be2__sample-q { background: rgba(74, 127, 209, .08); border-color: #2C4070; }
[data-theme="dark"] .nc-be2__sample-q small { color: #6A9BE5; }
