/* Numerish Responsive Assurance R1 — 2026-10-08
   Additive, scoped production-candidate fixes. Avoid hiding content via overflow-x:hidden. */
:root {
  --ns-ui-focus: #ff0066;
  --ns-ui-touch: 44px;
  --ns-ui-body-min: 14px;
  --ns-ui-radius: 12px;
}
html { scroll-padding-top: 88px; }
body { min-width: 0; }
:is(main, section, article, .container, .pd-container) { min-width: 0; }
:is(img, video, canvas, svg) { max-width: 100%; }
:is(.legal-shell,.legal-shell > article,.legal-shell > aside) { min-width: 0; max-width: 100%; }
.legal-shell { grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); }
.legal-shell > article { overflow-wrap: anywhere; word-break: normal; }
.legal-shell > article :is(p, li, a, code, pre, td) { overflow-wrap: anywhere; }
.legal-shell > aside { overflow-wrap: anywhere; }
.legal-shell .legal-side :is(a,h3,small) { max-width: 100%; overflow-wrap: anywhere; }
@media(max-width: 1100px) {
  .legal-shell { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .legal-shell > aside.legal-side { position: static; }
}
@media(max-width: 600px) {
  .legal-shell { gap: 16px; }
  .legal-page .container { max-width: 100%; min-width:0; }
  .legal-shell > article { width:100%; }
  .legal-shell > article :is(h2,h3) { font-size: clamp(1.15rem, 5vw, 1.5rem); line-height:1.3; }
  .legal-shell > article :is(p,li) { font-size: max(14px, .94rem); line-height: 1.65; }
  .page-hero h1 { font-size: clamp(2rem, 8vw, 3.1rem); overflow-wrap:anywhere; }
}
/* Shared tap targets: keep topbar within one or two rows, do not force desktop text wrapping. */
.ns-topbar-search { width: 40px !important; height: 40px !important; min-width:40px; min-height:40px; }
.ns-topbar-cta a { min-height:40px; display:inline-flex; align-items:center; justify-content:center; font-size: max(12px, .75rem); line-height:1.2; white-space:nowrap; }
.ns-menu { min-width:44px; min-height:44px; }
:is(.ns-navlinks,.ns-footer,.ns-topbar) a:focus-visible,
:is(.ns-navlinks,.ns-footer,.ns-topbar) button:focus-visible,
.pdfdocs :is(a,button):focus-visible,
.legal-shell :is(a,button):focus-visible {
 outline: 3px solid var(--ns-ui-focus) !important; outline-offset: 3px;
}
@media(max-width: 390px) {
  .ns-topbar-cta a { font-size:12px; letter-spacing:0; padding-inline:10px; }
  .ns-topbar-cta { gap:5px; }
}
/* Treat horizontally scrollable product tabs as actual scroll controls instead of clipped navigation. */
:is(.pdfdocs,.rv,.wh,.ae,.product-main) :is(nav,[role="tablist"]):not(.ns-navlinks):not(.ns-footer-social):not(.ns-footer-legal) {
 scroll-padding-inline: 12px;
}
@media(max-width: 900px) {
  :is(.pdfdocs,.rv,.wh,.ae,.product-main) :is(nav,[role="tablist"]):not(.ns-navlinks):not(.ns-footer-social):not(.ns-footer-legal) {
    max-width: 100%;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
}
:is(nav,[role="tablist"]) :is(a,button):focus-visible { outline:2px solid #ff0066; outline-offset:2px; }
/* DocuSphere PDF Studio: explicit dark hero prevents near-white text on white background. */
html[data-theme="dark"] .pdfdocs .pd-hero,
html[data-theme="dark"] .pdfdocs-v2 .pd2-hero {
 background: linear-gradient(125deg,#102239 0%,#162f4c 72%,#301a35 100%) !important;
 border-color:#344b63 !important;
 color:#eef4fb !important;
}
html[data-theme="dark"] .pdfdocs .pd-hero :is(h1,h2,.pd-lede),
html[data-theme="dark"] .pdfdocs-v2 .pd2-hero :is(h1,h2,p) {
 color:#f5f9ff !important;
 text-shadow:none !important;
}
html[data-theme="dark"] .pdfdocs .pd-hero .pd-eyebrow { color:#ff75b2 !important; }
html[data-theme="dark"] .pdfdocs .pd-hero a:not(.pd-btn) { color:#d5e9ff; }
html[data-theme="dark"] .pdfdocs .pd2-hub-library { background:#0c1b2d !important; color:#f3f7fe !important; }
html[data-theme="dark"] .pdfdocs .pd2-hub-library :is(h2,h3,p) { color:#eaf1fb !important; }
html[data-theme="dark"] .pdfdocs .pd2-library-item {
 background:#14283e !important; border-color:#38516b !important; color:#edf5ff !important;
}
html[data-theme="dark"] .pdfdocs .pd2-library-item :is(h3,p,span,strong) { color:#edf5ff !important; }
html[data-theme="dark"] .pdfdocs .pd2-library-item:hover { border-color:#ff73ab !important; }
html[data-theme="dark"] .pdfdocs-v2 :is(.pd2-card,.pd2-note,.pd2-table-scroll) {
 background:#15273d !important; border-color:#39516a !important; color:#f1f6ff !important;
}
html[data-theme="dark"] .pdfdocs-v2 :is(.pd2-card,.pd2-note,.pd2-table-scroll) :is(p,h2,h3,h4,li) { color:#e7effa !important; }
html[data-theme="dark"] .pdfdocs-v2 .pd2-table-scroll tbody tr { background:#14273c !important; }
html[data-theme="dark"] .pdfdocs-v2 .pd2-table-scroll tbody :is(td,th) { background:transparent !important; color:#e7effa !important; border-color:#405670 !important; }
/* Product hero and mobile assistants: reserve space for fixed widgets without clamping content. */
@media(max-width: 600px) {
  html { scroll-padding-bottom: 100px; }
  body:has(.ns-workflow-side-cta) main { padding-bottom: 88px; }
  .ns-workflow-side-cta { bottom:calc(12px + env(safe-area-inset-bottom)) !important; left:12px !important; max-width:calc(100vw - 120px); min-height:44px; }
  .ns-support { bottom:calc(12px + env(safe-area-inset-bottom)) !important; right:12px !important; max-width:100px; }
  .ns-guide360-launch { right:0 !important; }
  :is(.ns-workflow-side-cta,.ns-support,.ns-guide360-launch) { isolation:isolate; }
  .ns-footer { margin-top:0 !important; }
}
@media(prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto !important; }
  :is(.ns-workflow-side-cta,.ns-guide360-launch,.ns-support) { transition:none !important; animation:none !important; }
}

/* R1 refinement: a three-slot compact mobile assistant dock keeps hero text unobstructed. */
@media(max-width:600px) {
 .pdfdocs .pd-hero h1 { font-size:clamp(1.9rem,7vw,2.4rem) !important; line-height:1.1 !important; overflow-wrap:normal; }
 .ns-guide360-launch {
   top:auto !important; right:auto !important; bottom:calc(12px + env(safe-area-inset-bottom)) !important;
   left:50% !important; transform:translateX(-50%) !important; width:44px !important; height:44px !important;
   min-width:44px !important; min-height:44px !important; max-height:44px !important;
   border-radius:50% !important; padding:0 !important; font-size:0 !important;
   line-height:1 !important; display:grid !important; place-items:center !important;
 }
 .ns-guide360-launch::before {content:'✦';font-size:22px;line-height:1;color:#fff;}
 .ns-workflow-side-cta {width:clamp(118px,41vw,170px) !important;max-width:calc(50vw - 32px) !important;
   min-width:0 !important;font-size:clamp(10px,2.7vw,12px) !important;white-space:normal !important;}
 .ns-support {max-width:96px !important;}
 .ns-guide360 {top:auto !important;left:12px !important;right:12px !important;
   bottom:calc(64px + env(safe-area-inset-bottom)) !important;width:auto !important;max-width:480px !important;
   max-height:min(68vh,560px) !important;}
}

/* Accessible contrast shade for text-bearing magenta controls; identity/logo keeps #FF0066. */
:root { --ns-accessible-magenta:#c60050; }
.ns-topbar-demo,
.ns-pdfstudio-download,
.ns-btn.ns-primary,
.pdfdocs .pd-btn:not(.alt),
.pm .btn.primary,
.ns-workflow-side-cta {
  background-color:var(--ns-accessible-magenta) !important;
  border-color:var(--ns-accessible-magenta) !important;
  color:#fff !important;
}
html[data-theme="light"] :is(.legal-shell,.pdfdocs,.ns-footer) a:focus-visible { outline-color:#c60050 !important; }
/* Disable footer virtual-height estimation, which can leave empty or mispainted space. */
.ns-footer { content-visibility:visible !important; contain-intrinsic-size:auto !important; height:auto !important; }
.ns-footer-grid { min-width:0; max-width:100%; }
.ns-footer-grid > * { min-width:0; }

/* Contextual accessible brand ink on light surfaces; official logo/identity remains #FF0066. */
html[data-theme="light"] { --pink: #c60050; }

/* R1 dark-mode contrast closure for the independently styled marketing workspaces. */
html[data-theme="dark"] .pdfdocs .pd-section,
html[data-theme="dark"] .pdfdocs .pd2-section {
  background:#0b1725 !important; color:#e7effa !important;
}
html[data-theme="dark"] .pdfdocs .pd-section :is(h2,h3,h4),
html[data-theme="dark"] .pdfdocs .pd2-section :is(h2,h3,h4) {color:#f4f8ff !important;}
html[data-theme="dark"] .pdfdocs .pd-section :is(p,li,small,td,th),
html[data-theme="dark"] .pdfdocs .pd2-section :is(p,li,small,td,th) {color:#cbd7e6 !important;}
html[data-theme="dark"] .pdfdocs .pd-section :is(.pd-card,.pd-step,.pd-table-wrap),
html[data-theme="dark"] .pdfdocs .pd2-section :is(.pd-card,.pd-step,.pd-table-wrap) {
  background:#13283e !important; border-color:#38536d !important;color:#e7effa !important;
}
html[data-theme="dark"] .pdfdocs .pd-section :is(.pd-num,.pd-eyebrow),
html[data-theme="dark"] .pdfdocs .pd2-section :is(.pd-num,.pd-eyebrow) {color:#ff89b8 !important;}
html[data-theme="dark"] .pdfdocs .pd-table-wrap :is(td,th) {background:transparent !important;color:#e6eff9 !important;}
html[data-theme="light"] .pdfdocs :is(.pd-num,.pd-eyebrow) {color:#c60050 !important;}
html[data-theme="dark"] .rv :is(.eyebrow,.idx,.section-head .eyebrow) {color:#ff80b3 !important;}
html[data-theme="dark"] .rv :is(.tags span,.navtags span,.persona-stats span,.boundary-list b) {color:#dde9f7 !important;}
html[data-theme="dark"] .rv :is(.mini-flow,.journey-track) {scrollbar-width:thin;}
html[data-theme="dark"] .suite-band-number {color:#ff88b8 !important;}
a[data-cms-link="index.section-01.link-001"],
a[data-cms-link="index.section-02.link-001"],
a[data-cms-link="index.section-03.link-001"],
.ns-support-launch {background-color:#c60050 !important;border-color:#c60050 !important;color:#fff !important;}
html[data-theme="dark"] main .product-catalog-tools,
html[data-theme="dark"] main .sol-control-rail {background:#14283e !important;color:#edf4fe !important;border-color:#37536b !important;}
html[data-theme="dark"] main .product-catalog-tools :is(input,select,option),
html[data-theme="dark"] main .sol-control-rail :is(input,select,option) {
  background:#0e1e30 !important;color:#eef5ff !important;border-color:#38536b !important;
}
html[data-theme="dark"] main .product-catalog-tools label,
html[data-theme="dark"] main .sol-control-rail label {color:#eef5ff !important;}
html[data-theme="dark"] main .section-head > .eyebrow {color:#ff80b3 !important;}
main :is(a,button).primary {background-color:#c60050 !important;color:#fff !important;border-color:#c60050 !important;}
html[data-theme="dark"] .pm {color:#e7effa !important;--n:#f1f6ff;--m:#c4d1e0;--l:#36506b;--s:#102338;}
html[data-theme="dark"] .pm :is(.panel,.hero-card,.profile,.empty) {background:#152a40 !important;color:#eaf2fc !important;border-color:#3e5871 !important;}
html[data-theme="dark"] .pm :is(h2,h3,.filters label,.head p,.empty,.hero-card li) {color:#e9f2fe !important;}
html[data-theme="dark"] .pm :is(input,select,textarea) {background:#0b1e32 !important;color:#eff5ff !important;border-color:#4a617a !important;}
html[data-theme="dark"] .pm :is(.hero-card .ey,.panel .ey,.split .ey) {color:#ff8ab9 !important;}
html[data-theme="light"] .pm :is(.hero-card .ey,.panel .ey,.split .ey) {color:#c60050 !important;}

/* Final explicit dark-text corrections from keyboard/contrast sampling. */
html[data-theme="dark"] .suite-product-code { color:#ff91c0 !important; }
html[data-theme="dark"] .pdfdocs .pd-callout { background:#2a2138 !important; border-color:#604866 !important; color:#f2f5fc !important; }
html[data-theme="dark"] .pdfdocs .pd-callout :is(strong,p,a) { color:#e8eefb !important; }
html[data-theme="dark"] .pdfdocs .pd2-library-item > b { color:#ff94c1 !important; }

/* R2 accessibility closure: context-specific foreground/background pairs from axe contrast checks. */
a[data-cms-link="index.section-01.link-001"],
a[data-cms-link="index.section-02.link-001"],
a[data-cms-link="index.section-03.link-001"] {
  background:#b90049 !important;background-image:none !important;border-color:#b90049 !important;color:#fff !important;
}
:is(a,button,.primary).primary:not(.ns-guide360-launch) {
  background-color:#b90049 !important;background-image:none !important;border-color:#b90049 !important;color:#fff !important;
}
html[data-theme="light"] .industry-product-card small {color:#a90043 !important;font-size:max(.75rem,12px) !important;}
html[data-theme="light"] .pdfdocs .pd-table-wrap thead th {color:#46586c !important;}
html[data-theme="dark"] .pdfdocs-v2 .pd2-note :is(strong,em,a) {color:#f0f5ff !important;}
.rv .suite-intro > .eyebrow,.rv .suite-stat > strong {color:#ffadd0 !important;}
html[data-theme="dark"] .rv .industry-stat > span,
html[data-theme="dark"] .rv .journeys > span {color:#dbe8f8 !important;}
html[data-theme="light"] .pm .head > .ey {color:#a90043 !important;}
html[data-theme="dark"] .pm .footnote,
html[data-theme="dark"] .pm .footnote > strong {color:#e9f2fe !important;background:#152a40 !important;}
html[data-theme="dark"] #nsGuide360Launch,
html[data-theme="light"] #nsGuide360Launch {background-color:#a90043 !important;color:#fff !important;border-color:#a90043 !important;}

/* R2 sampled-contrast final corrections: invert ink according to the actual surface. */
.pdfdocs #security-integrity .pd-eyebrow {color:#ff9cca !important;}
.rv .contract > strong {color:#085168 !important;}
html[data-theme="light"] .industry-product-card a:not(.primary) {color:#a90043 !important;font-size:max(.75rem,12px) !important;}

/* Revenue360 contract chips sit on light glass on small light-theme screens, dark glass elsewhere. */
.rv .contract > strong {color:#a6efff !important;}
@media(max-width:600px){html[data-theme="light"] .rv .contract > strong{color:#085168 !important;}}
