/* Line 15816: shared reading surfaces reuse ns-tokens.css, including system light/dark. */
body.ns-doors-17 {
    background: var(--ns-bg);
    color: var(--ns-text);
    font-family: var(--ns-font);
    line-height: 1.6;
}
.ns-doors-17 :is(.landing-main, .ns-content-body, .ns-content-hero, .ns-content-cta, .trust-page, .workforce-page) {
    color: var(--ns-text);
    background: var(--ns-bg);
}
.ns-doors-17 :is(.ns-content-container, .trust-page, .workforce-page) { max-width: 1120px; }
.ns-doors-17 :is(h1, h2, h3, .ns-content-card h3, .workforce-page .hero-title, .workforce-page .section-title) {
    color: var(--ns-text);
    font-weight: 600;
    letter-spacing: -.025em;
}
.ns-doors-17 :is(.ns-content-hero h1, .workforce-page .hero-title, .trust-page h1) {
    font-size: clamp(2rem, 4.5vw, 3.5rem);
    line-height: 1.15;
}
.ns-doors-17 :is(.ns-content-hero p, .ns-content-section p, .ns-content-card p, .ns-prose, .ns-prose p,
    .trust-page__intro, .trust-page__card p, .workforce-page .muted-copy, .nsc-faq-a) { color: var(--ns-text-2); }
.ns-doors-17 :is(.ns-content-card, .trust-page__card, .trust-page__next, .workforce-page .panel,
    .workforce-page .soft-card, .workforce-page .segment-card, .workforce-page .capability-card) {
    color: var(--ns-text);
    background: var(--ns-card);
    border: 1px solid var(--ns-border-strong);
    border-radius: var(--ns-radius);
    box-shadow: none;
}
.ns-doors-17 .ns-content-card:hover { transform: none; border-color: var(--ns-gold-light); }
.ns-doors-17 :is(.trust-page__eyebrow, .workforce-page .eyebrow, .ns-cu-eyebrow, .ns-cu-textlink,
    .trust-page__card a, .trust-page__next a.trust-page__mail) { color: var(--ns-gold-light); }
.ns-doors-17 :is(.ns-content-btn-primary, .trust-page__start, .ns-hire__btn--primary) {
    background: var(--ns-gold);
    color: var(--ns-on-accent);
    border: 1px solid transparent;
    border-radius: 8px;
    min-height: 44px;
    font-weight: 600;
}
.ns-doors-17 .ns-content-btn-ghost {
    background: transparent;
    color: var(--ns-text);
    border: 1px solid var(--ns-border-strong);
    border-radius: 8px;
    min-height: 44px;
}
.ns-doors-17 :is(a, button, summary):focus-visible { outline: 3px solid var(--ns-gold-light); outline-offset: 4px; }
.ns-doors-17 .ns-content-hero { padding: clamp(32px, 5vw, 64px) 0; }
.ns-doors-17 .ns-content-section { padding: 28px 0; }
.ns-doors-17 .ns-content-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.ns-doors-17 .ns-hire {
    --hire-bg: var(--ns-bg);
    --hire-panel: var(--ns-card);
    --hire-text: var(--ns-text);
    --hire-soft: var(--ns-text-2);
    --hire-line: var(--ns-border-strong);
    --hire-accent: var(--ns-gold);
    --hire-accent-ink: var(--ns-on-accent);
    color: var(--ns-text);
    font-family: var(--ns-font);
}
.ns-doors-17 .ns-hire :is(h1, h2, h3) { color: var(--ns-text); }
.ns-doors-17 :is(.ns-cu-loop-step, .ns-cu-learn-card, .ns-cu-learn, .ns-cu-onramp, .ns-cu-door, .ns-cu-live-inner) {
    background: var(--ns-card);
    border-color: var(--ns-border-strong);
    color: var(--ns-text);
    border-radius: var(--ns-radius);
}
.ns-doors-17 .workforce-page .text-white { color: var(--ns-text) !important; }
.ns-doors-17 .workforce-page .proof-list .list-group-item { color: var(--ns-text); border-color: var(--ns-border); }
.ns-doors-17 .workforce-page .icon-wrap { color: var(--ns-gold-light); background: var(--ns-surface); }
.ns-doors-17 :is(.nsc-faq-q, .nsc-faq-q span, .nsc-faq-a) { color: var(--ns-text); }
.ns-doors-17 .nsc-faq-q { min-height: 48px; }
@media (max-width: 575px) {
    .ns-doors-17 :is(.ns-content-container, .workforce-page, .trust-page) { padding-left: 16px; padding-right: 16px; }
    .ns-doors-17 .ns-content-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .ns-doors-17 :is(.ns-content-card, .trust-page__card) { padding: 20px; }
    .ns-doors-17 :is(.ns-content-card, .ns-prose, .ns-hire) { overflow-wrap: anywhere; min-width: 0; }
}
/* Older content templates carry inline ink; keep it readable in either scheme. */
.ns-doors-17 :is(.ns-content-card, .ns-content-section, .ns-content-cta) :is(h1, h2, h3) {
    color: var(--ns-text) !important;
    font-weight: 600 !important;
}
.ns-doors-17 :is(.ns-content-card, .ns-content-section, .ns-content-cta) p { color: var(--ns-text-2) !important; }
.ns-doors-17 :is(.landing-header, .landing-footer) { background: var(--ns-bg-deep) !important; color: var(--ns-text); border-color: var(--ns-border); }
.ns-doors-17 :is(.landing-brand, .landing-link-btn) { color: var(--ns-text); }
.ns-doors-17 .landing-footer :is(a, p, div) { color: var(--ns-text-2) !important; }
.ns-doors-17 .landing-footer h4 { color: var(--ns-gold-light) !important; }
.ns-doors-17 .landing-link-btn { min-height: 44px; display: inline-flex; align-items: center; }
/* These pages are token-aware, so the split shell's content can follow its light scheme too. */
.ns-doors-17 .ns-main {
    --ns-bg: inherit;
    --ns-bg-deep: inherit;
    --ns-surface: inherit;
    --ns-card: inherit;
    --ns-text: inherit;
    --ns-text-2: inherit;
    --ns-border: inherit;
    --ns-border-strong: inherit;
    --ns-gold: inherit;
    --ns-gold-light: inherit;
    --ns-on-accent: inherit;
    color-scheme: inherit;
}

.ns-doors-17 .ns-content-section strong { color: var(--ns-text); }
