/* source: light-ui-fix.css */
/* Final light readability fix
   Purpose: keep the homepage AI explainer light and force all form fields to be light with dark text. */

html body .ai-custody-explainer{
  background:#f8fafc !important;
  color:#172033 !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  padding:56px 0 36px !important;
  border-top:1px solid #dbe4f0 !important;
  border-bottom:1px solid #dbe4f0 !important;
}

html body .ai-custody-explainer__inner{
  width:min(1040px,calc(100% - 32px)) !important;
  margin:0 auto !important;
}

html body .ai-custody-explainer__eyebrow{
  color:#2563eb !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  margin-bottom:12px !important;
}

html body .ai-custody-explainer h2,
html body #ai-custody-explainer-title{
  color:#071a2f !important;
  opacity:1 !important;
  margin:0 0 22px !important;
  font-size:clamp(28px,4vw,42px) !important;
  line-height:1.16 !important;
  letter-spacing:-.035em !important;
}

html body .ai-custody-explainer__grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
}

html body .ai-custody-explainer__card{
  background:#ffffff !important;
  color:#172033 !important;
  border:1px solid #dbe4f0 !important;
  border-radius:20px !important;
  padding:24px !important;
  box-shadow:0 14px 40px rgba(15,23,42,.08) !important;
}

html body .ai-custody-explainer__card p{
  color:#334155 !important;
  opacity:1 !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.72 !important;
}

html body input,
html body textarea,
html body select,
html body option,
html body .form-input,
html body .form-select,
html body .form-textarea,
html body .search-input,
html body .hero-search input,
html body .hero-search-wrap input,
html body .search-panel input,
html body .filter-input,
html body .filter-select,
html body .contact-card input,
html body .contact-card textarea,
html body .contact-card select,
html body form input,
html body form textarea,
html body form select{
  background:#ffffff !important;
  color:#172033 !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:none !important;
  opacity:1 !important;
}

html body input::placeholder,
html body textarea::placeholder,
html body .search-input::placeholder,
html body .filter-input::placeholder{
  color:#64748b !important;
  opacity:1 !important;
}

html body input:focus,
html body textarea:focus,
html body select:focus,
html body .search-input:focus{
  background:#ffffff !important;
  color:#0f172a !important;
  border-color:#2563eb !important;
  outline:3px solid rgba(37,99,235,.16) !important;
  outline-offset:0 !important;
}

html body label,
html body .form-label,
html body .contact-card .form-grid label,
html body form .form-grid label{
  color:#071a2f !important;
  opacity:1 !important;
}

@media (max-width:760px){
  html body .ai-custody-explainer{padding:44px 0 28px !important;}
  html body .ai-custody-explainer__grid{grid-template-columns:1fr !important;}
  html body .ai-custody-explainer__card{padding:20px !important;}
}

/* source: usability-us-market-fix.css */
/* Usability and US market readiness polish
   Purpose: improve clarity, accessibility, form readability and U.S. institutional disclaimer handling without changing the site structure. */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

html body a,
html body button,
html body .btn,
html body .nav-cta,
html body .quick-card,
html body summary { cursor: pointer; }

html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body textarea:focus-visible,
html body select:focus-visible,
html body summary:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.32) !important;
  outline-offset: 3px !important;
  border-radius: 12px !important;
}

html body .btn,
html body button,
html body [type="button"],
html body [type="submit"],
html body .nav-cta,
html body .mobile-panel a,
html body .subpage-mobile-menu-panel a,
html body .footer a,
html body .pill {
  min-height: 44px !important;
  line-height: 1.25 !important;
}

html body .hero-actions,
html body .cta-actions,
html body .provider-bottom,
html body .button-row {
  flex-wrap: wrap !important;
}

html body input,
html body textarea,
html body select,
html body option,
html body .form-input,
html body .form-select,
html body .form-textarea,
html body .search-input,
html body .hero-search input,
html body .hero-search-wrap input,
html body .search-panel input,
html body .filter-input,
html body .filter-select,
html body .contact-card input,
html body .contact-card textarea,
html body .contact-card select,
html body form input,
html body form textarea,
html body form select {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #0f172a !important;
}

html body input::placeholder,
html body textarea::placeholder,
html body .search-input::placeholder,
html body .filter-input::placeholder {
  color: #64748b !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #64748b !important;
}

html body label,
html body .form-label,
html body .contact-card .form-grid label,
html body form .form-grid label {
  color: #071a2f !important;
  opacity: 1 !important;
}

html body .contact-card,
html body .modal-card,
html body .profile-modal-card,
html body #lead-gate-modal .lead-gate-card {
  color: #0f172a !important;
}

html body .contact-card h1,
html body .contact-card h2,
html body .contact-card h3,
html body .contact-card p,
html body .modal-card h1,
html body .modal-card h2,
html body .modal-card h3,
html body .modal-card p,
html body .profile-modal-card h1,
html body .profile-modal-card h2,
html body .profile-modal-card h3,
html body .profile-modal-card p,
html body #lead-gate-modal .lead-gate-card h1,
html body #lead-gate-modal .lead-gate-card h2,
html body #lead-gate-modal .lead-gate-card h3,
html body #lead-gate-modal .lead-gate-card p {
  color: #0f172a !important;
}

html body .success,
html body .form-success,
html body .toast-success,
html body #success-toast {
  background: #ecfdf5 !important;
  border: 1px solid #86efac !important;
  color: #064e3b !important;
}

html body .ai-custody-explainer {
  background: #f8fafc !important;
  color: #172033 !important;
}

html body .ai-custody-explainer h2,
html body #ai-custody-explainer-title {
  color: #071a2f !important;
  opacity: 1 !important;
}

html body .ai-custody-explainer__card {
  background: #ffffff !important;
  color: #172033 !important;
  border: 1px solid #dbe4f0 !important;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08) !important;
}

html body .ai-custody-explainer__card p { color: #334155 !important; opacity: 1 !important; }

html body .mobile-panel,
html body .subpage-mobile-menu-panel {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #dbe4f0 !important;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.14) !important;
}

html body .mobile-panel a,
html body .subpage-mobile-menu-panel a,
html body .mobile-menu-links a {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #e2e8f0 !important;
}

html body .mobile-panel a:hover,
html body .subpage-mobile-menu-panel a:hover,
html body .mobile-menu-links a:hover {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

html body .price-amount,
html body .price-value,
html body .tier-price,
html body .tier-price-clean,
html body .amount {
  color: #071a2f !important;
  opacity: 1 !important;
}

html body .price-period,
html body .period,
html body .per-month {
  color: #475569 !important;
  opacity: 1 !important;
}

.us-notice,
.us-disclaimer-note {
  background: #f8fafc !important;
  border: 1px solid #dbe4f0 !important;
  border-left: 4px solid #c9a84c !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
  margin: 18px 0 !important;
  color: #0f172a !important;
}

.us-notice h2,
.us-notice h3,
.us-disclaimer-note h2,
.us-disclaimer-note h3 {
  color: #071a2f !important;
  margin-top: 0 !important;
}

.us-notice p,
.us-disclaimer-note p,
.us-notice li,
.us-disclaimer-note li {
  color: #334155 !important;
}

@media (max-width: 760px) {
  html body .container { max-width: 100% !important; }
  html body .hero-actions .btn,
  html body .cta-actions .btn,
  html body .button-row .btn,
  html body .provider-bottom .btn { width: 100% !important; }
  html body .mobile-panel,
  html body .subpage-mobile-menu-panel { max-height: calc(100vh - 96px) !important; overflow-y: auto !important; }
  html body h1 { overflow-wrap: anywhere !important; }
  html body table { max-width: 100% !important; }
}

/* source: lead-generation-monetization.css */
/* Lead generation conversion layer for CustodyProviders.com */
.lead-revenue-section{background:#f8fbff;border-top:1px solid #dbe8f7;border-bottom:1px solid #dbe8f7;}
.lead-economics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px;}
.lead-economics-card{background:#fff;border:1px solid #d7e4f2;border-radius:20px;padding:22px;box-shadow:0 14px 36px rgba(15,23,42,.07);}
.lead-economics-card strong{display:block;color:#071a2f;font-size:30px;line-height:1.05;letter-spacing:-.04em;margin-bottom:8px;}
.lead-economics-card span{display:block;color:#42526b;font-size:14px;line-height:1.5;font-weight:650;}
.provider-revenue-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch;margin-top:22px;}
.revenue-list{display:grid;gap:14px;margin-top:18px;}
.revenue-item{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px;border:1px solid #d7e4f2;border-radius:18px;background:#fff;}
.revenue-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8f1ff;color:#0b4fb3;font-weight:900;}
.revenue-item h3{margin:0 0 4px;color:#071a2f;font-size:18px;}
.revenue-item p{margin:0;color:#475569;line-height:1.6;}
.lead-panel{background:#071a2f;color:#fff;border-radius:24px;padding:28px;box-shadow:0 20px 50px rgba(7,26,47,.22);}
.lead-panel h3,.lead-panel h2{color:#fff;margin-top:0;}
.lead-panel p{color:#d9e7f8;}
.lead-panel .btn{background:#fff;color:#071a2f;border-color:#fff;}
.lead-panel .btn.primary{background:#66a6ff;color:#041225;border-color:#66a6ff;}
.pricing-lead-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch;}
.pricing-lead-card{background:#fff;border:1px solid #d7e4f2;border-radius:22px;padding:24px;box-shadow:0 14px 38px rgba(15,23,42,.07);display:flex;flex-direction:column;gap:12px;}
.pricing-lead-card.featured{border-color:#2563eb;box-shadow:0 18px 46px rgba(37,99,235,.16);}
.pricing-lead-card h3{margin:0;color:#071a2f;}
.pricing-lead-price{font-size:34px;line-height:1;font-weight:900;color:#071a2f;letter-spacing:-.05em;}
.pricing-lead-price small{font-size:14px;font-weight:700;color:#64748b;letter-spacing:0;}
.pricing-lead-card ul{margin:0;padding-left:18px;color:#475569;line-height:1.7;}
.revenue-badge{display:inline-flex;align-items:center;gap:8px;width:max-content;border:1px solid #bfdbfe;background:#eff6ff;color:#174ea6;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800;}
.provider-lead-cta{border:1px solid #d7e4f2;background:#fff;border-radius:22px;padding:24px;display:grid;gap:12px;box-shadow:0 14px 38px rgba(15,23,42,.06);}
.provider-lead-cta h3{margin:0;color:#071a2f;}
.provider-lead-cta p{margin:0;color:#475569;line-height:1.65;}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:980px){.lead-economics-grid,.pricing-lead-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.provider-revenue-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.lead-economics-grid,.pricing-lead-grid,.form-grid.three{grid-template-columns:1fr}.lead-panel{padding:22px}.lead-economics-card strong{font-size:26px}.pricing-lead-price{font-size:30px}}
/* CustodyProviders provider actions */
.ca-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.ca-profile-action{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.ca-verification-disclaimer{margin:24px 0 0;padding:14px 16px;border-left:3px solid #f2b84b;background:rgba(242,184,75,.08);font-size:13px;line-height:1.55}

/* source: design-fixes.css */
/*
  design-fixes.css — CustodyProviders.com
  Solves: dark background leak, hamburger on desktop, white text on light blue,
          search-to-results spacing, mobile menu color.
  Load LAST — after all other CSS files.
*/

/* ============================================================
   1. NUKE THE DARK BACKGROUND — force page to white/light
   final-audit-fixes.css sets navy background on html,body.
   We override it here with maximum specificity.
   ============================================================ */
html,
html body,
html body.cp-body {
  background: #f8fafc !important;
  color: #172033 !important;
}

body {
  background: #f8fafc !important;
  color: #172033 !important;
}

/* Ensure main content areas are never dark */
main,
.section,
.hero,
.hero-subpage {
  background: transparent !important;
  color: #172033 !important;
}

/* ============================================================
   2. HAMBURGER / MOBILE TOGGLE — hide on desktop, show on mobile
   final-audit-fixes.css and ultimate-contrast-mobile-fix.css
   conflict on display values.
   ============================================================ */
.mobile-toggle,
.mobile-menu-toggle,
#subpage-mobile-menu-toggle,
.hamburger {
  display: none !important;
}

@media (max-width: 1100px) {
  .mobile-toggle,
  .mobile-menu-toggle,
  #subpage-mobile-menu-toggle,
  .hamburger {
    display: flex !important;
    background: #ffffff !important;
    border: 1.5px solid #cbd5e1 !important;
    color: #071a2f !important;
    border-radius: 12px !important;
    width: 42px !important;
    height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    cursor: pointer !important;
  }
  .mobile-toggle span,
  .mobile-menu-toggle span,
  #subpage-mobile-menu-toggle span,
  .hamburger span {
    background: #071a2f !important;
    display: block !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
  }
}

/* ============================================================
   3. MOBILE MENU PANEL — white background, dark text
   final-audit-fixes.css forces navy, institutional-theme.css
   forces white. We settle this: white, always.
   ============================================================ */
.mobile-panel,
.mobile-nav,
#global-mobile-menu-panel,
.mobile-menu-panel,
.subpage-mobile-menu-panel {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 24px 60px rgba(7, 26, 47, 0.14) !important;
  color: #172033 !important;
}

.mobile-panel a,
.mobile-nav a,
#global-mobile-menu-panel a,
.mobile-menu-panel a,
.subpage-mobile-menu-panel a {
  background: #f8fafc !important;
  color: #172033 !important;
  border: 1px solid #e2e8f0 !important;
  font-weight: 700 !important;
}

.mobile-panel a:hover,
.mobile-nav a:hover,
#global-mobile-menu-panel a:hover,
.mobile-menu-panel a:hover,
.subpage-mobile-menu-panel a:hover {
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}

/* ============================================================
   4. WHITE TEXT ON LIGHT BLUE — fix contrast failures
   .eyebrow, .revenue-badge, .profile-status-badge on light
   blue backgrounds (#eff6ff, #bfdbfe) must use dark text.
   ============================================================ */
.eyebrow,
.section-eyebrow,
.hero-eyebrow,
.revenue-badge,
.provider-lead-cta .eyebrow,
[class*="eyebrow"] {
  color: #1d4ed8 !important;
  background: transparent !important;
}

/* The pill-style eyebrow badges with light blue bg */
.hero .eyebrow,
.section .eyebrow,
.eyebrow[style],
span.eyebrow {
  color: #1e40af !important;
}

/* Revenue badge (appears on pricing cards) */
.revenue-badge,
.profile-status-badge {
  background: rgba(37, 99, 235, 0.10) !important;
  border: 1px solid rgba(37, 99, 235, 0.28) !important;
  color: #1e3a8a !important;
}

/* Lead economics cards — navy bg, white text (correct) */
.lead-economics-card {
  background: #071a2f !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}
.lead-economics-card strong {
  color: #ffffff !important;
}
.lead-economics-card span {
  color: #b9c8e0 !important;
}

/* Pricing lead cards on white — dark text */
.pricing-lead-card {
  background: #ffffff !important;
  color: #172033 !important;
  border: 1px solid #e2e8f0 !important;
}
.pricing-lead-card h3,
.pricing-lead-card .pricing-lead-price {
  color: #071a2f !important;
}
.pricing-lead-card .muted,
.pricing-lead-card p.muted {
  color: #475569 !important;
}
.pricing-lead-card ul li {
  color: #334155 !important;
}
.pricing-lead-card.featured {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 2px rgba(37,99,235,.15) !important;
}

/* ============================================================
   5. SEARCH BAR → RESULTS SPACING
   Add clear margin between the filters shell and the provider
   grid below it on provider-filter.html
   ============================================================ */
.filters-shell {
  margin-bottom: 32px !important;
}

#providers .filters-shell,
#providers > .filters-shell.container {
  margin-bottom: 36px !important;
}

/* Provider filter page: gap between search and cards */
.provider-grid,
#providers .provider-grid,
.directory-grid,
#providers .directory-grid {
  margin-top: 8px !important;
}

/* Extra top margin on the section following the hero on filter page */
.hero-subpage + .section,
.hero + .section {
  padding-top: 36px !important;
}

/* ============================================================
   6. CARDS AND CONTENT — ensure white on light pages
   ============================================================ */
.card,
.content-card,
.sidebar-card,
.contact-card,
.hero-card,
.pricing-card,
.provider-card,
.notice-card,
.topic-card,
.faq-card,
.results-shell,
.cta-panel {
  background: #ffffff !important;
  color: #172033 !important;
  border-color: #e2e8f0 !important;
}

/* Headings inside cards always dark navy */
.card h2, .card h3, .card h4,
.content-card h2, .content-card h3,
.sidebar-card h3, .sidebar-card h2,
.hero-card h3, .cta-panel h2,
.provider-card h3, .provider-name {
  color: #071a2f !important;
}

/* Body text inside cards — readable grey */
.card p, .card li, .card span:not(.eyebrow):not(.badge),
.content-card p, .content-card li,
.sidebar-card p, .sidebar-card li,
.hero-card p, .hero-card span,
.cta-panel p,
.provider-card p, .provider-card .provider-sub,
.mini-metrics span, .muted, .small, .lead {
  color: #334155 !important;
  opacity: 1 !important;
}

strong, b {
  color: #071a2f !important;
}

/* ============================================================
   7. HEADER — always clean white
   ============================================================ */
.header,
.site-header {
  background: rgba(255,255,255,.97) !important;
  border-bottom: 1px solid #e2e8f0 !important;
  color: #071a2f !important;
}

.navlinks a,
.main-nav a {
  color: #334155 !important;
  background: transparent !important;
}

.navlinks a:hover,
.main-nav a:hover {
  color: #1d4ed8 !important;
  background: #eff6ff !important;
}

.nav-cta {
  background: #2563eb !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
}

/* ============================================================
   8. FOOTER — dark navy (intentional)
   ============================================================ */
.footer,
.site-footer {
  background: #071a2f !important;
  color: #ffffff !important;
}

.footer p,
.footer .footer-copy,
.footer-copy {
  color: #b9c8e0 !important;
}

.footer h4,
.footer strong {
  color: #ffffff !important;
}

.footer a,
.site-footer a {
  color: #e8f1ff !important;
}

/* ============================================================
   9. BUTTONS — consistent
   ============================================================ */
.btn-primary,
.btn.primary,
a.btn-primary,
button.btn-primary {
  background: #2563eb !important;
  color: #ffffff !important;
  border-color: #2563eb !important;
}

.btn-primary:hover,
.btn.primary:hover {
  background: #1d4ed8 !important;
}

.btn-secondary,
.btn.secondary,
a.btn-secondary,
button.btn-secondary {
  background: #ffffff !important;
  color: #071a2f !important;
  border: 1.5px solid #cbd5e1 !important;
}

.btn-secondary:hover,
.btn.secondary:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
}

/* ============================================================
   10. PROVIDER FILTER PAGE — "Lead access not activated" badge
   Should be visible but not alarming. Not red, not white-on-white.
   ============================================================ */
.provider-card [class*="lead-access"],
.provider-card .badge-pending,
.directory-card [class*="lead-access"] {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #64748b !important;
  font-size: 11px !important;
}

/* source: netlify-final-hardening.css */
/* Final Netlify deployment hardening for custodyaccounts.com */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;}
body{overflow-x:hidden;}
img,svg,video,canvas,iframe{max-width:100%;height:auto;}
table{width:100%;max-width:100%;border-collapse:collapse;}
pre,code{white-space:pre-wrap;word-break:break-word;}
a{overflow-wrap:anywhere;}
.container,.site-container,.shell,.section-inner,.content-shell,.page-shell{width:min(1180px,100% - 32px);max-width:1180px;margin-left:auto;margin-right:auto;}
.hero,.section,main,footer,header{max-width:100%;}
.grid,.resource-grid,.provider-grid,.comparison-grid,.feature-grid,.card-grid{min-width:0;}
.card,.provider-card,.contact-card,.notice-card,.results-shell,.comparison-card,.feature-card,.pricing-card{min-width:0;overflow-wrap:break-word;}
.hero h1,h1{font-size:clamp(2.15rem,5.5vw,4.65rem);line-height:1.03;letter-spacing:-0.045em;}
h2{font-size:clamp(1.55rem,3.2vw,2.55rem);line-height:1.12;letter-spacing:-0.025em;}
h3{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.25;}
.hero .lead,.lead{max-width:880px;}
.nav,.desktop-nav{min-width:0;}
.btn,button,input,select,textarea{max-width:100%;}
.provider-bottom,.cta-row,.hero-actions,.quick-actions{flex-wrap:wrap;}
#search-results{scroll-margin-top:96px;}
@media(max-width:900px){
  .grid,.resource-grid,.provider-grid,.comparison-grid,.feature-grid,.pricing-grid,.contact-grid,.path-grid,.footer-shell{grid-template-columns:1fr!important;}
  .container,.site-container,.shell,.section-inner,.content-shell,.page-shell{width:min(100% - 28px,1180px);}
  .hero{padding-top:36px;padding-bottom:28px;}
  .section{padding-top:32px;padding-bottom:32px;}
  .results-shell,.card,.provider-card,.contact-card,.notice-card,.cta-band{padding:18px;border-radius:18px;}
  .hero-search-block,.search-panel{width:100%;}
  .search-panel{grid-template-columns:1fr!important;}
  .search-panel input,.search-panel .btn{width:100%;}
}
@media(max-width:600px){
  .container,.site-container,.shell,.section-inner,.content-shell,.page-shell{width:min(100% - 24px,1180px);}
  .hero h1,h1{font-size:clamp(2rem,10.5vw,3.1rem);line-height:1.05;letter-spacing:-0.035em;}
  h2{font-size:clamp(1.4rem,7vw,2.05rem);}
  .lead,p,li{font-size:1rem;line-height:1.62;}
  .provider-top,.provider-bottom,.section-head,.cta-band{display:grid!important;grid-template-columns:1fr!important;align-items:start;}
  .provider-bottom .btn,.cta-band .btn,.hero-actions .btn{width:100%;justify-content:center;}
  .mobile-panel{max-width:calc(100vw - 32px);}
}

/* source: mobile-final-contrast-fix.css */
/* Mobile final contrast fix
   Purpose: prevent white text on white or light card backgrounds on mobile while keeping dark footer, mobile menu and primary buttons readable. */
@media (max-width: 900px){
  html, body{
    background:#f8fafc !important;
    color:#172033 !important;
    -webkit-text-fill-color:initial !important;
  }

  .hero,
  .hero-subpage,
  .section,
  main,
  .content-card,
  .sidebar-card,
  .contact-card,
  .pricing-card,
  .pricing-tier,
  .pricing-tier-clean,
  .provider-card,
  .card,
  .notice-card,
  .topic-card,
  .faq-card,
  .research-card,
  .legal-card,
  .filters-shell,
  .results-shell,
  .hero-card,
  .cta-panel,
  .mini-metrics div,
  .meta-box,
  .signal,
  .metric,
  .faq-item,
  details,
  summary,
  .lead-economics-card,
  .revenue-item,
  .pricing-lead-card,
  .provider-lead-cta{
    background:#ffffff !important;
    color:#172033 !important;
    -webkit-text-fill-color:initial !important;
    border-color:#dbe4f0 !important;
  }

  main h1, main h2, main h3, main h4, main h5, main h6,
  .hero h1, .hero h2, .hero h3,
  .content-card h1, .content-card h2, .content-card h3,
  .sidebar-card h3,
  .provider-card h3,
  .provider-name,
  .provider-logo-name,
  .mini-metrics strong,
  .meta-box strong,
  .signal strong,
  .metric strong,
  .faq-item summary,
  .section-title,
  label,
  .form-label,
  strong, b{
    color:#071a2f !important;
    -webkit-text-fill-color:#071a2f !important;
    opacity:1 !important;
  }

  main p, main li, main span, main small, main dd, main dt, main figcaption,
  .lead,
  .muted,
  .small,
  .provider-sub,
  .provider-description,
  .status-note,
  .footer-copy,
  .micro-note,
  .tier-copy,
  .plan-note,
  .tier-note,
  .price-period,
  .price-subline,
  .content-card p,
  .sidebar-card p,
  .card p,
  .provider-card p,
  .topic-card p,
  .faq-item p,
  .cta-panel p,
  .mini-metrics span,
  .meta-box span,
  .signal span,
  .metric span,
  .filter-hint,
  .count-pill{
    color:#334155 !important;
    -webkit-text-fill-color:#334155 !important;
    opacity:1 !important;
  }

  .eyebrow,
  .section-eyebrow,
  .hero-eyebrow,
  .toc-label,
  .provider-logo-label,
  main a:not(.btn):not(.pill):not(.topic-card):not(.provider-card){
    color:#1d4ed8 !important;
    -webkit-text-fill-color:#1d4ed8 !important;
  }

  .pill,
  a.pill,
  .badge,
  .badge-standard,
  .badge-featured,
  .badge-institutional{
    background:#f8fafc !important;
    color:#1e3a5f !important;
    -webkit-text-fill-color:#1e3a5f !important;
    border-color:#dbe4f0 !important;
  }

  input,
  textarea,
  select,
  option,
  .form-input,
  .form-select,
  .form-textarea,
  .search-input,
  .contact-card input,
  .contact-card textarea,
  .contact-card select,
  form input,
  form textarea,
  form select{
    background:#ffffff !important;
    color:#172033 !important;
    -webkit-text-fill-color:#172033 !important;
    border-color:#cbd5e1 !important;
    color-scheme:light !important;
  }

  input::placeholder,
  textarea::placeholder,
  .search-input::placeholder{
    color:#64748b !important;
    -webkit-text-fill-color:#64748b !important;
    opacity:1 !important;
  }

  .btn-primary,
  .btn.primary,
  a.btn-primary,
  button.btn-primary,
  .nav-cta,
  .header-actions .btn-primary,
  [type="submit"].btn-primary{
    background:#2563eb !important;
    border-color:#2563eb !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }

  .btn-primary *,
  .btn.primary *,
  .nav-cta *{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }

  .btn:not(.btn-primary):not(.primary),
  a.btn:not(.btn-primary):not(.primary),
  button.btn:not(.btn-primary):not(.primary){
    background:#ffffff !important;
    border-color:#cbd5e1 !important;
    color:#071a2f !important;
    -webkit-text-fill-color:#071a2f !important;
  }

  .header,
  .site-header,
  .nav{
    background:#ffffff !important;
    color:#071a2f !important;
    -webkit-text-fill-color:initial !important;
  }
  .brand,
  .brand span,
  .brand em,
  .logo,
  .logo span,
  .logo em{
    color:#071a2f !important;
    -webkit-text-fill-color:#071a2f !important;
  }
  .brand-mark,
  .logo-icon{
    background:#2563eb !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }
  .mobile-toggle,
  .mobile-menu-toggle,
  #subpage-mobile-menu-toggle,
  .hamburger{
    background:#ffffff !important;
    color:#071a2f !important;
    -webkit-text-fill-color:#071a2f !important;
    border-color:#cbd5e1 !important;
  }
  .mobile-toggle span,
  .mobile-menu-toggle span,
  #subpage-mobile-menu-toggle span,
  .hamburger span{
    background:#071a2f !important;
  }

  .mobile-panel,
  .mobile-nav,
  #global-mobile-menu-panel,
  .footer,
  .site-footer,
  .cta-band,
  .lead-panel{
    background:#071a2f !important;
    color:#ffffff !important;
    -webkit-text-fill-color:initial !important;
    border-color:rgba(255,255,255,.16) !important;
  }
  .mobile-panel a,
  .mobile-nav a,
  #global-mobile-menu-panel a,
  .footer a,
  .footer p,
  .footer li,
  .footer h1,
  .footer h2,
  .footer h3,
  .footer h4,
  .footer strong,
  .site-footer a,
  .site-footer p,
  .site-footer li,
  .site-footer h1,
  .site-footer h2,
  .site-footer h3,
  .site-footer h4,
  .cta-band h2,
  .cta-band p,
  .lead-panel h2,
  .lead-panel h3,
  .lead-panel p{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
  }
  .mobile-panel a,
  .mobile-nav a,
  #global-mobile-menu-panel a{
    background:#0f2748 !important;
  }
}

/* Responsive design corrections (2026-07-28)
   Keep the navigation available throughout the layout's tablet breakpoint and
   prevent common content types from forcing horizontal scrolling. */
@media (max-width:1100px){
  .navlinks,
  .main-nav,
  .desktop-nav{display:none !important;}

  .mobile-toggle,
  .mobile-menu-toggle,
  #subpage-mobile-menu-toggle,
  .hamburger{display:inline-flex !important;flex:0 0 auto;}

  #global-mobile-menu-panel{
    position:fixed !important;
    top:74px !important;
    left:16px !important;
    right:16px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    max-height:calc(100dvh - 96px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    padding:14px !important;
    border-radius:18px !important;
    z-index:99999 !important;
  }
  #global-mobile-menu-backdrop{position:fixed !important;inset:0 !important;z-index:99998 !important;}
  #global-mobile-menu-backdrop[hidden],
  #global-mobile-menu-panel[hidden]{display:none !important;}
}

@media (min-width:1101px){
  #global-mobile-menu-backdrop,
  #global-mobile-menu-panel{display:none !important;}
}

/* Content resilience across all templates. */
main,
.container,
.content-shell,
.page-shell,
.grid > *,
.resource-grid > *,
.provider-grid > *,
.comparison-grid > *,
.contact-grid > *{min-width:0;}

h1,h2,h3,h4,
.provider-name,
.brand,
.btn,
label{overflow-wrap:anywhere;}

img,svg,video,canvas,iframe{max-width:100%;height:auto;}

.table-wrap,
.comparison-table-wrap,
.responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

table{max-width:100%;}

@media (max-width:600px){
  .brand{gap:8px;min-width:0;}
  .brand-mark{width:36px;height:36px;flex:0 0 36px;}
  .brand span:last-child{font-size:clamp(12px,3.8vw,15px);}
  .hero,.hero-subpage{padding-top:32px !important;padding-bottom:26px !important;}
  .hero h1,h1{font-size:clamp(2rem,10vw,3rem) !important;line-height:1.06 !important;}
  .hero-search-block{padding:12px !important;}
  .search-panel{gap:8px !important;}
  .search-panel input,
  .search-panel .btn{min-height:50px !important;}
  .tabs{display:grid !important;grid-template-columns:1fr 1fr;width:100%;}
  .tab{width:100%;min-width:0;padding-inline:10px;}
  .modal-card,
  .lead-gate-card,
  .profile-modal-card{max-height:calc(100dvh - 24px) !important;padding:18px !important;border-radius:18px !important;}
}

/* source: brand-logo.css */
.brand .site-logo{
  display:block;
  width:clamp(190px,15vw,240px);
  height:auto;
  max-width:100%;
  object-fit:contain;
}

.brand .site-logo-link{
  display:block;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

.brand .site-logo-link:hover{
  background:transparent;
}

.header .brand{
  flex:0 1 auto;
  min-width:0;
}

.footer .brand{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:10px 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(255,255,255,.2);
}

.footer .brand .site-logo{
  width:clamp(85px,24vw,112.5px);
}

.ca-brand{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:8px 12px;
  border-radius:12px;
  background:#fff;
}

.ca-brand .site-logo{
  display:block;
  width:clamp(85px,26vw,115px);
  height:auto;
  max-width:100%;
}

.thank-you-brand,
.redirect-brand{
  display:inline-flex;
  margin-bottom:24px;
}

@media(max-width:1180px){
  .brand .site-logo{width:175px}
}
@media(max-width:900px){
  .brand .site-logo{width:165px}
}
@media(max-width:560px){
  .brand .site-logo{width:150px}
  .footer .brand .site-logo{width:100px}
  .ca-brand .site-logo{width:95px}
}
@media(max-width:380px){
  .brand .site-logo{width:138px}
}


/* V8.1 header hardening */
html body .header .navlinks .nav-cta,
html body .site-header .navlinks .nav-cta,
html body .site-header .nav-links .nav-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:10px 15px!important;
  background:#2563eb!important;
  border:1px solid #2563eb!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}


/* V8.2 larger global header logo */
html body .header .brand,
html body .site-header .brand{
  flex:0 0 auto!important;
}
html body .header .brand .site-logo,
html body .site-header .brand .site-logo{
  width:clamp(190px,15vw,240px)!important;
  height:auto!important;
}
@media(max-width:1180px){
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{width:175px!important;}
}
@media(max-width:900px){
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{width:165px!important;}
}
@media(max-width:560px){
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{width:150px!important;}
}
@media(max-width:380px){
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{width:138px!important;}
}

/* Footer logo transparency fix — 2026-08-19
   The supplied logo is already transparent. The previous white rectangle
   came from the footer .brand wrapper, not from the PNG itself. */
html body .footer .brand,
html body .site-footer .brand{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body .footer .brand .site-logo-link,
html body .site-footer .brand .site-logo-link{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* source: contrast-hardening.css */
/* CustodyProviders.com — final contrast hardening, 2026-08-17
   Loaded last. Context-aware overrides only; no layout or SEO changes. */
:root{
  --cp-text:#172033;
  --cp-heading:#071a2f;
  --cp-muted:#475569;
  --cp-link:#1d4ed8;
  --cp-dark:#071a2f;
  --cp-dark-text:#f8fbff;
  --cp-dark-muted:#d7e3f4;
  --cp-dark-link:#dbeafe;
}

/* Light surfaces: explicit readable text. */
html body :where(.card,.content-card,.sidebar-card,.contact-card,.hero-card,.pricing-card,.pricing-tier-clean,.provider-card,.notice-card,.topic-card,.faq-card,.results-shell,.cta-panel,.matcher-shell,.matcher-result,.score-policy,.score-policy-item,.rfp-builder,.lead-policy-card,.procurement-item,.revenue-item,.pricing-lead-card,.provider-lead-cta,.mini-metrics>div,.meta-box,.signal,.metric,.faq-item,details){
  color:var(--cp-text)!important;
}
html body :where(.card,.content-card,.sidebar-card,.contact-card,.hero-card,.pricing-card,.pricing-tier-clean,.provider-card,.notice-card,.topic-card,.faq-card,.results-shell,.cta-panel,.matcher-shell,.matcher-result,.score-policy,.score-policy-item,.rfp-builder,.lead-policy-card,.procurement-item,.revenue-item,.pricing-lead-card,.provider-lead-cta,.mini-metrics>div,.meta-box,.signal,.metric,.faq-item,details) :where(h1,h2,h3,h4,h5,h6,strong,b,summary){
  color:var(--cp-heading)!important;
  -webkit-text-fill-color:var(--cp-heading)!important;
  opacity:1!important;
}
html body :where(.card,.content-card,.sidebar-card,.contact-card,.hero-card,.pricing-card,.pricing-tier-clean,.provider-card,.notice-card,.topic-card,.faq-card,.results-shell,.cta-panel,.matcher-shell,.matcher-result,.score-policy,.score-policy-item,.rfp-builder,.lead-policy-card,.procurement-item,.revenue-item,.pricing-lead-card,.provider-lead-cta,.mini-metrics>div,.meta-box,.signal,.metric,.faq-item,details) :where(p,li,span,small,dd,dt,figcaption,.muted,.small,.lead){
  color:var(--cp-muted)!important;
  -webkit-text-fill-color:var(--cp-muted)!important;
  opacity:1!important;
}
html body :where(.card,.content-card,.sidebar-card,.contact-card,.hero-card,.pricing-card,.provider-card,.topic-card,.faq-card,.cta-panel,.matcher-shell,.matcher-result,.rfp-builder) a:not(.btn):not(.pill){
  color:var(--cp-link)!important;
  -webkit-text-fill-color:var(--cp-link)!important;
}

/* Dark surfaces: these selectors intentionally outrank generic readability rules. */
html body :where(.lead-panel,.steps-section,.cta-band,.footer,.site-footer,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]){
  background-color:var(--cp-dark)!important;
  color:var(--cp-dark-text)!important;
}
html body :where(.lead-panel,.steps-section,.cta-band,.footer,.site-footer,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]) :where(h1,h2,h3,h4,h5,h6,strong,b,summary,.eyebrow,.section-eyebrow,.hero-eyebrow){
  color:var(--cp-dark-text)!important;
  -webkit-text-fill-color:var(--cp-dark-text)!important;
  opacity:1!important;
}
html body :where(.lead-panel,.steps-section,.cta-band,.footer,.site-footer,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]) :where(p,li,span,small,dd,dt,figcaption,.muted,.small,.lead,.footer-copy){
  color:var(--cp-dark-muted)!important;
  -webkit-text-fill-color:var(--cp-dark-muted)!important;
  opacity:1!important;
}
html body :where(.lead-panel,.steps-section,.cta-band,.footer,.site-footer,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]) a:not(.btn){
  color:var(--cp-dark-link)!important;
  -webkit-text-fill-color:var(--cp-dark-link)!important;
}

/* Lead panel in particular was vulnerable to global .muted/.strong rules. */
html body .lead-panel h2,
html body .lead-panel h3,
html body .lead-panel strong,
html body .lead-panel .eyebrow{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .lead-panel p,
html body .lead-panel .muted,
html body .lead-panel small,
html body .lead-panel span{color:#d7e3f4!important;-webkit-text-fill-color:#d7e3f4!important;opacity:1!important}
html body .lead-panel .btn-primary,
html body .lead-panel a.btn-primary,
html body .lead-panel button.btn-primary{background:#fff!important;border-color:#fff!important;color:#071a2f!important;-webkit-text-fill-color:#071a2f!important}

/* Dark economics cards retain dark treatment on desktop and mobile. */
html body .lead-economics-card{background:#071a2f!important;color:#fff!important}
html body .lead-economics-card strong{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .lead-economics-card span,
html body .lead-economics-card p{color:#d7e3f4!important;-webkit-text-fill-color:#d7e3f4!important}

/* Verification modal: high contrast at every breakpoint. */
#unverified-website-modal .ca-unverified-card{background:#071a2f!important;color:#fff!important}
#unverified-website-modal .ca-unverified-card h2{color:#fff!important;-webkit-text-fill-color:#fff!important}
#unverified-website-modal .ca-unverified-card p{color:#dbe7f7!important;-webkit-text-fill-color:#dbe7f7!important;opacity:1!important}
#unverified-website-modal .ca-unverified-card .ca-unverified-request{background:#2563eb!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #4f8cff!important}

/* Platform / verification pages intentionally use dark UI. */
body.ca-page{color:#f8fbff!important}
body.ca-page :where(h1,h2,h3,h4,h5,h6,strong,b,label,.ca-legend){color:#f8fbff!important;-webkit-text-fill-color:#f8fbff!important}
body.ca-page :where(p,li,span,small,dd,dt,.ca-muted,.ca-disclaimer){color:#cbd8ea!important;-webkit-text-fill-color:#cbd8ea!important;opacity:1!important}
body.ca-page a{color:#a9c7ff!important;-webkit-text-fill-color:#a9c7ff!important}
body.ca-page :where(input,textarea,select,option){background:#07162d!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
body.ca-page :where(input,textarea)::placeholder{color:#aebdd2!important;-webkit-text-fill-color:#aebdd2!important;opacity:1!important}

/* Primary actions always retain WCAG-safe white text on blue. */
html body :where(.btn-primary,.btn.primary,.nav-cta,[type="submit"].btn-primary){color:#fff!important;-webkit-text-fill-color:#fff!important}

@media(max-width:900px){
  /* Re-assert dark sections after legacy mobile rules that make every card white. */
  html body :where(.lead-panel,.steps-section,.cta-band,.footer,.site-footer,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]){background:#071a2f!important;color:#fff!important}
  html body :where(.lead-panel,.steps-section,.cta-band,.footer,.site-footer,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]) :where(h1,h2,h3,h4,h5,h6,strong,b,.eyebrow){color:#fff!important;-webkit-text-fill-color:#fff!important}
  html body :where(.lead-panel,.steps-section,.cta-band,.footer,.site-footer,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]) :where(p,li,span,small,.muted,.small,.lead){color:#d7e3f4!important;-webkit-text-fill-color:#d7e3f4!important}
}
.provider-index-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.provider-index-grid .pill{display:inline-flex;align-items:center;min-height:42px;padding:9px 12px;background:#fff!important;color:#1e3a5f!important;border:1px solid #dbe4ef!important;border-radius:999px;text-decoration:none;font-weight:700}
.provider-index-grid .pill:hover{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important}

/* source: decision-platform-upgrade.css */

/* Evidence & decision platform upgrade — 2026-08-17 */
.scope-explainer{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:24px;align-items:center;padding:26px;border:1px solid #dbe7f5;border-radius:20px;background:linear-gradient(135deg,#f8fbff,#fff);box-shadow:0 14px 32px rgba(15,23,42,.05);margin-bottom:22px}.scope-explainer h2{margin:7px 0 10px}.scope-explainer p{margin:0;color:#53627a;line-height:1.65}.scope-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scope-stats>div{padding:16px;background:#fff;border:1px solid #e4ebf4;border-radius:14px}.scope-stats strong{display:block;font-size:28px;color:#0a1628}.scope-stats span{display:block;font-size:12px;color:#66758a;margin-top:5px;line-height:1.35}.scope-notice{margin:14px 0 20px;padding:13px 15px;border:1px solid #dfe7f1;border-radius:12px;background:#f8fafc;color:#58687f;font-size:13px;line-height:1.55}.scope-notice a{font-weight:800;color:#1d4ed8;text-decoration:none}.evidence-badge{background:#eaf8f1!important;color:#0c6b4a!important;border-color:#c7ead9!important}.status-change-badge{background:#fff3e8!important;color:#9a4d08!important;border-color:#ffd7ae!important}.ecosystem-badge{background:#f3f5f8!important;color:#53627a!important;border-color:#dde3eb!important}.compare-toggle{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #dbe4f0;border-radius:10px;background:#fff;color:#334155;font-size:12px;font-weight:800;cursor:pointer}.compare-toggle{font-family:inherit}.compare-toggle::before{content:"";width:16px;height:16px;box-sizing:border-box;border:1.5px solid #8b98aa;border-radius:3px;background:#fff;display:inline-flex;align-items:center;justify-content:center}.compare-toggle.is-selected::before{content:"✓";border-color:#2563eb;background:#2563eb;color:#fff;font-size:12px;font-weight:900;line-height:1}.compare-bar{position:fixed;left:0;right:0;bottom:0;z-index:999;background:rgba(7,18,36,.97);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -10px 28px rgba(2,8,23,.18)}.compare-bar[hidden]{display:none!important}.compare-bar-inner{max-width:1180px;margin:auto;padding:13px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:#fff}.compare-bar-inner strong{display:block}.compare-bar-inner span{display:block;color:#c8d4e6;font-size:12px;margin-top:3px}.compare-bar-actions{display:flex;gap:9px}.compare-current-provider.is-selected{border-color:#2563eb!important;background:#eef5ff!important;color:#174ea6!important}.evidence-panel{border:1px solid #dbe7f5;border-radius:18px;padding:22px;background:#fbfdff}.evidence-panel-header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:18px}.evidence-panel-header p{margin:5px 0 0;color:#65758a}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.evidence-item{padding:16px;border:1px solid #e3eaf3;border-radius:14px;background:#fff}.evidence-item strong{display:block;color:#0a1628;margin-bottom:7px}.evidence-item p{margin:0;color:#53627a;line-height:1.55;font-size:14px}.evidence-sources{margin-top:16px;padding-top:15px;border-top:1px solid #e5ebf3}.evidence-sources h3{font-size:14px;margin:0 0 9px}.evidence-sources a{display:inline-flex;margin:4px 8px 4px 0;padding:7px 9px;border-radius:9px;background:#eef5ff;color:#174ea6;text-decoration:none;font-size:12px;font-weight:800}.evidence-caveat{margin-top:14px;padding:12px 14px;border-left:3px solid #d8a24f;background:#fffaf2;color:#705426;font-size:13px;line-height:1.55}.evidence-disclaimer{margin-top:12px;color:#728096;font-size:12px;line-height:1.5}.ecosystem-classification{border:1px solid #e2e7ee;border-radius:16px;padding:18px;background:#f8fafc}.ecosystem-classification h2{margin-top:0}.status-change-panel{border:1px solid #ffd7ae;border-radius:18px;padding:20px;background:#fff8f1}.status-change-panel h2{color:#8a4306;margin-top:0}.status-change-panel p{color:#6f573f}.evidence-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.evidence-card{border:1px solid #e1e8f1;border-radius:17px;padding:19px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.04)}.evidence-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.evidence-card h2{font-size:19px;margin:0}.evidence-card .meta{font-size:12px;color:#52647a;margin:5px 0 12px}.evidence-card dl{margin:0;display:grid;gap:10px}.evidence-card dt{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#68778d}.evidence-card dd{margin:2px 0 0;color:#36465c;font-size:13px;line-height:1.5}.evidence-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.coverage-chip{display:inline-flex;white-space:nowrap;padding:5px 8px;border-radius:999px;background:#eef7f3;color:#12634a;font-weight:900;font-size:11px}.coverage-chip.partial{background:#fff7ed;color:#94530e}.compare-shell{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e1e8f2;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.05)}.compare-table{width:100%;min-width:900px;border-collapse:collapse}.compare-table th,.compare-table td{padding:15px 17px;vertical-align:top;text-align:left;border-bottom:1px solid #edf1f6;line-height:1.48}.compare-table thead th{background:#f8fafc;color:#0a1628}.compare-table th:first-child{width:170px;min-width:170px;color:#53627a;font-size:12px}.compare-provider-head{min-width:230px}.compare-provider-head strong{display:block;font-size:16px}.compare-provider-head span{display:block;color:#64748b;font-size:11px;margin-top:3px}.compare-empty{text-align:center;padding:40px 20px}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.method-card{padding:20px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.method-card h3{margin:0 0 8px}.method-card p{margin:0;color:#5f6f86;line-height:1.6}.taxonomy-table{width:100%;border-collapse:collapse}.taxonomy-table th,.taxonomy-table td{padding:13px;border-bottom:1px solid #e8edf4;text-align:left;vertical-align:top}.taxonomy-table th{background:#f8fafc;color:#0a1628}.taxonomy-table td{color:#53627a}.research-links{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.research-links a{font-weight:800;text-decoration:none}.evidence-home-card{padding:24px;border:1px solid #dbe7f5;border-radius:18px;background:linear-gradient(135deg,#f7fbff,#fff)}
@media(max-width:820px){.scope-explainer,.evidence-index-grid{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr}.compare-bar-inner{align-items:flex-start;flex-direction:column}.compare-bar-actions{width:100%}.compare-bar-actions .btn{flex:1;text-align:center}.evidence-panel-header{flex-direction:column}.provider-bottom{gap:8px!important}}
@media(max-width:520px){.scope-stats{grid-template-columns:1fr}.scope-explainer{padding:19px}.compare-bar-inner{padding:11px 13px}.evidence-card{padding:16px}}

/* Compare shortlist reliability / scope polish 2026-08-18 */
.compare-toggle.is-selected{border-color:#2563eb;background:#eef5ff;color:#174ea6;box-shadow:0 0 0 1px rgba(37,99,235,.08)}
[data-compare-current].is-limit-reached:not(.is-selected){opacity:.62}
body.compare-bar-visible{padding-bottom:92px}
@media(max-width:820px){body.compare-bar-visible{padding-bottom:146px}}
@media(max-width:520px){body.compare-bar-visible{padding-bottom:162px}}

/* source: typography-scale-fix.css */
/* CustodyProviders.com V8.3 — compact institutional typography
   Loaded last to normalize oversized headings without changing document semantics. */

html body main h1,
html body .hero h1,
html body .hero-copy h1,
html body .content-card h1,
html body .ca-hero h1 {
  font-size: clamp(36px, 3.45vw, 52px) !important;
  line-height: 1.07 !important;
  letter-spacing: -0.035em !important;
}

/* Homepage may retain slightly more visual authority than subpages. */
html body #home-title,
html body .hero:not(.hero-subpage) > .container h1,
html body .hero:not(.hero-subpage) .hero-shell h1 {
  font-size: clamp(42px, 4.25vw, 64px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
}

/* Subpages, provider profiles and database/research pages. */
html body .hero-subpage h1,
html body .provider-hero h1,
html body .research-hero h1,
html body .database-hero h1 {
  font-size: clamp(34px, 3.1vw, 48px) !important;
  line-height: 1.08 !important;
}

/* Section hierarchy: compact, readable, still clearly differentiated. */
html body main h2,
html body .section-head h2,
html body .content-card h2,
html body .cta-panel h2 {
  font-size: clamp(27px, 2.35vw, 36px) !important;
  line-height: 1.13 !important;
  letter-spacing: -0.025em !important;
}

html body main h3,
html body .content-card h3,
html body .sidebar-card h3,
html body .provider-card h3,
html body .hero-card h3 {
  font-size: clamp(20px, 1.55vw, 25px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
}

html body main h4 {
  font-size: clamp(17px, 1.25vw, 21px) !important;
  line-height: 1.25 !important;
}

/* Small screens: avoid giant multi-line headings and excessive vertical scrolling. */
@media (max-width: 760px) {
  html body main h1,
  html body .hero h1,
  html body .hero-copy h1,
  html body .hero-subpage h1,
  html body .provider-hero h1,
  html body .content-card h1,
  html body .ca-hero h1 {
    font-size: clamp(30px, 8.2vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
  }

  html body #home-title,
  html body .hero:not(.hero-subpage) .hero-shell h1 {
    font-size: clamp(34px, 9vw, 44px) !important;
    line-height: 1.06 !important;
  }

  html body main h2,
  html body .section-head h2,
  html body .content-card h2,
  html body .cta-panel h2 {
    font-size: clamp(24px, 6.7vw, 30px) !important;
    line-height: 1.14 !important;
  }

  html body main h3,
  html body .content-card h3,
  html body .sidebar-card h3,
  html body .provider-card h3,
  html body .hero-card h3 {
    font-size: clamp(19px, 5.3vw, 23px) !important;
  }
}

@media (max-width: 390px) {
  html body main h1,
  html body .hero h1,
  html body .hero-copy h1,
  html body .hero-subpage h1,
  html body .provider-hero h1 {
    font-size: 29px !important;
  }

  html body #home-title {
    font-size: 33px !important;
  }
}

/* source: premium-design-v84.css */
/* CustodyProviders.com V8.4 — premium institutional visual system
   Presentation-only layer. No content, SEO semantics, data or behavior changed. */

:root{
  --v84-navy:#081a2f;
  --v84-navy-2:#102a49;
  --v84-blue:#2563eb;
  --v84-blue-dark:#1d4ed8;
  --v84-blue-soft:#eef5ff;
  --v84-bg:#f5f7fb;
  --v84-bg-soft:#f9fbfe;
  --v84-surface:#ffffff;
  --v84-text:#172338;
  --v84-muted:#5b6b80;
  --v84-soft:#8290a3;
  --v84-line:#dfe6ef;
  --v84-line-strong:#cfd8e5;
  --v84-success:#0f766e;
  --v84-radius:20px;
  --v84-radius-sm:12px;
  --v84-shadow-xs:0 1px 2px rgba(15,23,42,.035);
  --v84-shadow-sm:0 6px 20px rgba(15,23,42,.055);
  --v84-shadow:0 14px 38px rgba(15,23,42,.075);
  --v84-shadow-hover:0 20px 50px rgba(15,23,42,.105);
}

/* Base canvas */
html{background:var(--v84-bg)!important;color-scheme:light!important;}
html body{
  background:
    radial-gradient(900px 420px at 50% -160px,rgba(37,99,235,.07),transparent 68%),
    linear-gradient(180deg,#fbfcff 0%,var(--v84-bg) 42%,#f8fafc 100%)!important;
  color:var(--v84-text)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  line-height:1.62!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
html body main{padding-bottom:24px;}
html body p,
html body li,
html body dd,
html body .lead,
html body .small,
html body .muted{
  color:var(--v84-muted)!important;
}
::selection{background:#dbeafe;color:var(--v84-navy);}

/* Layout rhythm */
html body .container{
  max-width:1220px!important;
  padding-left:26px!important;
  padding-right:26px!important;
}
html body .section{padding-top:58px!important;padding-bottom:58px!important;}
html body .section-head{margin-bottom:24px!important;}
html body .section-head h2{margin-bottom:8px!important;}
html body .section-head p{max-width:72ch;}
html body main hr{border:0;border-top:1px solid var(--v84-line)!important;margin:32px 0!important;}

/* Header: wide, single-row and quieter */
html body .header,
html body .site-header{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid rgba(203,213,225,.72)!important;
  box-shadow:0 3px 18px rgba(15,23,42,.045)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
}
html body .header .container.nav,
html body .site-header .container.nav{
  max-width:1480px!important;
  min-height:80px!important;
  padding:10px 28px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
}
html body .header .brand,
html body .site-header .brand{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
}
html body .header .brand .site-logo,
html body .site-header .brand .site-logo{
  width:205px!important;
  height:auto!important;
}
html body .header .navlinks,
html body .site-header .navlinks{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:2px!important;
  width:auto!important;
  min-width:0!important;
}
html body .header .navlinks a,
html body .site-header .navlinks a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:9px 9px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#34445a!important;
  font-size:13.5px!important;
  font-weight:650!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
html body .header .navlinks a:hover,
html body .site-header .navlinks a:hover{
  background:#f1f5f9!important;
  color:var(--v84-navy)!important;
}
html body .header .navlinks .nav-cta,
html body .site-header .navlinks .nav-cta,
html body .header .navlinks a[href*="register"],
html body .site-header .navlinks a[href*="register"]{
  margin-left:5px!important;
  padding:10px 14px!important;
  background:var(--v84-blue)!important;
  border-color:var(--v84-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 5px 14px rgba(37,99,235,.18)!important;
}
html body .header .navlinks .nav-cta:hover,
html body .site-header .navlinks .nav-cta:hover,
html body .header .navlinks a[href*="register"]:hover{
  background:var(--v84-blue-dark)!important;
  border-color:var(--v84-blue-dark)!important;
  transform:translateY(-1px);
}

/* Hero rhythm and premium surfaces */
html body .hero{padding-top:50px!important;padding-bottom:40px!important;}
html body .hero.hero-subpage{padding-top:42px!important;padding-bottom:34px!important;}
html body .hero-inner{gap:28px!important;align-items:stretch!important;}
html body .hero-copy,
html body .hero-card,
html body .content-card,
html body .sidebar-card,
html body .topic-card,
html body .faq-card,
html body .legal-card,
html body .card,
html body .contact-card,
html body .pricing-card,
html body .pricing-tier-clean,
html body .filters-shell,
html body .research-card{
  background:rgba(255,255,255,.98)!important;
  color:var(--v84-text)!important;
  border:1px solid var(--v84-line)!important;
  border-radius:var(--v84-radius)!important;
  box-shadow:var(--v84-shadow-sm)!important;
}
html body .hero-copy,
html body .hero-card{
  padding:34px!important;
}
html body .hero-card{
  background:linear-gradient(155deg,#ffffff 0%,#fbfdff 100%)!important;
}
html body .hero-copy h1,
html body .hero-copy h2,
html body .hero-card h2,
html body .hero-card h3,
html body .content-card h2,
html body .content-card h3,
html body .sidebar-card h3,
html body .card h2,
html body .card h3{
  color:var(--v84-navy)!important;
}

/* Homepage: more restrained and polished, without changing content */
html body .hero-shell{
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body #home-title{
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .hero-search-block{
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid var(--v84-line)!important;
  border-radius:22px!important;
  box-shadow:var(--v84-shadow)!important;
}
html body .search-panel{
  border-color:var(--v84-line)!important;
  background:#fbfcfe!important;
}

/* Eyebrows, pills and indicators */
html body .eyebrow{
  padding:7px 12px!important;
  border-radius:999px!important;
  background:var(--v84-blue-soft)!important;
  border:1px solid #cfe0ff!important;
  color:#2454b8!important;
  font-size:11.5px!important;
  font-weight:800!important;
  letter-spacing:.065em!important;
  box-shadow:none!important;
}
html body .eyebrow .dot,
html body .dot{background:var(--v84-blue)!important;}
html body .pill,
html body .meta-pills .pill,
html body .count-pill{
  background:#f7f9fc!important;
  color:#44546a!important;
  border:1px solid var(--v84-line)!important;
  border-radius:999px!important;
  box-shadow:none!important;
}

/* Buttons */
html body .btn,
html body button.btn,
html body .open-page-btn,
html body .view-profile-btn,
html body .resource-link{
  min-height:44px!important;
  padding:10px 16px!important;
  border-radius:11px!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.2!important;
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease!important;
}
html body .btn-primary,
html body .btn.primary,
html body button.primary,
html body .open-page-btn{
  background:var(--v84-blue)!important;
  border:1px solid var(--v84-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 5px 14px rgba(37,99,235,.17)!important;
}
html body .btn-primary:hover,
html body .btn.primary:hover,
html body button.primary:hover,
html body .open-page-btn:hover{
  background:var(--v84-blue-dark)!important;
  border-color:var(--v84-blue-dark)!important;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(37,99,235,.22)!important;
}
html body .btn-secondary,
html body .btn.secondary,
html body .btn.ghost,
html body .view-profile-btn,
html body .resource-link{
  background:#fff!important;
  color:#26364c!important;
  -webkit-text-fill-color:#26364c!important;
  border:1px solid var(--v84-line-strong)!important;
  box-shadow:var(--v84-shadow-xs)!important;
}
html body .btn-secondary:hover,
html body .btn.secondary:hover,
html body .btn.ghost:hover,
html body .view-profile-btn:hover,
html body .resource-link:hover{
  background:#f7f9fc!important;
  color:var(--v84-navy)!important;
  border-color:#b9c7d8!important;
  transform:translateY(-1px);
}

/* Cards and directory */
html body .provider-grid,
html body .cards-grid,
html body .topic-grid,
html body .research-grid{gap:18px!important;}
html body .provider-card,
html body .directory-card{
  background:#fff!important;
  border:1px solid var(--v84-line)!important;
  border-radius:18px!important;
  box-shadow:var(--v84-shadow-xs)!important;
  padding:22px!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
@media (hover:hover){
  html body .provider-card:hover,
  html body .directory-card:hover,
  html body .topic-card:hover,
  html body .research-card:hover{
    transform:translateY(-2px)!important;
    border-color:#cbd8e8!important;
    box-shadow:var(--v84-shadow)!important;
  }
}
html body .provider-name{color:var(--v84-navy)!important;font-weight:800!important;}
html body .provider-sub{color:#68788d!important;}
html body .provider-bottom{margin-top:18px!important;padding-top:16px!important;border-top:1px solid #edf1f6!important;}

/* Forms and filters */
html body input,
html body select,
html body textarea,
html body .search-input,
html body .select{
  min-height:48px!important;
  border-radius:12px!important;
  border:1px solid var(--v84-line-strong)!important;
  background:#fff!important;
  color:var(--v84-text)!important;
  -webkit-text-fill-color:var(--v84-text)!important;
  box-shadow:inset 0 1px 0 rgba(15,23,42,.015)!important;
}
html body textarea{min-height:120px!important;}
html body input::placeholder,
html body textarea::placeholder{color:#8795a8!important;opacity:1!important;}
html body input:focus,
html body select:focus,
html body textarea:focus{
  outline:none!important;
  border-color:#7aa7ff!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.10)!important;
}
html body label,
html body .filter-field > span{
  color:#33445a!important;
  font-weight:700!important;
}
html body .filters-shell{
  padding:28px!important;
}
html body .filters-bar,
html body .filters-grid{gap:14px!important;}
html body .filter-reset-btn{align-self:end!important;}

/* Evidence, scope and research modules */
html body .scope-explainer,
html body .evidence-panel,
html body .smart-search-summary,
html body .cta-panel{
  background:linear-gradient(145deg,#ffffff 0%,#f9fbff 100%)!important;
  border:1px solid var(--v84-line)!important;
  border-radius:18px!important;
  box-shadow:var(--v84-shadow-sm)!important;
}
html body .scope-stats>div,
html body .mini-metrics>div,
html body .metric,
html body .signal,
html body .evidence-item{
  background:#fff!important;
  border:1px solid #e4eaf2!important;
  border-radius:14px!important;
  box-shadow:none!important;
}
html body .mini-metrics strong,
html body .scope-stats strong,
html body .metric strong,
html body .signal strong{
  color:var(--v84-navy)!important;
}

/* Tables: clearer hierarchy, less spreadsheet-like */
html body main table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  border:1px solid var(--v84-line)!important;
  border-radius:16px!important;
  box-shadow:var(--v84-shadow-xs)!important;
  overflow:hidden!important;
}
html body main thead th{
  background:#f5f8fc!important;
  color:#33445a!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.025em!important;
  text-transform:uppercase!important;
  border-bottom:1px solid var(--v84-line)!important;
}
html body main th,
html body main td{
  padding:15px 16px!important;
  border-color:#edf1f5!important;
  vertical-align:top!important;
}
html body main tbody tr:hover td{background:#fbfcff!important;}
html body main td{color:#53647a!important;}
html body main td strong,
html body main td b{color:var(--v84-navy)!important;}

/* Links */
html body main a:not(.btn):not(.view-profile-btn):not(.resource-link){
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
html body main p a,
html body main li a,
html body main td a{color:#1f5ed5!important;}
html body main p a:hover,
html body main li a:hover,
html body main td a:hover{color:#1747a6!important;}

/* Footer */
html body .footer,
html body .site-footer{
  margin-top:64px!important;
  padding-top:46px!important;
  padding-bottom:34px!important;
  background:linear-gradient(180deg,#0a1c32 0%,#07172a 100%)!important;
  border-top:0!important;
  color:#d9e3f0!important;
}
html body .footer .container,
html body .site-footer .container{max-width:1220px!important;}
html body .footer h4,
html body .site-footer h4{color:#fff!important;}
html body .footer a,
html body .site-footer a,
html body .footer p,
html body .site-footer p{color:#c2cede!important;}
html body .footer a:hover,
html body .site-footer a:hover{color:#fff!important;}
html body .footer-grid{gap:34px!important;}

/* Accessibility and interaction */
html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible{
  outline:3px solid rgba(37,99,235,.34)!important;
  outline-offset:3px!important;
}

/* Laptop / tablet: use the existing global mobile menu before nav wraps */
@media(max-width:1100px){
  html body .header .container.nav,
  html body .site-header .container.nav{
    max-width:100%!important;
    min-height:72px!important;
    padding:10px 22px!important;
  }
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{width:178px!important;}
  html body .header .navlinks,
  html body .site-header .navlinks{display:none!important;}
  html body .mobile-menu-toggle,
  html body #subpage-mobile-menu-toggle,
  html body #mobile-toggle.mobile-menu-toggle{
    display:inline-flex!important;
    background:#fff!important;
    border:1px solid var(--v84-line-strong)!important;
    box-shadow:var(--v84-shadow-xs)!important;
  }
  html body .mobile-menu-toggle span,
  html body #subpage-mobile-menu-toggle span,
  html body #mobile-toggle.mobile-menu-toggle span{background:var(--v84-navy)!important;}
}

/* Mobile */
@media(max-width:760px){
  html body .container{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  html body .section{padding-top:40px!important;padding-bottom:40px!important;}
  html body .hero,
  html body .hero.hero-subpage{padding-top:28px!important;padding-bottom:26px!important;}
  html body .hero-copy,
  html body .hero-card,
  html body .content-card,
  html body .sidebar-card,
  html body .topic-card,
  html body .faq-card,
  html body .legal-card,
  html body .card,
  html body .contact-card,
  html body .filters-shell{
    padding:21px!important;
    border-radius:17px!important;
  }
  html body .header .container.nav,
  html body .site-header .container.nav{
    min-height:68px!important;
    padding:9px 16px!important;
  }
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{width:150px!important;}
  html body .hero-actions,
  html body .cta-actions{
    gap:9px!important;
  }
  html body .hero-actions .btn,
  html body .cta-actions .btn{
    width:100%!important;
  }
  html body .provider-grid,
  html body .cards-grid,
  html body .topic-grid{gap:14px!important;}
  html body .provider-card,
  html body .directory-card{padding:19px!important;}
  html body main th,
  html body main td{padding:12px 13px!important;}
  html body .footer,
  html body .site-footer{margin-top:44px!important;padding-top:34px!important;}
}
@media(max-width:420px){
  html body .container{padding-left:14px!important;padding-right:14px!important;}
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{width:142px!important;}
  html body .hero-copy,
  html body .hero-card,
  html body .content-card,
  html body .sidebar-card,
  html body .filters-shell{padding:18px!important;}
}

/* Motion preference */
@media(prefers-reduced-motion:reduce){
  html body *,
  html body *::before,
  html body *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}

/* source: global-contrast-ui-audit-v86.css */
/* CustodyProviders.com V8.6 — global contrast & UI safety layer
   Final presentation layer. Content, SEO, data and behavior remain unchanged. */

:root{
  --v86-text:#172338;
  --v86-heading:#0b1f3a;
  --v86-muted:#52657a;
  --v86-link:#1d4ed8;
  --v86-line:#d8e2ee;
  --v86-soft:#f7f9fc;
  --v86-blue-soft:#eef5ff;
  --v86-dark:#071a2f;
  --v86-dark-muted:#d7e3f4;
}

/* ---------- Light-page safety baseline ---------- */
html body:not(.ca-page){
  color:var(--v86-text)!important;
  -webkit-text-fill-color:initial;
}
html body:not(.ca-page) main :where(h1,h2,h3,h4,h5,h6,strong,b,summary,legend){
  color:var(--v86-heading)!important;
  -webkit-text-fill-color:var(--v86-heading)!important;
  opacity:1!important;
}
html body:not(.ca-page) main :where(p,li,dd,dt,figcaption,.muted,.small,.lead,.provider-sub,.provider-description,.provider-meta,.filter-hint,.micro-note,.plan-note,.tier-note,.price-period,.price-subline){
  color:var(--v86-muted)!important;
  -webkit-text-fill-color:var(--v86-muted)!important;
  opacity:1!important;
}
html body:not(.ca-page) main a:not(.btn):not(.pill):not(.badge){
  color:var(--v86-link)!important;
  -webkit-text-fill-color:var(--v86-link)!important;
}

/* Labels were a recurring legacy-CSS collision. */
html body:not(.ca-page) main label,
html body:not(.ca-page) main label > span,
html body:not(.ca-page) main .filter-field > span,
html body:not(.ca-page) main .filter-field > label,
html body:not(.ca-page) main .filters-bar label,
html body:not(.ca-page) main .filters-bar label > span,
html body:not(.ca-page) main .filters-grid label,
html body:not(.ca-page) main .filters-grid label > span{
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
  opacity:1!important;
}

/* Light form controls: prevents dark legacy form rules leaking into light pages. */
html body:not(.ca-page) main :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#fff!important;
  color:var(--v86-text)!important;
  -webkit-text-fill-color:var(--v86-text)!important;
  border:1px solid #c7d3e2!important;
  caret-color:var(--v86-text)!important;
  opacity:1!important;
}
html body:not(.ca-page) main :where(input,textarea)::placeholder{
  color:#52647a!important;
  -webkit-text-fill-color:#52647a!important;
  opacity:1!important;
}
html body:not(.ca-page) main select option{
  background:#fff!important;
  color:var(--v86-text)!important;
  -webkit-text-fill-color:var(--v86-text)!important;
}
html body:not(.ca-page) main :where(input,select,textarea):focus{
  border-color:#6b9cf6!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12)!important;
}

/* Chrome/Edge autofill on light-page forms. */
html body:not(.ca-page) main input:-webkit-autofill,
html body:not(.ca-page) main input:-webkit-autofill:hover,
html body:not(.ca-page) main input:-webkit-autofill:focus,
html body:not(.ca-page) main textarea:-webkit-autofill,
html body:not(.ca-page) main textarea:-webkit-autofill:hover,
html body:not(.ca-page) main textarea:-webkit-autofill:focus,
html body:not(.ca-page) main select:-webkit-autofill,
html body:not(.ca-page) main select:-webkit-autofill:hover,
html body:not(.ca-page) main select:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--v86-text)!important;
  caret-color:var(--v86-text)!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
}

/* ---------- White/light surfaces ---------- */
html body:not(.ca-page) :where(
  .hero-copy,.hero-card,.content-card,.sidebar-card,.contact-card,.provider-card,.directory-card,
  .topic-card,.faq-card,.legal-card,.research-card,.notice-card,.filters-shell,.results-shell,
  .matcher-shell,.matcher-result,.scope-explainer,.evidence-panel,.smart-search-summary,.cta-panel,
  .matrix-toolbar,.matrix-shell,.entity-table-shell,.entity-toolbar,.status-change-panel,
  .mini-metrics>div,.meta-box,.metric,.signal,.evidence-item,.pricing-card,.pricing-tier-clean
){
  color:var(--v86-text)!important;
}
html body:not(.ca-page) :where(
  .hero-copy,.hero-card,.content-card,.sidebar-card,.contact-card,.provider-card,.directory-card,
  .topic-card,.faq-card,.legal-card,.research-card,.notice-card,.filters-shell,.results-shell,
  .matcher-shell,.matcher-result,.scope-explainer,.evidence-panel,.smart-search-summary,.cta-panel,
  .matrix-toolbar,.matrix-shell,.entity-table-shell,.entity-toolbar,.status-change-panel,
  .mini-metrics>div,.meta-box,.metric,.signal,.evidence-item,.pricing-card,.pricing-tier-clean
) :where(h1,h2,h3,h4,strong,b,summary){
  color:var(--v86-heading)!important;
  -webkit-text-fill-color:var(--v86-heading)!important;
}
html body:not(.ca-page) :where(
  .hero-copy,.hero-card,.content-card,.sidebar-card,.contact-card,.provider-card,.directory-card,
  .topic-card,.faq-card,.legal-card,.research-card,.notice-card,.filters-shell,.results-shell,
  .matcher-shell,.matcher-result,.scope-explainer,.evidence-panel,.smart-search-summary,.cta-panel,
  .matrix-toolbar,.matrix-shell,.entity-table-shell,.entity-toolbar,.status-change-panel,
  .mini-metrics>div,.meta-box,.metric,.signal,.evidence-item,.pricing-card,.pricing-tier-clean
) :where(p,li,small,dd,dt,.muted,.lead){
  color:var(--v86-muted)!important;
  -webkit-text-fill-color:var(--v86-muted)!important;
}

/* ---------- Buttons ---------- */
html body :where(.btn-primary,.btn.primary,button.primary,.open-page-btn,[type="submit"].btn-primary){
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body:not(.ca-page) :where(.btn-secondary,.btn.secondary,.btn.ghost,.view-profile-btn,.resource-link,#matrix-reset){
  background:#fff!important;
  border-color:#c7d3e2!important;
  color:#26364c!important;
  -webkit-text-fill-color:#26364c!important;
}
html body:not(.ca-page) :where(.btn-secondary,.btn.secondary,.btn.ghost,.view-profile-btn,.resource-link,#matrix-reset):hover{
  background:#f3f6fa!important;
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
}

/* ---------- Pills and badges on light surfaces ---------- */
html body:not(.ca-page) main :where(.pill,.badge,.badge-standard,.badge-institutional){
  background:#f7f9fc!important;
  color:#334e68!important;
  -webkit-text-fill-color:#334e68!important;
  border-color:#d8e2ee!important;
  opacity:1!important;
}
html body:not(.ca-page) main .badge-featured{
  background:#eef5ff!important;
  color:#2454b8!important;
  -webkit-text-fill-color:#2454b8!important;
  border-color:#cfe0ff!important;
}
html body:not(.ca-page) main .badge-pending{
  background:#fffbeb!important;
  color:#92400e!important;
  -webkit-text-fill-color:#92400e!important;
  border-color:#fde68a!important;
}
html body:not(.ca-page) main .badge-verified,
html body:not(.ca-page) main .qualified-badge,
html body:not(.ca-page) main .evidence-badge{
  background:#ecfdf5!important;
  color:#0f6b4d!important;
  -webkit-text-fill-color:#0f6b4d!important;
  border-color:#c6eadb!important;
}
html body:not(.ca-page) main .ecosystem-badge{
  background:#f3f5f8!important;
  color:#435269!important;
  -webkit-text-fill-color:#435269!important;
  border-color:#dce3ec!important;
}
html body:not(.ca-page) main .status-change-badge{
  background:#fff7ed!important;
  color:#8a4b08!important;
  -webkit-text-fill-color:#8a4b08!important;
  border-color:#fed7aa!important;
}

/* ---------- Regulatory Matrix: explicit fix for the screenshot issue ---------- */
html body .matrix-toolbar{
  background:#f8fafc!important;
  border-color:#d9e3ef!important;
}
html body .matrix-toolbar label,
html body .matrix-toolbar label > span{
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
  opacity:1!important;
}
html body .matrix-toolbar input,
html body .matrix-toolbar select{
  background:#fff!important;
  color:#172338!important;
  -webkit-text-fill-color:#172338!important;
  border-color:#c7d3e2!important;
}
html body .matrix-quickbar > span{
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
  opacity:1!important;
}
html body .matrix-quick{
  background:#fff!important;
  color:#29415f!important;
  -webkit-text-fill-color:#29415f!important;
  border-color:#d2deeb!important;
}
html body .matrix-quick:hover,
html body .matrix-quick.is-active{
  background:#eaf2ff!important;
  color:#174ea6!important;
  -webkit-text-fill-color:#174ea6!important;
  border-color:#9bb9e8!important;
}
html body .matrix-resultline,
html body .matrix-resultline > span{
  color:#52657a!important;
  -webkit-text-fill-color:#52657a!important;
}
html body .matrix-resultline strong{
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
}
html body .regime-pill{
  background:#eef5ff!important;
  color:#2454b8!important;
  -webkit-text-fill-color:#2454b8!important;
  border-color:#cfe0ff!important;
}
html body .matrix-status.regulator-backed{
  background:#ecfdf5!important;color:#0f6b4d!important;-webkit-text-fill-color:#0f6b4d!important;
}
html body .matrix-status.conditional{
  background:#fff7ed!important;color:#8a4b08!important;-webkit-text-fill-color:#8a4b08!important;
}
html body .matrix-status.scope-verification,
html body .matrix-status.entity-specific{
  background:#fef2f2!important;color:#9b2c2c!important;-webkit-text-fill-color:#9b2c2c!important;
}
html body .matrix-status.bank-csd-framework{
  background:#f0f9ff!important;color:#075985!important;-webkit-text-fill-color:#075985!important;
}
html body .matrix-status.provider-regulatory-framework{
  background:#f5f3ff!important;color:#5b21b6!important;-webkit-text-fill-color:#5b21b6!important;
}
html body .matrix-sub{
  color:#617188!important;
  -webkit-text-fill-color:#617188!important;
}
html body .regulatory-table td,
html body .regulatory-table td p{
  color:#52657a!important;
  -webkit-text-fill-color:#52657a!important;
}
html body .regulatory-table td strong,
html body .regulatory-table td b{
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
}
html body .matrix-source{
  color:#1d4ed8!important;
  -webkit-text-fill-color:#1d4ed8!important;
}

/* ---------- Regulatory Entity DB ---------- */
html body .entity-toolbar label,
html body .entity-toolbar label span{
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
  opacity:1!important;
}
html body .entity-toolbar input,
html body .entity-toolbar select{
  background:#fff!important;
  color:#172338!important;
  -webkit-text-fill-color:#172338!important;
  border-color:#c7d3e2!important;
}
html body .entity-status.active{
  background:#e9f9f1!important;color:#116149!important;-webkit-text-fill-color:#116149!important;
}
html body .entity-status.conditional{
  background:#fff5e8!important;color:#8a4b08!important;-webkit-text-fill-color:#8a4b08!important;
}
html body .entity-status.unresolved{
  background:#fff1f2!important;color:#9f1239!important;-webkit-text-fill-color:#9f1239!important;
}
html body .entity-sub{
  color:#617188!important;
  -webkit-text-fill-color:#617188!important;
}
html body .entity-table td{
  color:#44536a!important;
  -webkit-text-fill-color:#44536a!important;
}
html body .entity-table td strong{
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
}

/* ---------- Evidence / provider filters ---------- */
html body .filters-shell label,
html body .filters-shell label > span,
html body .filters-shell .filter-field,
html body .filters-shell .filter-field > span,
html body .filters-bar label,
html body .filters-bar label > span{
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
  opacity:1!important;
}
html body .filters-shell :where(input,select,textarea),
html body .filters-bar :where(input,select,textarea){
  background:#fff!important;
  color:#172338!important;
  -webkit-text-fill-color:#172338!important;
  border-color:#c7d3e2!important;
}
html body .filter-reset-btn{
  background:#fff!important;
  color:#26364c!important;
  -webkit-text-fill-color:#26364c!important;
  border-color:#c7d3e2!important;
}

/* ---------- Tables site-wide ---------- */
html body:not(.ca-page) main table{
  background:#fff!important;
}
html body:not(.ca-page) main thead th{
  background:#f5f8fc!important;
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
}
html body:not(.ca-page) main tbody td{
  color:#52657a!important;
  -webkit-text-fill-color:#52657a!important;
}
html body:not(.ca-page) main tbody td :where(strong,b){
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
}

/* ---------- Dark intentional surfaces: reassert after light baseline ---------- */
html body :where(.lead-panel,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"],.lead-economics-card){
  background-color:var(--v86-dark)!important;
  color:#f8fbff!important;
}
html body :where(.lead-panel,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"],.lead-economics-card)
  :where(h1,h2,h3,h4,h5,h6,strong,b,summary,label,legend){
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}
html body :where(.lead-panel,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"],.lead-economics-card)
  :where(p,li,span,small,dd,dt,.muted,.lead){
  color:var(--v86-dark-muted)!important;
  -webkit-text-fill-color:var(--v86-dark-muted)!important;
  opacity:1!important;
}
html body :where(.footer,.site-footer){
  color:#d9e3f0!important;
}
html body :where(.footer,.site-footer) :where(p,li,span,small,a){
  color:#cbd8e6!important;
  -webkit-text-fill-color:#cbd8e6!important;
}
html body :where(.footer,.site-footer) :where(h2,h3,h4,strong,b){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* ---------- Platform / verification pages ---------- */
/* Keep dark shell, but all form controls deliberately light and readable. */
body.ca-page{
  color:#f8fbff!important;
}
body.ca-page :where(h1,h2,h3,h4,h5,h6,strong,b,label,.ca-legend){
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}
body.ca-page :where(p,li,span,small,dd,dt,.ca-muted,.ca-disclaimer){
  color:#d7e3f3!important;
  -webkit-text-fill-color:#d7e3f3!important;
  opacity:1!important;
}
body.ca-page .ca-form :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
body.ca-page .ca-field :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  background:#f8fbff!important;
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
  border-color:#9eb2cf!important;
  caret-color:#0b1f3a!important;
}
body.ca-page .ca-form :where(input,textarea)::placeholder{
  color:#60728c!important;
  -webkit-text-fill-color:#60728c!important;
  opacity:1!important;
}
body.ca-page .ca-form select option{
  background:#fff!important;
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
}
body.ca-page .ca-form input:-webkit-autofill,
body.ca-page .ca-form input:-webkit-autofill:hover,
body.ca-page .ca-form input:-webkit-autofill:focus,
body.ca-page .ca-form textarea:-webkit-autofill,
body.ca-page .ca-form textarea:-webkit-autofill:hover,
body.ca-page .ca-form textarea:-webkit-autofill:focus,
body.ca-page .ca-form select:-webkit-autofill,
body.ca-page .ca-form select:-webkit-autofill:hover,
body.ca-page .ca-form select:-webkit-autofill:focus{
  -webkit-text-fill-color:#0b1f3a!important;
  caret-color:#0b1f3a!important;
  -webkit-box-shadow:0 0 0 1000px #f8fbff inset!important;
  box-shadow:0 0 0 1000px #f8fbff inset!important;
}

/* ---------- Mobile safeguards ---------- */
@media(max-width:760px){
  html body :where(input,select,textarea){font-size:16px!important;}
  html body main :where(.matrix-toolbar,.entity-toolbar,.filters-bar,.filters-grid){
    gap:12px!important;
  }
  html body main :where(.matrix-quick,.pill,.badge,.matrix-status,.entity-status){
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html body main table,
  html body main th,
  html body main td{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
}

/* source: v8.7-logo-refresh.css */
/* CustodyProviders.com V8.7 — global logo refresh
   New logo on every page, with collision-safe responsive navigation. */

/* Standard directory header (.header > .container.nav) */
html body .header .container.nav,
html body .site-header .container.nav,
html body .site-header .header-inner{
  width:min(100%,1560px)!important;
  max-width:1560px!important;
  min-height:82px!important;
  margin:0 auto!important;
  padding:10px 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:20px!important;
  box-sizing:border-box!important;
}

html body .header .brand,
html body .site-header .brand{
  flex:0 0 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:visible!important;
}

html body .header .brand .site-logo,
html body .site-header .brand .site-logo{
  display:block!important;
  width:clamp(220px,17vw,286px)!important;
  height:auto!important;
  max-height:62px!important;
  max-width:286px!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}

/* Both navigation class variants are used in the site. */
html body .header .navlinks,
html body .site-header .navlinks,
html body .site-header .nav-links{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:1px!important;
  width:auto!important;
}

html body .header .navlinks a,
html body .site-header .navlinks a,
html body .site-header .nav-links a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:9px 7px!important;
  border-radius:9px!important;
  font-size:13px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}

html body .header .navlinks .nav-cta,
html body .site-header .navlinks .nav-cta,
html body .site-header .nav-links .nav-cta,
html body .header .navlinks a[href*="register"],
html body .site-header .navlinks a[href*="register"],
html body .site-header .nav-links a[href*="register"]{
  margin-left:4px!important;
  padding:10px 12px!important;
}

/* Footer: same new logo, intentionally smaller. */
html body .footer .brand .site-logo,
html body .site-footer .brand .site-logo{
  width:clamp(145px,14vw,185px)!important;
  height:auto!important;
  max-height:61px!important;
  object-fit:contain!important;
}

/* Dark platform / account pages use a separate compact header. */
html body .ca-header .ca-nav{
  min-height:76px!important;
  gap:18px!important;
}
html body .ca-brand{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
}
html body .ca-brand .site-logo,
html body .thank-you-brand .site-logo,
html body .redirect-brand .site-logo{
  display:block!important;
  width:clamp(170px,18vw,215px)!important;
  height:auto!important;
  max-height:60px!important;
  object-fit:contain!important;
}
html body .ca-nav-links{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Switch to the mobile menu before the logo and navigation can collide. */
@media (max-width:1240px){
  html body .header .container.nav,
  html body .site-header .container.nav,
  html body .site-header .header-inner{
    width:100%!important;
    max-width:100%!important;
    min-height:74px!important;
    padding:9px 20px!important;
  }
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{
    width:190px!important;
    max-width:190px!important;
    max-height:62px!important;
  }
  html body .header .navlinks,
  html body .site-header .navlinks,
  html body .site-header .nav-links{
    display:none!important;
  }
  html body .mobile-menu-toggle,
  html body #subpage-mobile-menu-toggle,
  html body #mobile-toggle.mobile-menu-toggle{
    display:inline-flex!important;
    flex:0 0 46px!important;
    width:46px!important;
    height:46px!important;
    margin-left:auto!important;
  }
}

@media (max-width:760px){
  html body .header .container.nav,
  html body .site-header .container.nav,
  html body .site-header .header-inner{
    min-height:70px!important;
    padding:8px 16px!important;
    gap:12px!important;
  }
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{
    width:174px!important;
    max-width:174px!important;
    max-height:58px!important;
  }
  html body .footer .brand .site-logo,
  html body .site-footer .brand .site-logo{
    width:132px!important;
    max-height:48px!important;
  }
  html body .ca-brand .site-logo,
  html body .thank-you-brand .site-logo,
  html body .redirect-brand .site-logo{
    width:160px!important;
    max-height:54px!important;
  }
}

@media (max-width:420px){
  html body .header .brand .site-logo,
  html body .site-header .brand .site-logo{
    width:158px!important;
    max-width:158px!important;
  }
  html body .footer .brand .site-logo,
  html body .site-footer .brand .site-logo{width:122px!important;}
  html body .ca-brand .site-logo{width:148px!important;}
}

/* source: provider-verification-gate-v88.css */
/* V8.8 provider verification gate */
#global-provider-verification-modal{position:fixed;inset:0;z-index:200000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(2,8,23,.78);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
#global-provider-verification-modal.show{display:flex}
#global-provider-verification-modal .cp-v88-gate-card{position:relative;width:min(500px,100%);padding:32px;background:#fff;color:#172338;border:1px solid #d8e2ee;border-radius:22px;box-shadow:0 28px 90px rgba(2,8,23,.34);text-align:left}
#global-provider-verification-modal .cp-v88-gate-kicker{margin-bottom:10px;color:#2454b8;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
#global-provider-verification-modal h2{margin:0 40px 12px 0;color:#0b1f3a!important;-webkit-text-fill-color:#0b1f3a!important;font-size:28px;line-height:1.15}
#global-provider-verification-modal p{margin:0 0 24px;color:#52657a!important;-webkit-text-fill-color:#52657a!important;font-size:16px;line-height:1.62}
#global-provider-verification-modal p strong{color:#0b1f3a!important;-webkit-text-fill-color:#0b1f3a!important}
#global-provider-verification-modal .cp-v88-gate-actions{display:flex;flex-wrap:wrap;gap:10px}
#global-provider-verification-modal .cp-v88-gate-primary,#global-provider-verification-modal .cp-v88-gate-secondary{min-height:44px;padding:11px 17px;border-radius:11px;font:700 14px/1.2 Inter,system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
#global-provider-verification-modal .cp-v88-gate-primary{background:#2563eb;border:1px solid #2563eb;color:#fff!important;-webkit-text-fill-color:#fff!important}
#global-provider-verification-modal .cp-v88-gate-secondary{background:#fff;border:1px solid #c7d3e2;color:#26364c!important;-webkit-text-fill-color:#26364c!important}
#global-provider-verification-modal .cp-v88-gate-x{position:absolute;top:15px;right:16px;width:38px;height:38px;border:1px solid #d8e2ee;border-radius:10px;background:#f7f9fc;color:#33445a;font-size:25px;line-height:1;cursor:pointer}
a.provider-verification-gated{cursor:pointer}
@media(max-width:600px){#global-provider-verification-modal{padding:14px}#global-provider-verification-modal .cp-v88-gate-card{padding:25px 20px}#global-provider-verification-modal h2{font-size:24px}#global-provider-verification-modal .cp-v88-gate-actions>*{width:100%}}

/* Release 10: unverified provider gate CTA */
#global-provider-verification-modal .cp-v88-gate-actions{display:block}
#global-provider-verification-modal .cp-v88-gate-primary{width:100%;min-height:50px}


/* Release 12 — rendering repair layer
   Fixes unreadable dark-on-dark blocks and oversized checkboxes without changing content or SEO. */
body:not(.ca-page) .about-hero .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  max-width:max-content!important;
  padding:10px 16px!important;
  border-radius:999px!important;
  background:rgba(248,250,252,.98)!important;
  border:1px solid rgba(203,213,225,.62)!important;
  color:#2454b8!important;
  -webkit-text-fill-color:#2454b8!important;
  box-shadow:0 10px 24px rgba(2,8,23,.12)!important;
}
body:not(.ca-page) .about-hero h1{
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
  opacity:1!important;
}
body:not(.ca-page) .about-hero .lead,
body:not(.ca-page) .about-hero p{
  color:#dbe7f7!important;
  -webkit-text-fill-color:#dbe7f7!important;
  opacity:1!important;
}

body:not(.ca-page) .lead-panel,
body:not(.ca-page) .lead-economics-card{
  background:#071a2f!important;
  border:1px solid rgba(148,163,184,.26)!important;
  box-shadow:0 18px 42px rgba(2,8,23,.24)!important;
}
body:not(.ca-page) .lead-panel,
body:not(.ca-page) .lead-panel *:not(.btn):not(.btn *):not(.revenue-badge),
body:not(.ca-page) .lead-economics-card,
body:not(.ca-page) .lead-economics-card *{
  opacity:1!important;
}
body:not(.ca-page) .lead-panel h1,
body:not(.ca-page) .lead-panel h2,
body:not(.ca-page) .lead-panel h3,
body:not(.ca-page) .lead-panel strong,
body:not(.ca-page) .lead-economics-card strong{
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}
body:not(.ca-page) .lead-panel p,
body:not(.ca-page) .lead-panel .muted,
body:not(.ca-page) .lead-panel span,
body:not(.ca-page) .lead-economics-card span,
body:not(.ca-page) .lead-economics-card p{
  color:#d7e3f4!important;
  -webkit-text-fill-color:#d7e3f4!important;
}
body:not(.ca-page) .lead-panel a:not(.btn){
  color:#dbeafe!important;
  -webkit-text-fill-color:#dbeafe!important;
}
body:not(.ca-page) .lead-panel .btn.primary,
body:not(.ca-page) .lead-panel .btn-primary,
body:not(.ca-page) .lead-panel a.btn.primary,
body:not(.ca-page) .lead-panel a.btn-primary{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body:not(.ca-page) .lead-panel .btn:not(.primary):not(.btn-primary),
body:not(.ca-page) .lead-panel a.btn:not(.primary):not(.btn-primary){
  background:#fff!important;
  border-color:#c7d3e2!important;
  color:#0b1f3a!important;
  -webkit-text-fill-color:#0b1f3a!important;
}
body:not(.ca-page) .lead-panel .revenue-badge{
  background:#0f2d57!important;
  border-color:#295ea9!important;
  color:#f8fbff!important;
  -webkit-text-fill-color:#f8fbff!important;
}

/* Final form-control guard: undo broad input sizing leaks on checkboxes/radios. */
body:not(.ca-page) form input[type="checkbox"],
body:not(.ca-page) form input[type="radio"],
body:not(.ca-page) .rfp-consent input,
body:not(.ca-page) .matcher-v2-evidence input{
  display:inline-block!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  margin:3px 0 0!important;
  padding:0!important;
  border-radius:4px!important;
  flex:0 0 18px!important;
  accent-color:#2563eb!important;
  box-shadow:none!important;
}
body:not(.ca-page) .rfp-consent,
body:not(.ca-page) .matcher-v2-evidence{
  align-items:flex-start!important;
  gap:12px!important;
}
body.ca-page .ca-check input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  margin:3px 0 0!important;
  padding:0!important;
  flex:0 0 18px!important;
  accent-color:#4f8cff!important;
}

/* source: visual-integrity-v12.css */
/* CustodyProviders.com — Visual Integrity V12
   Final presentation-only layer. Loaded after all legacy CSS.
   Purpose: eliminate remaining contrast, checkbox, header and table-wrap collisions
   without changing SEO, provider data, link gating, comparison or lead behavior. */

:root{
  --vi12-ink:#0b1f3a;
  --vi12-text:#33445a;
  --vi12-muted:#52657a;
  --vi12-blue:#2563eb;
  --vi12-dark:#071a2f;
  --vi12-dark-text:#f8fbff;
  --vi12-dark-muted:#d7e3f4;
  --vi12-line:#d8e2ee;
}

/* 1) Header: the global logo treatment is white, therefore navigation must be dark. */
html body .header,
html body .site-header{
  background:#fff!important;
  border-bottom:1px solid #e2e8f0!important;
}
html body .header :is(.navlinks,.nav-links) a:not(.nav-cta):not([href*="register"]),
html body .site-header :is(.navlinks,.nav-links) a:not(.nav-cta):not([href*="register"]){
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
  opacity:1!important;
}
html body .header :is(.navlinks,.nav-links) a:not(.nav-cta):not([href*="register"]):hover,
html body .site-header :is(.navlinks,.nav-links) a:not(.nav-cta):not([href*="register"]):hover,
html body .header :is(.navlinks,.nav-links) a[aria-current="page"],
html body .site-header :is(.navlinks,.nav-links) a[aria-current="page"]{
  color:#1d4ed8!important;
  -webkit-text-fill-color:#1d4ed8!important;
  background:#eff6ff!important;
  text-decoration:none!important;
}

/* 2) About hero: intentional dark surface must never inherit light-page dark typography. */
html body:not(.ca-page) .about-hero{
  color:var(--vi12-dark-text)!important;
}
html body:not(.ca-page) .about-hero h1{
  color:var(--vi12-dark-text)!important;
  -webkit-text-fill-color:var(--vi12-dark-text)!important;
  opacity:1!important;
}
html body:not(.ca-page) .about-hero :is(p,.lead){
  color:#dbe7f7!important;
  -webkit-text-fill-color:#dbe7f7!important;
  opacity:1!important;
}
html body:not(.ca-page) .about-hero .eyebrow{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  padding:9px 15px!important;
  border:1px solid rgba(191,219,254,.7)!important;
  border-radius:999px!important;
  background:#eef5ff!important;
  color:#2454b8!important;
  -webkit-text-fill-color:#2454b8!important;
  box-shadow:none!important;
}

/* 3) Intentional navy cards/panels: high-contrast text, independent of legacy light-card rules. */
html body :is(.lead-panel,.lead-economics-card,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]){
  background-color:var(--vi12-dark)!important;
  color:var(--vi12-dark-text)!important;
}
html body :is(.lead-panel,.lead-economics-card,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"])
  :is(h1,h2,h3,h4,h5,h6,strong,b,summary){
  color:var(--vi12-dark-text)!important;
  -webkit-text-fill-color:var(--vi12-dark-text)!important;
  opacity:1!important;
}
html body :is(.lead-panel,.lead-economics-card,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"])
  :is(p,li,span,small,dd,dt,.muted,.small,.lead){
  color:var(--vi12-dark-muted)!important;
  -webkit-text-fill-color:var(--vi12-dark-muted)!important;
  opacity:1!important;
}
html body .lead-economics-card strong{
  display:block!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .lead-panel a:not(.btn),
html body :is(.dark-section,.dark-panel,.dark-card,.navy-panel,.navy-card,[data-theme="dark"]) a:not(.btn){
  color:#dbeafe!important;
  -webkit-text-fill-color:#dbeafe!important;
}
html body .lead-panel :is(.btn.primary,.btn-primary),
html body .lead-panel a:is(.btn.primary,.btn-primary){
  background:var(--vi12-blue)!important;
  border-color:var(--vi12-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body .lead-panel .btn:not(.primary):not(.btn-primary),
html body .lead-panel a.btn:not(.primary):not(.btn-primary){
  background:#fff!important;
  border-color:#c7d3e2!important;
  color:var(--vi12-ink)!important;
  -webkit-text-fill-color:var(--vi12-ink)!important;
}
html body .lead-panel .btn *,
html body .lead-economics-card .btn *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* 4) Form-control containment: checkboxes/radios must never inherit text-input dimensions. */
html body input[type="checkbox"],
html body input[type="radio"],
html body form input[type="checkbox"],
html body form input[type="radio"]{
  box-sizing:border-box!important;
  display:inline-block!important;
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  padding:0!important;
  margin:2px 0 0!important;
  flex:0 0 20px!important;
  border-radius:4px!important;
  box-shadow:none!important;
  accent-color:var(--vi12-blue)!important;
  vertical-align:top!important;
}
html body .rfp-consent{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid #e2e8f0!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
  line-height:1.55!important;
}
html body .rfp-consent span{
  color:#33445a!important;
  -webkit-text-fill-color:#33445a!important;
  opacity:1!important;
}
html body form.contact-card .hero-cta .rfp-consent,
html body .contact-card .hero-cta .rfp-consent{
  flex:1 0 100%!important;
  margin-bottom:2px!important;
}
html body .rfp-checks label{
  align-items:flex-start!important;
}

/* 5) Regulatory tables: prevent mid-word fragmentation on normal desktop widths. */
@media (min-width:761px){
  html body .matrix-shell{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body .regulatory-table{
    min-width:1420px!important;
    table-layout:auto!important;
  }
  html body .regulatory-table th,
  html body .regulatory-table td,
  html body .regulatory-table a,
  html body .regulatory-table :is(.matrix-sub,.regime-pill,.matrix-status,.matrix-source){
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  html body .regulatory-table th:nth-child(1),
  html body .regulatory-table td:nth-child(1){min-width:205px!important}
  html body .regulatory-table th:nth-child(2),
  html body .regulatory-table td:nth-child(2){min-width:125px!important;white-space:nowrap!important}
  html body .regulatory-table th:nth-child(3),
  html body .regulatory-table td:nth-child(3){min-width:160px!important}
  html body .regulatory-table th:nth-child(4),
  html body .regulatory-table td:nth-child(4){min-width:470px!important}
  html body .regulatory-table th:nth-child(5),
  html body .regulatory-table td:nth-child(5){min-width:145px!important}
  html body .regulatory-table th:nth-child(6),
  html body .regulatory-table td:nth-child(6){min-width:190px!important}
  html body .regulatory-table .matrix-status{max-width:180px!important}
}

/* 6) General anti-fragmentation for navigation/buttons/badges. */
html body :is(.btn,.pill,.badge,.revenue-badge,.navlinks a,.nav-links a,.matrix-status,.regime-pill){
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* 7) Mobile: keep fixes compact and touch-friendly. */
@media(max-width:760px){
  html body .about-hero{padding-top:54px!important;padding-bottom:42px!important}
  html body .about-hero .eyebrow{padding:8px 13px!important}
  html body .rfp-consent{padding:13px 14px!important;gap:11px!important}
  html body input[type="checkbox"],
  html body input[type="radio"]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important}
}

/* source: ai-authority-v13.css */

/* CustodyProviders.com Release 13 — AI/GEO Authority layer
   Additive only: attribution, source provenance, dataset and research authority UI. */
.cp-research-byline{
  max-width:1180px;margin:18px auto 0;padding:0 24px;
}
.cp-research-byline-inner{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 16px;border:1px solid #dbe6f4;border-radius:14px;
  background:#f8fbff;color:#43566f;font-size:14px;line-height:1.45;
}
.cp-research-byline strong{color:#102743;font-weight:800}
.cp-research-byline a{color:#1559c7;font-weight:700;text-decoration:none}
.cp-research-byline a:hover{text-decoration:underline}
.cp-evidence-attribution{
  margin:6px 0 0!important;font-size:13px!important;line-height:1.5!important;color:#52657d!important;
}
.cp-evidence-attribution a{color:#1559c7!important;font-weight:700;text-decoration:none}
.cp-evidence-attribution a:hover{text-decoration:underline}
.cp-source-provenance{
  margin:10px 0 2px;padding:10px 12px;border:1px solid #dce8f6;border-radius:12px;
  background:#f8fbff;color:#4b6079;font-size:12.5px;line-height:1.5;
}
.cp-source-provenance strong{color:#16304f}
.cp-authority-band{padding:34px 0 46px;background:#f5f8fc;border-top:1px solid #e3eaf3}
.cp-authority-card{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center;
  padding:28px;border:1px solid #dbe5f1;border-radius:24px;background:#fff;box-shadow:0 14px 36px rgba(14,37,68,.07)
}
.cp-authority-kicker{font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#2764c8;margin-bottom:8px}
.cp-authority-card h2{margin:0 0 10px;color:#0b2442;font-size:clamp(26px,3vw,38px);line-height:1.1}
.cp-authority-card p{margin:0;color:#586b82;line-height:1.7}
.cp-authority-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cp-authority-links a{display:block;padding:13px 14px;border:1px solid #d8e4f2;border-radius:13px;background:#f8fbff;color:#124fae;font-weight:800;text-decoration:none}
.cp-authority-links a:hover{border-color:#a9c7ee;background:#f1f7ff}
.cp-primary-sources-v13{margin-top:28px;padding:22px;border:1px solid #dbe5f1;border-radius:18px;background:#f8fbff}
.cp-primary-sources-v13 h2{margin-top:0!important}
.cp-primary-sources-v13 p{color:#5a6d83}
.cp-primary-sources-v13 ul{margin:12px 0 0;padding-left:20px}
.cp-primary-sources-v13 li{margin:8px 0;line-height:1.55}
.cp-primary-sources-v13 a{color:#1559c7;font-weight:700}
.cp-dataset-hero-note{margin-top:14px;color:#dfeafe!important}
.cp-dataset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
.cp-dataset-stat{padding:18px;border:1px solid #dce7f4;border-radius:16px;background:#f8fbff}
.cp-dataset-stat strong{display:block;font-size:28px;color:#0b2442;margin-bottom:4px}
.cp-dataset-stat span{color:#5a6d83;font-size:13px}
.cp-download-row{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}
.cp-download-row a{display:inline-flex;align-items:center;padding:12px 16px;border-radius:12px;background:#1f66e5;color:#fff;font-weight:800;text-decoration:none}
.cp-download-row a.secondary{background:#fff;color:#17365f;border:1px solid #cfdeef}
@media (max-width:800px){
  .cp-research-byline{padding:0 16px;margin-top:14px}
  .cp-authority-card{grid-template-columns:1fr;padding:22px}
  .cp-authority-links{grid-template-columns:1fr}
  .cp-dataset-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){.cp-dataset-grid{grid-template-columns:1fr}}

/* source: contrast-safety-v16.css */
/* CustodyProviders.com — Contrast Safety V16
   Final presentation-only guardrail. Loaded last on every HTML page.
   Purpose: prevent recurrent low-contrast text/button/form states without changing site logic. */

:root{
  --cs16-light-text:#33445a;
  --cs16-light-muted:#52647a;
  --cs16-dark-text:#f8fbff;
  --cs16-dark-muted:#d7e3f4;
  --cs16-primary:#2563eb;
  --cs16-primary-hover:#1d4ed8;
}

/* Light form controls: normal/small placeholder text gets a safe contrast reserve. */
html body:not(.ca-page) main :is(input:not([type="checkbox"]):not([type="radio"]),textarea)::placeholder{
  color:var(--cs16-light-muted)!important;
  -webkit-text-fill-color:var(--cs16-light-muted)!important;
  opacity:1!important;
}

/* Dark account/claim forms keep light placeholder text on their navy controls. */
html body.ca-page :is(input:not([type="checkbox"]):not([type="radio"]),textarea)::placeholder{
  color:var(--cs16-dark-muted)!important;
  -webkit-text-fill-color:var(--cs16-dark-muted)!important;
  opacity:1!important;
}

/* Evidence index small metadata must remain comfortably readable on white cards. */
html body .evidence-card .meta{
  color:var(--cs16-light-muted)!important;
  -webkit-text-fill-color:var(--cs16-light-muted)!important;
  opacity:1!important;
}

/* Mobile table-generated labels are only 10px, so use a stronger tone than body-muted text. */
@media(max-width:760px){
  html body .regulatory-table td::before,
  html body .entity-table td::before{
    color:#475569!important;
    -webkit-text-fill-color:#475569!important;
    opacity:1!important;
  }
}

/* Known intentionally dark surfaces: never allow inherited dark text to leak in. */
html body :is(
  .lead-panel,.lead-economics-card,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,
  .navy-panel,.navy-card,[data-theme="dark"],.cp-provider-data-card,.compare-bar,.pricing-tier,
  .lead-gate-card,.profile-modal-card,#unverified-website-modal .ca-unverified-card
){
  color:var(--cs16-dark-text)!important;
}
html body :is(
  .lead-panel,.lead-economics-card,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,
  .navy-panel,.navy-card,[data-theme="dark"],.cp-provider-data-card,.compare-bar,.pricing-tier,
  .lead-gate-card,.profile-modal-card,#unverified-website-modal .ca-unverified-card
) :is(h1,h2,h3,h4,h5,h6,strong,b,summary){
  color:var(--cs16-dark-text)!important;
  -webkit-text-fill-color:var(--cs16-dark-text)!important;
  opacity:1!important;
}
html body :is(
  .lead-panel,.lead-economics-card,.steps-section,.cta-band,.dark-section,.dark-panel,.dark-card,
  .navy-panel,.navy-card,[data-theme="dark"],.cp-provider-data-card,.compare-bar,.pricing-tier,
  .lead-gate-card,.profile-modal-card,#unverified-website-modal .ca-unverified-card
) :is(p,li,span,small,dd,dt,.muted,.small,.lead){
  color:var(--cs16-dark-muted)!important;
  -webkit-text-fill-color:var(--cs16-dark-muted)!important;
  opacity:1!important;
}

/* Primary actions: white-on-blue in all ordinary/hover states. */
html body :is(.btn-primary,.btn.primary,a.btn-primary,a.btn.primary,button.btn-primary,button.btn.primary){
  background-color:var(--cs16-primary)!important;
  border-color:var(--cs16-primary)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body :is(.btn-primary,.btn.primary,a.btn-primary,a.btn.primary,button.btn-primary,button.btn.primary):hover,
html body :is(.btn-primary,.btn.primary,a.btn-primary,a.btn.primary,button.btn-primary,button.btn.primary):focus-visible{
  background-color:var(--cs16-primary-hover)!important;
  border-color:var(--cs16-primary-hover)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html body :is(.btn-primary,.btn.primary,a.btn-primary,a.btn.primary,button.btn-primary,button.btn.primary) *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* Footer/navy utility links should never inherit dark page-link colors. */
html body :is(.site-footer,.footer,.compare-bar,.cp-provider-data-card) a:not(.btn){
  color:#dbeafe!important;
  -webkit-text-fill-color:#dbeafe!important;
}


/* v22 strict contrast enforcement: always dark text on light UI chips/badges */
.coverage-chip,
.coverage-chip *,
.evidence-badge,
.evidence-badge *,
.status-change-badge,
.status-change-badge *,
.ecosystem-badge,
.ecosystem-badge * {
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}
.coverage-chip {
  background: #f6ead6 !important;
  color: #6f4612 !important;
  border: 1px solid #e4c89d !important;
}
.coverage-chip.partial {
  background: #f9ead8 !important;
  color: #7b3f08 !important;
  border: 1px solid #e8c08a !important;
}
.evidence-badge {
  background: #eaf6ef !important;
  color: #0f5132 !important;
  border: 1px solid #b9dec9 !important;
}
.status-change-badge {
  background: #fff1e3 !important;
  color: #8a4306 !important;
  border: 1px solid #f3c48f !important;
}
.ecosystem-badge {
  background: #f1f5f9 !important;
  color: #334155 !important;
  border: 1px solid #cfd8e3 !important;
}

/* v23 final chip-text hardening: light chips always use dark foreground, including WebKit text fill. */
html body:not(.ca-page) main .coverage-chip,
html body:not(.ca-page) main .coverage-chip *,
html body:not(.ca-page) main .evidence-badge,
html body:not(.ca-page) main .evidence-badge *,
html body:not(.ca-page) main .status-change-badge,
html body:not(.ca-page) main .status-change-badge *,
html body:not(.ca-page) main .ecosystem-badge,
html body:not(.ca-page) main .ecosystem-badge * {
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}
html body:not(.ca-page) main .coverage-chip,
html body:not(.ca-page) main .coverage-chip * {
  color:#6b3f0b!important;
  -webkit-text-fill-color:#6b3f0b!important;
}
html body:not(.ca-page) main .coverage-chip.partial,
html body:not(.ca-page) main .coverage-chip.partial * {
  color:#6b3506!important;
  -webkit-text-fill-color:#6b3506!important;
}
html body:not(.ca-page) main .evidence-badge,
html body:not(.ca-page) main .evidence-badge * {
  color:#0b5136!important;
  -webkit-text-fill-color:#0b5136!important;
}
html body:not(.ca-page) main .status-change-badge,
html body:not(.ca-page) main .status-change-badge * {
  color:#7a3b05!important;
  -webkit-text-fill-color:#7a3b05!important;
}
html body:not(.ca-page) main .ecosystem-badge,
html body:not(.ca-page) main .ecosystem-badge * {
  color:#334155!important;
  -webkit-text-fill-color:#334155!important;
}

/* source: release19-trust-taxonomy.css */
.scope-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}.scope-choice{border:1px solid rgba(148,163,184,.22);border-radius:20px;padding:26px;background:#0d1b36;color:#fff}.scope-choice h3,.scope-choice strong{color:#fff}.scope-choice p{color:#d3def4}.scope-choice .scope-count{display:inline-flex;margin-bottom:14px;padding:6px 10px;border-radius:999px;background:#17386f;color:#fff;font-size:13px;font-weight:800}.trust-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trust-principle{padding:22px;border-radius:18px;border:1px solid rgba(148,163,184,.22);background:#0d1b36}.trust-principle h3{margin-top:0}.priority-table-wrap{overflow-x:auto;border:1px solid rgba(148,163,184,.22);border-radius:18px}.priority-table{width:100%;border-collapse:collapse;min-width:840px}.priority-table th,.priority-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(148,163,184,.16)}.priority-table th{background:#122446;color:#fff;font-size:13px}.priority-table td{color:#d3def4}.priority-table td strong{color:#fff}.priority-rank{font-weight:900;color:#8fc1ff}.method-note{padding:18px 20px;border-left:4px solid #3b82f6;border-radius:12px;background:#0d1b36;color:#d3def4}.home-scope-section{padding-top:18px!important}.home-scope-section .scope-choice{min-height:100%}.editorial-meta{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 0}.editorial-meta span{padding:7px 10px;border-radius:999px;background:#122446;color:#d3def4;font-size:13px}.changelog-list{display:grid;gap:16px}.changelog-entry{border:1px solid rgba(148,163,184,.22);border-radius:18px;padding:22px;background:#0d1b36}.changelog-entry time{color:#8fc1ff;font-weight:800}.changelog-entry h2{margin:8px 0}.compact-ai-context .ai-custody-explainer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-ai-context .ai-custody-explainer__card{padding:20px}.compact-ai-context{padding-top:38px!important;padding-bottom:28px!important}@media(max-width:760px){.scope-choice-grid,.trust-principles,.compact-ai-context .ai-custody-explainer__grid{grid-template-columns:1fr}.scope-choice,.trust-principle{padding:20px}.priority-table th,.priority-table td{padding:12px}}
.cp-evidence-summary{margin-top:22px;padding:20px;border-radius:16px;background:#0d1b36;color:#d3def4}.cp-evidence-summary h3{margin:0 0 10px;color:#fff}.cp-evidence-summary p{color:#d3def4}.cp-evidence-caveat{margin-top:12px}.cp-evidence-caveat strong{color:#fff}.cp-evidence-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.cp-evidence-links a{display:inline-flex;padding:9px 12px;border-radius:10px;background:#17386f;color:#fff;font-weight:750}.cp-evidence-links a:hover{background:#24519a;color:#fff}

/* source: release28-header-restore.css */
/* Release 28: permanent header/light-brand safety override.
   Prevent legacy dark-theme test rules from leaking into the live header. */
html body .header,
html body .site-header {
  background:#ffffff !important;
  background-color:#ffffff !important;
  color:#0b2343 !important;
  border-bottom:1px solid #e3eaf3 !important;
  box-shadow:0 1px 0 rgba(15,35,65,.03) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html body .header .nav,
html body .site-header .nav,
html body .header .container.nav,
html body .site-header .container.nav {
  background:#ffffff !important;
  color:#0b2343 !important;
}
html body .header .navlinks,
html body .site-header .navlinks,
html body .header nav,
html body .site-header nav {
  background:#ffffff !important;
  color:#0b2343 !important;
}
html body .header .navlinks a,
html body .site-header .navlinks a,
html body .header nav a,
html body .site-header nav a {
  color:#26364d !important;
  background:transparent !important;
  border-color:transparent !important;
}
html body .header .navlinks a:hover,
html body .site-header .navlinks a:hover,
html body .header nav a:hover,
html body .site-header nav a:hover {
  color:#174ea6 !important;
  background:#f3f7fd !important;
}
/* Keep the Claim Profile CTA blue with white text. */
html body .header .navlinks a:last-child,
html body .site-header .navlinks a:last-child {
  background:#2563eb !important;
  color:#ffffff !important;
  border-color:#2563eb !important;
}
html body .header .navlinks a:last-child:hover,
html body .site-header .navlinks a:last-child:hover {
  background:#1d4ed8 !important;
  color:#ffffff !important;
}
/* Never recolor/invert the actual transparent brand artwork. */
html body .header .brand .site-logo,
html body .site-header .brand .site-logo,
html body .header img.site-logo,
html body .site-header img.site-logo {
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
  background:transparent !important;
}
@media (max-width: 980px) {
  html body .header,
  html body .site-header,
  html body .header .nav,
  html body .site-header .nav,
  html body .header .mobile-menu-panel,
  html body .site-header .mobile-menu-panel,
  html body .header .subpage-mobile-menu-panel,
  html body .site-header .subpage-mobile-menu-panel {
    background:#ffffff !important;
    color:#0b2343 !important;
  }
  html body .header .mobile-menu-panel a,
  html body .site-header .mobile-menu-panel a,
  html body .header .subpage-mobile-menu-panel a,
  html body .site-header .subpage-mobile-menu-panel a {
    color:#26364d !important;
  }
}

/* source: release33-mobile-contrast-header-fix.css */
/* Release 33: iOS/Safari contrast and utility-header repair.
   Loaded last so legacy !important and -webkit-text-fill-color rules cannot leak
   into the dark provider/scope cards or the light claim-page header. */

/* Provider evidence card: preserve white/light text on the navy surface. */
html body:not(.ca-page) main .cp-provider-data-card,
html body:not(.ca-page) main .cp-provider-data-card * {
  text-shadow: none !important;
  opacity: 1 !important;
}
html body:not(.ca-page) main .cp-provider-data-card :is(h1,h2,h3,h4,h5,h6,strong,b,summary),
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-status {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body:not(.ca-page) main .cp-provider-data-card :is(p,li,small,dd,dt),
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-data-note {
  color: #d3def4 !important;
  -webkit-text-fill-color: #d3def4 !important;
}
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-data-kicker,
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-data-item > span {
  color: #d7e6ff !important;
  -webkit-text-fill-color: #d7e6ff !important;
}
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-data-actions a.primary,
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-data-actions a.primary:visited {
  background: #2f5bea !important;
  border-color: #2f5bea !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-data-actions a.secondary,
html body:not(.ca-page) main .cp-provider-data-card .cp-provider-data-actions a.secondary:visited {
  background: #1a2c49 !important;
  border-color: #607493 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Homepage scope cards: global light-page rules previously recolored their copy. */
html body:not(.ca-page) main .scope-choice {
  background: #0d1b36 !important;
  color: #ffffff !important;
}
html body:not(.ca-page) main .scope-choice :is(h2,h3,h4,strong,b) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body:not(.ca-page) main .scope-choice p {
  color: #d3def4 !important;
  -webkit-text-fill-color: #d3def4 !important;
}
html body:not(.ca-page) main .scope-choice .scope-count {
  background: #214886 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body:not(.ca-page) main .scope-choice a.btn-primary,
html body:not(.ca-page) main .scope-choice a.btn-primary:visited {
  background: #2f67ed !important;
  border-color: #2f67ed !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
html body:not(.ca-page) main .scope-choice a.btn-secondary,
html body:not(.ca-page) main .scope-choice a.btn-secondary:visited {
  background: #ffffff !important;
  border-color: #c8d4e4 !important;
  color: #0b1f3a !important;
  -webkit-text-fill-color: #0b1f3a !important;
}

/* Claim page: match the site's light header and remove the white logo plaque. */
html body.ca-page.claim-profile-page .ca-header {
  background: #ffffff !important;
  color: #0b2343 !important;
  border-bottom: 1px solid #e3eaf3 !important;
  box-shadow: 0 1px 0 rgba(15,35,65,.03) !important;
}
html body.ca-page.claim-profile-page .ca-header .ca-nav {
  min-height: 72px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
html body.ca-page.claim-profile-page .ca-header .ca-brand {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html body.ca-page.claim-profile-page .ca-header .ca-brand .site-logo {
  width: 220px !important;
  max-width: min(220px, 58vw) !important;
  max-height: 58px !important;
  height: auto !important;
  background: transparent !important;
  object-fit: contain !important;
}
html body.ca-page.claim-profile-page .ca-header .ca-nav-links a,
html body.ca-page.claim-profile-page .ca-header .ca-nav-links a:visited {
  color: #26364d !important;
  -webkit-text-fill-color: #26364d !important;
}

@media (max-width: 620px) {
  html body:not(.ca-page) main .cp-provider-data-card {
    padding: 18px !important;
  }
  html body:not(.ca-page) main .scope-choice {
    padding: 22px !important;
  }
  html body.ca-page.claim-profile-page .ca-header .ca-brand .site-logo {
    width: 190px !important;
    max-width: 56vw !important;
  }
  html body.ca-page.claim-profile-page .ca-header .ca-nav-links {
    gap: 10px !important;
  }
}

/* source: release40-structure-ux.css */
/* Release 40: footer-logo protection retained from Release 34. */
html body .footer .brand .site-logo,
html body .site-footer .brand .site-logo {
  filter: brightness(0) invert(1) !important;
  -webkit-filter: brightness(0) invert(1) !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

html body .footer .brand,
html body .site-footer .brand,
html body .footer .brand .site-logo-link,
html body .site-footer .brand .site-logo-link {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  html body .footer .brand .site-logo,
  html body .site-footer .brand .site-logo {
    width: 158px !important;
    max-height: 56px !important;
  }
}

/* Compact, keyboard-accessible research navigation. */
html body .header .navlinks .nav-research,
html body .site-header .navlinks .nav-research {
  position: relative;
  flex: 0 0 auto;
}

html body .header .navlinks .nav-research > summary,
html body .site-header .navlinks .nav-research > summary {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 9px 12px;
  border-radius: 10px;
  color: #26364d !important;
  -webkit-text-fill-color: #26364d !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  list-style: none;
  white-space: nowrap;
  cursor: pointer;
}

html body .header .navlinks .nav-research > summary::-webkit-details-marker,
html body .site-header .navlinks .nav-research > summary::-webkit-details-marker {
  display: none;
}

html body .header .navlinks .nav-research > summary::after,
html body .site-header .navlinks .nav-research > summary::after {
  content: "▾";
  color: #52647d;
  -webkit-text-fill-color: #52647d;
  font-size: 12px;
}

html body .header .navlinks .nav-research[open] > summary,
html body .header .navlinks .nav-research > summary:hover,
html body .site-header .navlinks .nav-research[open] > summary,
html body .site-header .navlinks .nav-research > summary:hover {
  background: #f3f7fd !important;
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

html body .header .navlinks .nav-research-panel,
html body .site-header .navlinks .nav-research-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 50%;
  z-index: 2000;
  display: grid;
  width: 260px;
  padding: 10px;
  border: 1px solid #dbe4f0 !important;
  border-radius: 16px;
  background: #ffffff !important;
  box-shadow: 0 20px 50px rgba(15, 35, 65, .18) !important;
  transform: translateX(-50%);
}

html body .header .navlinks .nav-research-panel a,
html body .header .navlinks .nav-research-panel a:last-child,
html body .site-header .navlinks .nav-research-panel a,
html body .site-header .navlinks .nav-research-panel a:last-child {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px !important;
  border: 0 !important;
  border-radius: 10px;
  background: #ffffff !important;
  color: #26364d !important;
  -webkit-text-fill-color: #26364d !important;
  box-shadow: none !important;
}

html body .header .navlinks .nav-research-panel a:hover,
html body .site-header .navlinks .nav-research-panel a:hover {
  background: #eef5ff !important;
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

html body .header .navlinks > .nav-cta,
html body .site-header .navlinks > .nav-cta {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Provider directory: one clear research action, secondary lead and claim controls. */
html body #provider-filter-grid .provider-bottom {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 12px !important;
  align-items: center;
}

html body #provider-filter-grid .primary-card-action,
html body #provider-filter-grid .primary-card-action:visited {
  order: 1;
  min-height: 48px;
  background: #2563eb !important;
  border: 1px solid #2563eb !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body #provider-filter-grid .request-introduction-action {
  order: 2;
  min-height: 48px;
  background: #ffffff !important;
  border: 1px solid #b9c9df !important;
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

html body #provider-filter-grid .compare-toggle {
  order: 3;
  min-height: 44px;
}

html body #provider-filter-grid .claim-profile-link,
html body #provider-filter-grid .claim-profile-link:visited {
  order: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 10px;
  color: #334e73 !important;
  -webkit-text-fill-color: #334e73 !important;
  font-size: 14px;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.filter-load-more {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #dbe4f0;
}

.filter-load-more[hidden] {
  display: none !important;
}

.filter-load-more .btn {
  min-width: min(320px, 100%);
  min-height: 50px;
  background: #ffffff !important;
  border-color: #9eb4d0 !important;
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
}

.filter-load-more-status {
  color: #52647d !important;
  -webkit-text-fill-color: #52647d !important;
  font-size: 14px;
  font-weight: 650;
}

@media (max-width: 760px) {
  html body #provider-filter-grid .provider-bottom {
    grid-template-columns: 1fr;
  }

  html body #provider-filter-grid .primary-card-action,
  html body #provider-filter-grid .request-introduction-action,
  html body #provider-filter-grid .compare-toggle,
  html body #provider-filter-grid .claim-profile-link {
    width: 100%;
  }
}
