.ns-front-doors { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; max-width: 1000px; margin: 24px auto; padding: 16px 20px; border-top: 1px solid var(--ns-border); color: var(--ns-text); background: var(--ns-bg); font-family: var(--ns-font, Arial, sans-serif); }
.ns-front-doors a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: var(--ns-gold-light); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.ns-front-doors a:focus-visible { outline: 2px solid var(--ns-gold); outline-offset: 4px; }
.ns-front-doors span { margin-inline-start: 4px; color: var(--ns-text-2); font-size: .875em; }
@media (max-width: 575px) { .ns-front-doors { justify-content: flex-start; gap: 4px 16px; } }

/* Bridge the existing door styles to the public light/dark token scope. */
.ns-front-doors-page { --ns-bg-surface: var(--ns-surface); --ns-bg-secondary: var(--ns-bg-deep); --ns-text-primary: var(--ns-text); --ns-text-secondary: var(--ns-text-2); --ns-text-muted: var(--ns-text-2); background: var(--ns-bg); color: var(--ns-text); font-family: var(--ns-font); }
.ns-front-doors-page :is(h1, h2, h3) { color: var(--ns-text); }
.ns-front-doors-page :is(.td__card, .persona__product, .persona__ctaband) { background: var(--ns-surface); border-color: var(--ns-border); }
.ns-front-doors-page .td__card__cta { color: var(--ns-gold-light); }
