/* source: subpages.css */
:root{
  --bg:#f8fafc;
  --bg2:#ffffff;
  --card:#ffffff;
  --surface:#ffffff;
  --line:rgba(15,23,42,.08);
  --line-strong:rgba(15,23,42,.12);
  --text:#1f2937;
  --muted:#64748b;
  --soft:#94a3b8;
  --blue:#2563eb;
  --blue2:#1d4ed8;
  --shadow:0 10px 30px rgba(15,23,42,.06);
  --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 6px 18px rgba(15,23,42,.04);
  --radius:24px;
  --radius-md:18px;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#ffffff;
  color:var(--text);
  line-height:1.68;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}
main{padding-bottom:24px}

.header{
  position:sticky;
  top:0;
  z-index:40;
  background:#ffffff;
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:76px;
  padding:10px 0;
}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;letter-spacing:-.02em}
.brand em{font-style:normal;color:var(--blue)}
.brand-mark{
  width:44px;height:44px;border-radius:14px;
  background:linear-gradient(135deg,var(--blue2),var(--blue));
  display:grid;place-items:center;color:#fff;font-weight:900;
  box-shadow:none;align-items:center;gap:10px;flex-wrap:wrap}
.navlinks a{
  padding:12px 16px;
  border-radius:14px;
  background:#f8fbff;
  border:2px solid var(--line);
  color:var(--muted);
  font-size:14px;
  font-weight:700;
}
.navlinks a:hover{background:#eef4ff;color:var(--text)}

.hero{padding:44px 0 30px}
.hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.82fr);
  gap:28px;
  align-items:start;
}
.hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:none;
}
.hero-copy,.hero-card,.content-card,.sidebar-card,.legal-card,.card{padding:30px}
.topic-card,.faq-card,.cta-panel{padding:26px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:999px;
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.16);
  color:var(--blue2);font-size:12px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;
}
.dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}
h1,h2,h3,h4,p,ul,ol{margin:0}
h1{font-size:clamp(28px,3.6vw,44px);line-height:1.08;letter-spacing:-.035em;margin-top:18px}
h2{font-size:clamp(22px,2.8vw,34px);line-height:1.14;letter-spacing:-.025em;margin-bottom:12px}
h3{font-size:22px;line-height:1.18;letter-spacing:-.025em;margin-bottom:10px}
h4{font-size:16px;line-height:1.35;margin-bottom:10px}
p+p{margin-top:16px}
.lead{font-size:20px;color:var(--muted);max-width:64ch;margin-top:18px}
.muted,.small{color:var(--muted)}
.small{font-size:14px}
ul,ol{padding-left:20px}
li+li{margin-top:8px}

.hero-actions,.hero-cta,.cta-actions,.footer-nav,.pill-list,.meta-pills,.plan-features{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.hero-actions,.hero-cta{margin-top:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:12px 18px;border-radius:14px;
  border:1px solid var(--line);background:#fff;color:var(--text);
  font-size:14px;font-weight:800;box-shadow:none;
}
.btn-primary,.btn.primary{background:linear-gradient(135deg,var(--blue2),var(--blue));border:none;color:#fff;box-shadow:none;color:var(--muted);border:none;box-shadow:none;min-height:auto;padding:0;border-radius:0}
.btn-secondary:hover,.btn.secondary:hover{background:transparent;color:var(--text);text-decoration:underline;box-shadow:none;
  border:none;
  color:var(--muted);
  box-shadow:none;
  min-height:auto;
  padding:0;
  border-radius:0;
}
.btn.ghost:hover{background:transparent;color:var(--text);text-decoration:underline}

.mini-metrics,.list-meta,.faq-list,.grid,.faq-grid,.subscription-grid{
  display:grid;
  gap:16px;
}
.mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px}
.mini-metrics div,.meta-box,.metric,.signal{
  padding:16px 18px;border-radius:16px;border:1px solid var(--line);
  background:var(--surface);
}
.mini-metrics strong,.meta-box strong{display:block;font-size:15px;color:var(--text)}
.mini-metrics span,.meta-box span{display:block;font-size:13px;color:var(--muted);margin-top:6px}

.subpage-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:28px;
  align-items:start;
}
.content-card{padding:34px}
.content-section + .content-section{
  margin-top:34px;
  padding-top:34px;
  border-top:1px solid var(--line);
}
.content-section > .pill-list,
.content-section > .hero-actions,
.content-section > .cta-actions,
.content-section > .meta-pills,
.content-section > ul,
.content-section > ol,
.content-section > .provider-logo-block,
.content-section > .list-meta,
.content-section > .bullet-list,
.content-section > .score-bar,
.content-section > .status-note{margin-top:18px}
.content-section > h3 + p,
.content-section > h2 + p,
.content-section > h4 + p{margin-top:10px}

.sidebar-card{
  position:sticky;
  top:98px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.sidebar-card h3{margin-bottom:0}

.pill-list{margin-top:18px}
.pill{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  background:#f8fbff;border:1px solid var(--line);
  color:#34506e;font-size:13px;font-weight:700;line-height:1.2;
}

.faq-list{margin-top:20px}
.faq-item{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:none;
  overflow:hidden;
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:18px 20px;
  font-weight:800;
  line-height:1.45;
  position:relative;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:'+';
  position:absolute;
  right:18px;top:50%;transform:translateY(-50%);
  font-size:22px;font-weight:400;color:var(--blue2);
}
.faq-item[open] summary::after{content:'–'}
.faq-item p{padding:0 20px 20px;color:var(--muted)}

.cta-panel{
  margin-top:34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:20px 24px;
  align-items:end;
}
.cta-panel .eyebrow{margin-bottom:14px}
.cta-panel h2{margin-bottom:0}
.cta-panel p{margin-top:12px;color:var(--muted);max-width:60ch}
.cta-actions{align-items:center;justify-content:flex-end}

.footer{padding:34px 0 58px}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(140px,1fr));
  gap:28px;
  padding:28px;
  background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:none;flex-direction:column;gap:10px}
.footer-grid > div{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.footer-grid h4{margin-bottom:2px}
.footer-copy{color:var(--muted);max-width:34ch;margin-top:8px}
.footer-grid a{display:block;color:var(--muted);line-height:1.45}
.footer-grid a:hover{color:var(--text)}

.provider-logo-block{display:flex;align-items:center;gap:16px;margin-top:20px}
.provider-logo-badge{
  width:76px;height:76px;border-radius:18px;
  background:#0f172a;border:1px solid rgba(148,163,184,.25);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;
  box-shadow:none;height:100%;object-fit:cover}
.provider-logo-meta{display:flex;flex-direction:column;gap:5px}
.provider-logo-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.provider-logo-name{font-size:14px;color:#0f172a;font-weight:700}

.provider-logo-refined,.provider-logo img,.provider-card img[src*="provider-logos"]{image-rendering:auto}
.provider-logo-shell{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px;border:1px solid rgba(148,163,184,.18);
  border-radius:18px;background:rgba(15,23,42,.35)
}

.provider-hero .provider-logo-block{margin-top:24px}
.provider-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.badge{
  display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;
  font-size:11px;font-weight:800;letter-spacing:.02em;border:1px solid var(--line)
}
.badge-institutional{background:#f8fbff;color:#385270}
.badge-featured{background:rgba(37,99,235,.12);color:var(--blue2);border-color:rgba(37,99,235,.22)}
.badge-pending{background:rgba(245,158,11,.12);color:#b45309;border-color:rgba(245,158,11,.26)}
.score-wrap{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-top:16px}
.score-copy{display:flex;flex-direction:column;gap:4px}
.score{font-size:34px;font-weight:900;letter-spacing:-.05em;line-height:1}
.score-label{font-size:11px;color:#6b7c93;text-transform:uppercase;letter-spacing:.1em}
.score-bar{height:10px;border-radius:999px;background:#e8eef8;overflow:hidden;margin-top:14px}
.score-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#60a5fa)}
.status-note{font-size:13px;color:var(--muted)}
.bullet-list{display:grid;gap:10px;padding-left:0;list-style:none}
.bullet-list li{
  padding-left:18px;position:relative;color:var(--text)
}
.bullet-list li::before{
  content:'';width:7px;height:7px;border-radius:50%;background:var(--blue);
  position:absolute;left:0;top:.65em
}

.logo-shell{width:64px;height:64px;border-radius:18px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;box-shadow:none;height:100%;object-fit:contain;padding:8px;background:#fff}
.provider-card{display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:24px;border:2px solid var(--line)}
.provider-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.provider-ident{display:flex;gap:16px;align-items:flex-start;flex:1}
.provider-name{font-size:20px;font-weight:800;letter-spacing:-.03em}
.provider-sub{font-size:13px;color:var(--muted);margin-top:4px}
.provider-bottom{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}

@media (max-width:1080px){
  .hero-inner,.subpage-grid,.footer-grid,.cta-panel{grid-template-columns:1fr}
  .sidebar-card{position:static}
  .cta-actions{justify-content:flex-start}
}
@media (max-width:820px){
  .mini-metrics,.list-meta,.subscription-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .container{padding:0 18px}
  .nav{align-items:flex-start;flex-direction:column}
  .navlinks{width:100%}
  .navlinks a{flex:1 1 calc(50% - 10px);text-align:center}
  .hero{padding:28px 0 20px}
  .hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card{padding:22px;border-radius:20px}
  h1{font-size:clamp(26px,8vw,34px)}
  h2{font-size:clamp(20px,6.6vw,28px)}
  .lead{font-size:18px}
  .hero-actions,.hero-cta,.cta-actions,.footer-nav,.pill-list{flex-direction:column;align-items:stretch}
  .btn,.pill{width:100%}
  .mini-metrics,.list-meta,.faq-grid,.grid,.subscription-grid{grid-template-columns:1fr}
  .footer-grid{padding:22px}
  .content-section + .content-section{margin-top:28px;padding-top:28px}
  .faq-item summary{padding:16px 18px 16px 18px}
  .faq-item p{padding:0 18px 18px}
  .provider-logo-badge{width:68px;height:68px}
}


.provider-logo-badge,
.logo-shell{
  background:#ffffff;
  border:1px solid rgba(11,26,43,.08);
  box-shadow:none;
}
.provider-logo-badge img,
.logo-shell img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#ffffff;
  border-radius:14px;
}
.provider-card .logo-shell{
  padding:8px;
}
.provider-card .logo-shell img{
  border-radius:12px;
}


.open-page-btn,
.open-page-link,
.resource-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:12px;
  background:#ffffff;
  border:1px solid var(--line);
  color:var(--text);
  font-weight:700;
  box-shadow:none;
}
.open-page-btn:hover,
.open-page-link:hover,
.resource-link:hover{
  background:#f8fafc;
  color:var(--text);
  text-decoration:none;
  box-shadow:none;
}

/* subpage button readability fixes */
.btn-primary,.btn.primary,
a.btn-primary,a.btn.primary,
button.btn-primary,button.btn.primary{
  color:#ffffff !important;
  background:#2563eb !important;
  border:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.btn-secondary,.btn.secondary,
a.btn-secondary,a.btn.secondary{
  color:#0f172a !important;
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  text-decoration:none !important;
}
.cta-actions .btn,
.hero-actions .btn,
.hero-cta .btn{
  min-height:46px;
  padding:0 16px !important;
  border-radius:12px !important;
  font-weight:800 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.related-pages .pill,
.sidebar-card .pill{
  color:#334155 !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-align:center;
  line-height:1.3;
  height:auto;
  min-height:44px;
}

/* institutional clean buttons and links on subpages */
.hero-actions .btn,
.hero-cta .btn,
.cta-actions .btn{
  min-height:46px !important;
  padding:0 16px !important;
  border-radius:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}
.btn-primary,.btn.primary,
a.btn-primary,a.btn.primary,
button.btn-primary,button.btn.primary{
  background:#2563eb !important;
  color:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.btn-primary:hover,.btn.primary:hover{
  background:#1d4ed8 !important;
  color:#ffffff !important;
}
.btn-secondary,.btn.secondary,
a.btn-secondary,a.btn.secondary{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.btn-secondary:hover,.btn.secondary:hover{
  background:#f8fafc !important;
  color:#0f172a !important;
}
.open-page-btn,
.open-page-link,
.resource-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 14px !important;
  border-radius:12px !important;
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  color:#0f172a !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.open-page-btn:hover,
.open-page-link:hover,
.resource-link:hover{
  background:#f8fafc !important;
  color:#0f172a !important;
}

/* responsive repair for subpages */
html,body{overflow-x:hidden}
.container{max-width:1240px;width:100%}
img{max-width:100%;height:auto}
.header{position:sticky;top:0;z-index:50;background:#fff}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;min-height:84px;flex-wrap:nowrap;
}
.navlinks{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;
}
.navlinks a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 16px;border-radius:14px;white-space:nowrap;
}
.hero-inner,
.subpage-grid,
.footer-grid{
  min-width:0;
}
.hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:24px;
}
.subpage-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
}
.content-card,.sidebar-card,.hero-copy,.hero-card,.topic-card,.faq-card,.cta-panel,.card{
  min-width:0;
}
.provider-logo-block,.cta-actions,.hero-actions,.hero-cta{
  flex-wrap:wrap;
}
@media (max-width:1100px){
  .nav{flex-wrap:wrap;align-items:flex-start}
  .navlinks{justify-content:flex-start}
  .hero-inner,
  .subpage-grid,
  .footer-grid{
    grid-template-columns:1fr !important;
  }
  .sidebar-card{position:static !important}
}
@media (max-width:760px){
  .container{padding-left:16px !important;padding-right:16px !important}
  .nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:auto;padding:14px 0}
  .navlinks{width:100%;display:flex;flex-wrap:wrap;gap:8px}
  .navlinks a{min-height:40px;padding:0 12px;border-radius:12px}
  .hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.card{
    padding:18px !important;
    border-radius:18px !important;
  }
  .hero-actions,.hero-cta,.cta-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .hero-actions .btn,
  .hero-cta .btn,
  .cta-actions .btn,
  .open-page-btn,
  .open-page-link,
  .resource-link{
    width:100% !important;
  }
  .provider-logo-block{flex-direction:column;align-items:flex-start}
}


/* global safety for long button labels and footer chips */
.footer-nav a,
.related-pages a,
.sidebar-card a.pill{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-align:center;
  line-height:1.3;
}


/* mobile polish pass */
.btn,.open-page-btn,.open-page-link,.resource-link,.navlinks a,.footer-nav a{
  border-radius:14px;
  min-height:46px;
  line-height:1.2;
}
.btn-primary,.btn.primary,
a.btn-primary,a.btn.primary,
button.btn-primary,button.btn.primary{
  background:#2563eb !important;
  color:#ffffff !important;
  border:none !important;
  padding:0 16px !important;
  min-height:46px !important;
  border-radius:14px !important;
}
.btn-secondary,.btn.secondary,
a.btn-secondary,a.btn.secondary,
.open-page-btn,.open-page-link,.resource-link,
.navlinks a,.footer-nav a{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,.10) !important;
  min-height:46px !important;
  padding:0 16px !important;
  border-radius:14px !important;
  text-decoration:none !important;
}
.pill,
.related-pages .pill,
.sidebar-card .pill{
  width:auto !important;
  max-width:100%;
  min-height:34px;
  padding:8px 12px !important;
  border-radius:999px !important;
  line-height:1.28 !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card,.provider-card{
  border-radius:24px;
}
.provider-card,
.content-card,
.sidebar-card,
.topic-card,
.faq-card,
.cta-panel,
.legal-card,
.card{
  border:2px solid rgba(226,232,240,.95);
}
.content-section > h2,
.content-section > h3,
.content-card h1,
.content-card h2,
.content-card h3{
  line-height:1.12;
}
.content-card p,
.sidebar-card p,
.content-section p,
.content-section li{
  line-height:1.68;
}
@media (max-width:760px){
  .container{padding:0 18px !important;}
  .hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card,.provider-card{
    padding:20px !important;
    border-radius:18px !important;
  }
  h1{font-size:clamp(28px,8.5vw,36px) !important;line-height:1.07 !important;}
  h2{font-size:clamp(22px,6.5vw,30px) !important;line-height:1.12 !important;}
  h3{font-size:clamp(18px,5.2vw,24px) !important;line-height:1.18 !important;}
  .lead{font-size:17px !important;line-height:1.65 !important;}
  .hero-actions,.hero-cta,.cta-actions{gap:10px !important;}
  .hero-actions .btn,
  .hero-cta .btn,
  .cta-actions .btn,
  .open-page-btn,
  .open-page-link,
  .resource-link,
  .footer-nav a,
  .navlinks a{
    width:100% !important;
    min-height:46px !important;
    padding:0 16px !important;
    border-radius:14px !important;
    font-size:15px !important;
  }
  .pill-list,
  .meta-pills{flex-direction:row !important;align-items:flex-start !important;}
  .pill,
  .related-pages .pill,
  .sidebar-card .pill{width:auto !important;min-height:34px !important;}
  .mini-metrics div,.meta-box,.metric,.signal{padding:14px 14px !important;border-radius:14px !important;}
  .content-section + .content-section{margin-top:26px !important;padding-top:26px !important;}
  .footer-grid{padding:20px !important;}
}
@media (max-width:420px){
  h1{font-size:clamp(26px,8.8vw,32px) !important;}
  h2{font-size:clamp(20px,6.7vw,26px) !important;}
  .lead{font-size:16px !important;}
  .btn,.open-page-btn,.open-page-link,.resource-link,.navlinks a,.footer-nav a{font-size:14px !important;}
}


/* April 2026 responsive consolidation */
body, .content-card, .sidebar-card, .hero-copy, .hero-card, .topic-card, .faq-card, .cta-panel, .footer-grid, .site-map-list {
  overflow-wrap:anywhere;
  word-break:break-word;
}
.hero-subpage{padding-top:36px}
.section{padding:0 0 28px}
.section + .section{padding-top:6px}
.section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.topic-grid,
.pricing-grid-clean,
.contact-grid,
.network-grid,
.quick-grid,
.metric-grid,
.form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.topic-grid{margin-top:20px}
.topic-card a,
.site-map-list a,
.footer-grid a,
.content-card a,
.sidebar-card a{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.site-map-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px;
  padding-left:20px;
}
.footer-shell,
.filters-shell,
.contact-card,
.research-card,
.provider-value-card,
.pricing-tier-clean{
  background:#fff;
  border:2px solid rgba(226,232,240,.95);
  border-radius:24px;
  padding:24px;
}
.footer-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.tier-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#1d4ed8;
}
.tier-price-clean,
.plan-price{
  font-size:clamp(30px,4vw,42px);
  font-weight:800;
  line-height:1;
  letter-spacing:-.04em;
}
.plan-note,.micro-note,.tier-note{font-size:14px;color:var(--muted)}
.contact-grid > *,
.network-grid > *,
.quick-grid > *,
.metric-grid > *,
.topic-grid > *,
.pricing-grid-clean > *{min-width:0}
@media (max-width:980px){
  .topic-grid,
  .pricing-grid-clean,
  .contact-grid,
  .network-grid,
  .quick-grid,
  .metric-grid,
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-map-list{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero-subpage{padding-top:24px}
  .mini-metrics{grid-template-columns:1fr !important}
  .topic-grid,
  .pricing-grid-clean,
  .contact-grid,
  .network-grid,
  .quick-grid,
  .metric-grid,
  .form-grid,
  .site-map-list{grid-template-columns:1fr !important}
  .footer-grid{gap:20px !important}
  .footer-grid > div{gap:10px !important}
  .footer-copy{max-width:none}
  .provider-top,
  .provider-ident,
  .score-wrap{flex-direction:column;align-items:flex-start}
  .provider-bottom{display:grid;grid-template-columns:1fr;gap:10px}
  .provider-bottom .btn,
  .provider-bottom a,
  .provider-card .btn{width:100% !important}
  .site-map-list{padding-left:18px}
}
@media (max-width:480px){
  .navlinks a{flex:1 1 100%}
  .brand{min-width:0}
  .brand span:last-child{overflow-wrap:anywhere;word-break:break-word}
  .mini-metrics div,
  .meta-box,
  .metric,
  .signal{padding:13px 12px !important}
  .footer-shell,
  .filters-shell,
  .contact-card,
  .research-card,
  .provider-value-card,
  .pricing-tier-clean{padding:18px}
}

/* Final mobile hardening for legal and utility pages */
html,body{max-width:100%;overflow-x:hidden}
.container,
.hero-inner,
.subpage-grid,
.footer-grid,
.content-card,
.sidebar-card,
.hero-copy,
.hero-card,
.site-map-list,
.pricing-grid-clean,
.topic-grid,
.faq-list,
.cta-panel{
  min-width:0;
}
.content-card a,
.sidebar-card a,
.hero-card a,
.footer-grid a,
.site-map-list a,
.mini-metrics span,
.pill,
.lead,
p,
li,
strong,
span{
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media (max-width:980px){
  .hero-inner,
  .subpage-grid,
  .cta-panel,
  .footer-grid{
    grid-template-columns:1fr !important;
  }
  .sidebar-card{
    position:static !important;
    top:auto !important;
  }
}

@media (max-width:760px){
  .header{position:sticky !important;top:0 !important}
  .nav{
    min-height:auto !important;
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:12px !important;
    padding:14px 0 !important;
  }
  .brand{width:100% !important}
  .brand-mark{flex:0 0 44px !important}
  .navlinks{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:10px !important;
  }
  .navlinks a{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
  }
  .hero,
  .hero.hero-subpage{padding:20px 0 18px !important}
  .hero-inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .subpage-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .content-card,
  .hero-copy,
  .hero-card,
  .sidebar-card,
  .footer-grid,
  .footer-shell,
  .pricing-tier-clean,
  .topic-card,
  .faq-card,
  .cta-panel{
    width:100% !important;
    max-width:100% !important;
  }
  .mini-metrics{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .hero-actions,
  .cta-actions,
  .footer-nav,
  .pill-list{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .hero-actions .btn,
  .cta-actions .btn,
  .footer-nav a,
  .pill-list .pill,
  .sidebar-card .pill{
    width:100% !important;
  }
  .pill-list .pill{
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .site-map-list{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding-left:18px !important;
  }
  .site-map-list li{
    min-width:0 !important;
  }
  .pricing-grid-clean,
  .topic-grid{
    grid-template-columns:1fr !important;
  }
  .content-section + .content-section{
    margin-top:22px !important;
    padding-top:22px !important;
  }
}

@media (max-width:480px){
  .container{padding:0 16px !important}
  .hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.footer-grid,.footer-shell,.pricing-tier-clean{
    padding:18px !important;
  }
  h1{font-size:30px !important}
  h2{font-size:24px !important}
  h3{font-size:20px !important}
  .lead{font-size:16px !important}
  .tier-price-clean,
  .plan-price{font-size:32px !important}
}

@media (max-width:760px){
  body.page-imprint .hero-card,
  body.page-disclaimer .hero-card,
  body.page-site-map .hero-card,
  body.page-pricing .hero-card{
    order:2;
  }
}


/* Dark theme test version */
:root{
  --bg:#061224;
  --bg2:#0b1830;
  --card:#0d1b34;
  --surface:#10203d;
  --line:rgba(148,163,184,.18);
  --line-strong:rgba(148,163,184,.28);
  --text:#f8fbff;
  --muted:#c5d2e6;
  --soft:#9fb2d4;
  --blue:#5b9cff;
  --blue2:#3d7cf0;
  --shadow:0 18px 48px rgba(0,0,0,.32);
  --shadow-sm:0 10px 30px rgba(0,0,0,.26);
}
html{color-scheme:dark}
body{background:linear-gradient(180deg,#061224 0%,#08172b 100%) !important;color:var(--text) !important}
a{color:inherit}
.header,.footer,.hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card,.footer-grid,.faq-item,.mini-metrics div,.meta-box,.metric,.signal,.pill,.btn,.provider-logo-badge,.provider-logo-shell{background:var(--card) !important;color:var(--text) !important;border-color:var(--line) !important;box-shadow:none !important}
.header{background:rgba(6,18,36,.92) !important;border-bottom-color:var(--line) !important}
.navlinks a,.pill,.badge-institutional,.badge-standard,.badge-pending,.badge-featured{background:rgba(255,255,255,.04) !important;color:var(--muted) !important;border-color:var(--line) !important}
.navlinks a:hover,.btn:hover,.btn.ghost:hover,.btn.secondary:hover{background:rgba(255,255,255,.08) !important;color:#fff !important;text-decoration:none !important}
.btn-primary,.btn.primary{background:linear-gradient(135deg,var(--blue2),var(--blue)) !important;color:#fff !important;border:none !important;padding:12px 18px !important;border-radius:14px !important;min-height:48px !important}
.btn-secondary,.btn.secondary,.btn.ghost{background:transparent !important;color:var(--muted) !important;border:none !important;padding:0 !important;min-height:auto !important;border-radius:0 !important}
.brand,.brand em,h1,h2,h3,h4,strong,summary,.provider-logo-name,.provider-name,.meta-box strong,.mini-metrics strong,.signal strong{color:#fff !important}
p,li,.muted,.small,.lead,.footer-copy,.footer-grid a,.faq-item p,.provider-sub,.status-note,.provider-logo-label,.meta-box span,.mini-metrics span,.signal span{color:var(--muted) !important}
.eyebrow,.badge-featured{background:rgba(91,156,255,.12) !important;color:#dce9ff !important;border-color:rgba(91,156,255,.28) !important}
.badge-pending{background:rgba(245,158,11,.14) !important;color:#ffd38a !important;border-color:rgba(245,158,11,.30) !important}
.badge-standard{color:var(--muted) !important}
.provider-logo-label{color:#9fb2d4 !important}
input,select,textarea,.search-input,.select{background:#0b1830 !important;color:#fff !important;border-color:var(--line) !important}
input::placeholder,textarea::placeholder{color:#9fb2d4 !important}
::selection{background:rgba(91,156,255,.28);color:#fff}
@media (max-width: 767px){
  body{background:#061224 !important}
  .header{background:rgba(6,18,36,.96) !important}
  .footer-grid,.hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card{border-radius:20px !important}
}


/* Final dark theme consistency pass */
:root{
  --bg:#041225;
  --bg2:#081a33;
  --card:#0a1b34;
  --card2:#102542;
  --surface:#0d223f;
  --line:rgba(148,163,184,.22);
  --line-strong:rgba(148,163,184,.34);
  --text:#f8fbff;
  --muted:#c7d4e8;
  --soft:#9eb0cb;
  --blue:#5b9cff;
  --blue2:#3d7cf0;
  --shadow:none;
  --shadow-sm:none;
}
html{color-scheme:dark;background:var(--bg)}
body{
  background:linear-gradient(180deg,#041225 0%,#07172c 100%) !important;
  color:var(--text) !important;
}
.header,
.footer,
main,
section{background:transparent}
.header{
  background:rgba(4,18,37,.94) !important;
  border-bottom:1px solid var(--line) !important;
}
.brand,
.brand em,
h1,h2,h3,h4,
strong,
.provider-name,
.provider-logo-name,
.tier-price-clean,
.tier-price,
.tier-price span,
.price-amount,
.price-line,
.price-line *,
.footer-grid h4,
.footer-shell h4,
.footer-shell strong,
.card h3,
.content-card h3,
.sidebar-card h3,
.topic-card h3,
.faq-card h3,
.legal-card h3,
.research-card h3,
.contact-card h3,
.provider-value-card h3,
.no-results-card h3{
  color:var(--text) !important;
}
p, li, .muted, .small, .lead, .footer-copy,
.provider-sub, .provider-logo-label, .status-note,
.plan-note, .micro-note, .tier-note,
.tier-copy, .price-period, .price-subline,
.pricing-tier-clean p, .pricing-tier-clean ul,
.pricing-tier p, .pricing-tier ul,
.footer-grid a, .footer-shell a,
.content-card p, .content-card li,
.sidebar-card p, .sidebar-card li,
.topic-card p, .faq-card p, .legal-card p,
.research-card p, .contact-card p,
.content-section p, .content-section li,
.meta-box span, .signal span, .mini-metrics span,
.no-results-card p, .score-label{
  color:var(--muted) !important;
}
.hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card,
.provider-card,.pricing-tier,.pricing-tier-clean,.pricing-card,
.footer-grid,.footer-shell,.filters-shell,.contact-card,.research-card,.provider-value-card,
.metric,.signal,.meta-box,.mini-metrics div,.score-note,.faq-item,.no-results-card,.search-shell,
.provider-modal-card,.lead-gate-card{
  background:var(--card) !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
  box-shadow:none !important;
}
.hero,.hero-subpage,.section{background:transparent !important}
.mini-metrics div,.meta-box,.metric,.signal,
.score-note,.pill,.badge,.tier-kicker,
.navlinks a,.footer-nav a,.faq-item summary,
.open-page-btn,.open-page-link,.resource-link,
.search-input,.select,textarea,input,
form.card select,form.contact-card select{
  background:rgba(255,255,255,.04) !important;
  border-color:var(--line) !important;
  color:var(--text) !important;
}
.search-input::placeholder, textarea::placeholder, input::placeholder{color:#9fb2d4 !important}
.select option, form.card select option, form.contact-card select option{background:var(--card) !important;color:var(--text) !important}
.btn,
.btn-secondary,.btn.secondary,
.btn.ghost,
a.btn-secondary,a.btn.secondary,
.open-page-btn,.open-page-link,.resource-link,
.navlinks a,.footer-nav a{
  background:rgba(255,255,255,.04) !important;
  color:var(--text) !important;
  border:1px solid var(--line) !important;
  text-decoration:none !important;
}
.btn:hover,
.btn-secondary:hover,.btn.secondary:hover,
.btn.ghost:hover,
.open-page-btn:hover,.open-page-link:hover,.resource-link:hover,
.navlinks a:hover,.footer-nav a:hover{
  background:rgba(255,255,255,.09) !important;
  color:#ffffff !important;
}
.btn-primary,.btn.primary,
a.btn-primary,a.btn.primary,
button.btn-primary,button.btn.primary{
  background:linear-gradient(135deg,var(--blue2),var(--blue)) !important;
  color:#ffffff !important;
  border:none !important;
}
.btn-primary:hover,.btn.primary:hover{filter:brightness(1.05)}
.pill,.badge-institutional,.badge-standard,.badge-pending,.badge-featured,.tier-kicker{
  color:var(--muted) !important;
}
.badge-featured,.eyebrow{
  background:rgba(91,156,255,.14) !important;
  border-color:rgba(91,156,255,.34) !important;
  color:#dce9ff !important;
}
.badge-pending{background:rgba(245,158,11,.14) !important;border-color:rgba(245,158,11,.30) !important;color:#ffd38a !important}
.badge-verified{background:rgba(16,185,129,.16) !important;border-color:rgba(16,185,129,.30) !important;color:#bbf7d0 !important}
.footer-grid,.footer-shell{background:var(--card2) !important}
.logo-shell,.provider-logo-badge,.provider-logo-shell{background:#ffffff !important;border-color:rgba(255,255,255,.10) !important}
.logo-shell img,.provider-logo-badge img{background:#ffffff !important}
.score-bar{background:rgba(255,255,255,.10) !important}
.score-fill{background:linear-gradient(90deg,#5b9cff,#8ab7ff) !important}
.faq-item summary::after{color:#dce9ff !important}
.tier-price-clean span,.price-period,.price-subline,.tier-copy,.micro-note,.plan-note,.tier-note{color:var(--muted) !important}
.footer-copy,.footer-grid a,.footer-shell a{color:var(--muted) !important}
.footer-grid a:hover,.footer-shell a:hover{color:#ffffff !important}
@media (max-width:760px){
  body{background:#041225 !important}
  .header{background:rgba(4,18,37,.97) !important}
}


/* === FINAL DARK CONSISTENCY FIXES v42 === */
body{background:linear-gradient(180deg,#04101f 0%,#071a32 100%) !important;color:#ffffff !important}
.header,.footer{background:transparent !important}
.hero,.hero-subpage,.content-card,.sidebar-card,.cta-panel,.footer-grid>div,.pill,.faq-item,.faq-list details,.provider-logo-block,.mini-metrics>div,.hero-card,.navlinks a,.btn.btn-secondary{background:#0d1b36 !important;color:#ffffff !important;border-color:rgba(148,163,184,.16) !important}
.content-card p,.sidebar-card p,.cta-panel p,.footer-copy,.pill,.faq-item p,.faq-item summary,.lead,.provider-logo-meta,.mini-metrics span,.navlinks a,.footer a{color:#d3def4 !important}
.content-card h1,.content-card h2,.content-card h3,.sidebar-card h3,.cta-panel h2,.footer h4,.hero h1,.hero h2,.mini-metrics strong{color:#ffffff !important}
.btn.btn-secondary:hover,.navlinks a:hover,.pill:hover{background:#15305d !important}
input,textarea,select{background:#10213f !important;color:#ffffff !important;border-color:rgba(148,163,184,.18) !important}
input::placeholder,textarea::placeholder{color:#9fb2d9 !important}


/* v48 final provider spacing and white text */


html,body{color:#ffffff !important;}
body *{text-shadow:none !important;}
body, p, li, span, small, label, legend, summary, details, dt, dd, figcaption,
.muted, .small, .lead, .eyebrow, .provider-sub, .provider-logo-label, .provider-logo-name,
.footer-copy, .footer a, .footer p, .navlinks a, .pill, .status-note, .meta-box span,
.mini-metrics span, .signal span, .topic-card p, .faq-item p, .cta-panel p, .content-card p,
.sidebar-card p, .card p, .provider-card p, .guide-intro, .filter-hint, .count-pill,
.plan-note, .micro-note, .tier-note, .price-period, .price-subline, .tier-copy,
.badge, .badge-standard, .badge-pending, .badge-featured, .badge-institutional,
.provider-description, .provider-meta, .footer-shell a, .footer-shell p{
  color:#ffffff !important;
}
h1,h2,h3,h4,h5,h6,strong,b,.brand,.brand em,.content-card h2,.sidebar-card h3,.cta-panel h2,
.provider-name,.provider-card h3,.hero h1,.hero h2,.hero h3,.faq-item summary,.mini-metrics strong,
.meta-box strong,.signal strong,.topic-card h3,.footer h4,.score-label,.score-value,.provider-logo-name{
  color:#ffffff !important;
}
a, a:visited, a:hover, a:active, button, .btn, .btn span, [type="button"], [type="submit"]{
  color:#ffffff !important;
}
input, textarea, select, option{color:#ffffff !important;}
input::placeholder, textarea::placeholder{color:rgba(255,255,255,.78) !important;}
.provider-hero{padding-bottom:14px !important;}
.provider-hero .hero-inner{gap:18px !important;align-items:start !important;}
.provider-hero .hero-copy{padding-bottom:0 !important;}
.provider-hero .lead{margin-top:12px !important;margin-bottom:0 !important;}
.provider-hero .provider-logo-block{margin-top:16px !important;}
.provider-hero .hero-actions{margin-top:16px !important;}
.provider-hero .hero-card{margin-top:0 !important;align-self:start !important;}
.provider-hero + .container.subpage-grid{margin-top:10px !important;align-items:start !important;gap:24px !important;}
article.content-card{padding:34px !important;}
article.content-card .content-section:first-child{padding-top:0 !important;margin-top:0 !important;border-top:0 !important;}
article.content-card .content-section + .content-section{margin-top:24px !important;padding-top:24px !important;}
article.content-card .faq-list{margin-top:14px !important;}
article.content-card .cta-panel{margin-top:24px !important;}
.sidebar-card{align-self:start !important;padding:26px !important;gap:14px !important;}
.sidebar-card .pill-list{margin-top:12px !important;}
@media (max-width: 900px){
  .provider-hero{padding-bottom:12px !important;}
  .provider-hero + .container.subpage-grid{margin-top:8px !important;gap:18px !important;}
  article.content-card{padding:28px !important;}
  article.content-card .content-section + .content-section{margin-top:22px !important;padding-top:22px !important;}
}
@media (max-width: 760px){
  .provider-hero{padding-bottom:8px !important;}
  .provider-hero .hero-inner{gap:14px !important;}
  .provider-hero .lead,.provider-hero .provider-logo-block,.provider-hero .hero-actions{margin-top:12px !important;}
  .provider-hero + .container.subpage-grid{margin-top:6px !important;gap:14px !important;}
  article.content-card,.sidebar-card{padding:22px !important;}
  article.content-card .content-section + .content-section{margin-top:18px !important;padding-top:18px !important;}
  article.content-card .cta-panel{margin-top:20px !important;}
}



/* Global mobile menu for subpages */
.mobile-menu-toggle{
  display:none;
  width:46px;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.16);
  background:#0d1b36;
  color:#ffffff;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  padding:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
}
.mobile-menu-toggle span{
  display:block !important;
  width:18px;
  height:2px;
  min-height:2px;
  margin:0 !important;
  background:#ffffff !important;
  border-radius:999px;
  transition:transform .22s ease, opacity .22s ease;
  flex:0 0 2px;
}
.mobile-menu-toggle span + span{margin-top:0 !important;}
.header.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.header.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0;}
.header.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

@media (max-width:760px){
  .header{position:sticky;top:0;z-index:1200;}
  .nav{
    position:relative !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }
  .brand{width:auto !important; min-width:0; position:relative; z-index:1200; max-width:calc(100% - 68px);}
  .brand span:last-child{max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
  .mobile-menu-toggle{
    display:inline-flex !important;
    flex:0 0 auto;
    position:relative;
    z-index:1202;
    background:#0d1b36 !important;
    border-color:rgba(148,163,184,.20) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.22);
  }
  .mobile-menu-toggle span{background:#ffffff !important;}
  .navlinks{
    display:none !important;
    pointer-events:auto !important;
    position:absolute !important;
    top:calc(100% + 12px) !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:14px !important;
    border-radius:18px !important;
    border:1px solid rgba(148,163,184,.18) !important;
    background:#0b1730 !important;
    box-shadow:0 20px 44px rgba(0,0,0,.28) !important;
    z-index:1201 !important;
  }
  .header.menu-open .nav{align-items:center !important; flex-wrap:nowrap !important;}
  .header.menu-open .navlinks{display:grid !important; z-index:1305 !important;}
  .header.menu-open .brand{z-index:1200 !important;}
  .header.menu-open .mobile-menu-toggle{z-index:1306 !important;}
  .navlinks a{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:48px !important;
    background:#122446 !important;
    color:#ffffff !important;
    border:1px solid rgba(148,163,184,.16) !important;
  }
}


/* v50 readability and imprint cleanup */
.sidebar-card .pill,
.related-pages .pill,
.sidebar-card .pill *,
.related-pages .pill *{
  color:#ffffff !important;
  opacity:1 !important;
}
.sidebar-card .pill{
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(148,163,184,.18) !important;
}
body.page-imprint .hero-card h3,
body.page-imprint .content-card h2{
  color:#ffffff !important;
}


/* v52 subpage CTA spacing and heading wrap fixes */
.cta-panel{
  grid-template-columns:minmax(0,1fr) !important;
  gap:18px !important;
  align-items:start !important;
}
.cta-panel > div:first-child{
  min-width:0;
}
.cta-panel h2{
  max-width:none !important;
  width:100%;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.cta-panel p{
  max-width:64ch !important;
}
.cta-actions{
  justify-content:flex-start !important;
  align-items:center;
  gap:12px;
  width:100%;
}
.cta-actions .btn{
  width:auto;
  flex:0 0 auto;
}
@media (max-width:760px){
  .cta-actions .btn{
    width:100%;
  }
}


/* v53 provider profile spacing fixes */
.provider-hero .hero-copy{
  padding-bottom:26px !important;
}
.provider-hero .hero-actions{
  margin-top:18px !important;
  margin-bottom:6px !important;
}
.provider-hero .hero-actions .btn{
  margin-bottom:0 !important;
}
.provider-hero + .container.subpage-grid{
  margin-top:22px !important;
}
article.content-card .content-section:first-child{
  padding-top:4px !important;
}
@media (max-width: 900px){
  .provider-hero .hero-copy{
    padding-bottom:24px !important;
  }
  .provider-hero + .container.subpage-grid{
    margin-top:18px !important;
  }
}
@media (max-width: 760px){
  .provider-hero .hero-copy{
    padding-bottom:22px !important;
  }
  .provider-hero .hero-actions{
    margin-bottom:4px !important;
  }
  .provider-hero + .container.subpage-grid{
    margin-top:14px !important;
  }
}


/* v55 final spacing, provider filters, and footer cleanup */
.footer{padding:34px 0 56px !important;}
.footer-grid{
  grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:start !important;
  padding:28px !important;
  background:#0d1b36 !important;
  border:1px solid rgba(148,163,184,.16) !important;
}
.footer-grid > div{
  gap:10px !important;
  min-width:0 !important;
  background:transparent !important;
  padding:0 !important;
}
.footer-grid h4{
  margin:0 0 4px !important;
  color:#ffffff !important;
}
.footer-copy{
  margin:10px 0 0 !important;
  max-width:34ch !important;
  color:#d3def4 !important;
  line-height:1.65 !important;
}
.footer-grid a{
  color:#ffffff !important;
  line-height:1.5 !important;
}
.footer-grid a:hover{color:#dce9ff !important;}
.footer-grid .brand{margin-bottom:2px !important;}
.footer-grid .brand-mark{flex:0 0 56px !important; width:56px !important; height:56px !important;}
.hero-subpage + .section,
main > .section:first-of-type{padding-top:10px !important;}
.pricing-grid-clean{margin-top:18px !important;}
@media (max-width:980px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr !important;padding:22px !important;gap:20px !important;}
  .footer-copy{max-width:none !important;}
}

/* v56 footer rhythm and score spacing */
.footer-grid,
.footer-grid > div,
.footer-grid .brand,
.footer-grid .brand *,
.footer-grid h4,
.footer-grid p,
.footer-grid a{
  box-sizing:border-box !important;
}
.footer-grid{
  gap:28px !important;
  padding:30px !important;
  background:#0d1b36 !important;
}
.footer-grid > div{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:12px !important;
}
.footer-grid .brand{margin-bottom:6px !important;}
.footer-copy{margin-top:12px !important; max-width:32ch !important;}
.footer-grid a{display:block !important; padding:0 !important; background:transparent !important; border:none !important;}
.footer-grid .pill,
.footer-grid .btn,
.footer-grid .card{background:transparent !important; border:none !important;}
.score-bar,
.content-section > .score-bar{
  margin-top:25px !important;
  margin-bottom:25px !important;
}
@media (max-width:760px){
  .footer-grid{padding:24px !important; gap:22px !important;}
}


/* v57 footer refinement for subpages */
.footer-shell,.footer-grid,.footer-grid > *, .footer-shell > *{background:transparent !important; box-shadow:none !important;}
.footer-shell,.footer-grid{align-items:flex-start !important; gap:26px !important; padding:28px !important; background:#0d1b36 !important; border-color:rgba(255,255,255,.10) !important;}
.footer-grid a,.footer-shell a,.footer-copy,.footer-grid p,.footer-shell p{color:#d3def4 !important;}
.footer-grid h4,.footer-shell h4,.footer-grid strong,.footer-shell strong{color:#ffffff !important;}
.footer-grid a:hover,.footer-shell a:hover{color:#ffffff !important;}
@media (max-width:760px){.footer-shell,.footer-grid{padding:24px !important;gap:20px !important;}}


/* v59 subpage footer and hero refinement */
.footer{padding:28px 0 44px !important;}
.footer-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  padding:24px !important;
  background:#0b1b36 !important;
  border:1px solid rgba(148,163,184,.16) !important;
  align-items:start !important;
}
.footer-grid > div{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:10px !important;
}
.footer-grid .brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin-bottom:6px !important;
}
.footer-grid .brand-mark{width:56px !important;height:56px !important;flex:0 0 56px !important;}
.footer-copy{margin:0 !important;max-width:32ch !important;color:#d7e3f8 !important;line-height:1.65 !important;}
.footer-grid h4{margin:0 0 6px !important;font-size:16px !important;color:#ffffff !important;}
.footer-grid a{
  display:block !important;
  padding:2px 0 !important;
  background:transparent !important;
  border:none !important;
  color:#ffffff !important;
  line-height:1.45 !important;
}
.footer-grid a:hover{color:#dce9ff !important;text-decoration:none !important;}
@media (max-width:980px){
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr !important;padding:22px !important;gap:18px !important;}
  .footer-copy{max-width:none !important;}
}

/* v63 professional footer refinement */
.footer{
  padding:30px 0 46px !important;
}
.footer-grid{
  background:#0b1a34 !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:28px !important;
  padding:30px 34px !important;
  gap:28px !important;
  grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.8fr)) !important;
  align-items:start !important;
}
.footer-grid > div{
  min-width:0 !important;
  gap:12px !important;
}
.footer-grid .brand{
  gap:14px !important;
  align-items:center !important;
  margin-bottom:4px !important;
}
.footer-grid .brand-mark{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
}
.footer-copy{
  margin:4px 0 0 !important;
  max-width:34ch !important;
  color:#d6e2f6 !important;
  line-height:1.7 !important;
}
.footer-grid h4{
  margin:0 0 4px !important;
  font-size:17px !important;
  line-height:1.3 !important;
  color:#ffffff !important;
}
.footer-grid a{
  display:block !important;
  padding:0 !important;
  background:none !important;
  border:none !important;
  color:#d6e2f6 !important;
  line-height:1.55 !important;
}
.footer-grid a:hover{
  color:#ffffff !important;
}
@media (max-width: 980px){
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:26px !important;
    gap:24px !important;
  }
  .footer-copy{max-width:none !important;}
}
@media (max-width: 760px){
  .footer{
    padding:24px 0 38px !important;
  }
  .footer-grid{
    grid-template-columns:1fr !important;
    padding:22px !important;
    gap:18px !important;
    border-radius:22px !important;
  }
}


/* v66 subpage hero to first content spacing */
.hero-subpage + .container.subpage-grid,
.hero-subpage + .section,
main > .section:first-of-type,
main > .container.subpage-grid:first-of-type{
  margin-top:45px !important;
  padding-top:0 !important;
}
@media (max-width:980px){
  .hero-subpage + .container.subpage-grid,
  .hero-subpage + .section,
  main > .section:first-of-type,
  main > .container.subpage-grid:first-of-type{
    margin-top:36px !important;
  }
}
@media (max-width:760px){
  .hero-subpage + .container.subpage-grid,
  .hero-subpage + .section,
  main > .section:first-of-type,
  main > .container.subpage-grid:first-of-type{
    margin-top:28px !important;
  }
}

/* SEO/GEO quick-win content: preserve the existing design while keeping
   comparison matrices usable on narrow screens. */
.seo-table-wrap{
  width:100%;
  margin-top:18px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  border:1px solid rgba(148,163,184,.28);
  border-radius:16px;
}
.seo-table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  background:#fff;
  color:#172033;
}
.seo-table caption{
  padding:14px 16px;
  color:#334155;
  font-weight:800;
  text-align:left;
  background:#f8fafc;
}
.seo-table th,
.seo-table td{
  padding:13px 15px;
  border-top:1px solid rgba(148,163,184,.24);
  color:#334155 !important;
  text-align:left;
  vertical-align:top;
  line-height:1.55;
}
.seo-table th{
  color:#0f172a !important;
  font-weight:800;
  background:#f8fafc;
}
.seo-table thead th{
  border-top:0;
  background:#eff6ff;
}
.source-list a{
  overflow-wrap:anywhere;
}
.review-note{
  margin-top:14px;
  font-size:13px;
  color:#64748b !important;
}
@media(max-width:760px){
  .seo-table{min-width:620px}
  .seo-table th,.seo-table td{padding:11px 12px;font-size:14px}
}

/* source: final-audit-fixes.css */

/* Final audit fixes v69 */
:root{
  --final-bg:#041225;
  --final-card:#0d1b36;
  --final-card-2:#102542;
  --final-line:rgba(148,163,184,.18);
  --final-text:#ffffff;
  --final-muted:#d3def4;
  --final-blue:#5b9bff;
}
html,body{overflow-x:hidden !important;background:var(--final-bg) !important;color:var(--final-text) !important}
body{background:linear-gradient(180deg,#041225 0%,#071a32 100%) !important}
body *{text-shadow:none !important}
a{color:inherit}

/* subpages spacing rhythm */
.hero.hero-subpage + .container.subpage-grid,
.hero.hero-subpage + .section,
.hero + .container.subpage-grid,
.hero + .section{
  margin-top:45px !important;
}
@media (max-width:980px){
  .hero.hero-subpage + .container.subpage-grid,
  .hero.hero-subpage + .section,
  .hero + .container.subpage-grid,
  .hero + .section{margin-top:36px !important;}
}
@media (max-width:760px){
  .hero.hero-subpage + .container.subpage-grid,
  .hero.hero-subpage + .section,
  .hero + .container.subpage-grid,
  .hero + .section{margin-top:28px !important;}
}

/* cards and text */
.hero-copy,.hero-card,.content-card,.sidebar-card,.topic-card,.faq-card,.cta-panel,.legal-card,.card,.provider-card,.footer-grid,.footer-shell,.filters-shell,.contact-card,.research-card,.provider-value-card,.pricing-tier-clean,.pricing-card{
  background:var(--final-card) !important;
  color:var(--final-text) !important;
  border-color:var(--final-line) !important;
  box-shadow:none !important;
}
p,li,span.small,.small,.muted,.lead,.provider-sub,.status-note,.score-label,.footer-copy,.footer-grid a,.footer-shell a,.content-card p,.sidebar-card p,.topic-card p,.faq-card p,.legal-card p,.pricing-card p,.pricing-card li,.provider-card p,.network-links p{
  color:var(--final-muted) !important;
}
h1,h2,h3,h4,strong,.brand,.brand em,.provider-name,.score,.score-value,.price-line,.price-line *,.tier-price-clean,.plan-price,.footer-grid h4,.footer-shell h3,.footer-shell h4,.eyebrow,.hero-copy .eyebrow,.hero-card .eyebrow,.section-head .eyebrow{
  color:var(--final-text) !important;
}
.related-pages .pill,.sidebar-card .pill,.pill,.badge,.mini-metrics div,.meta-box,.metric,.signal,.faq-item,.faq-item summary,.search-input,.select,input,textarea,select{
  background:rgba(255,255,255,.04) !important;
  color:var(--final-text) !important;
  border-color:var(--final-line) !important;
}
.search-input::placeholder, textarea::placeholder, input::placeholder{color:#a9bddc !important}
.badge-pending{background:rgba(245,158,11,.18) !important;color:#ffd58f !important;border-color:rgba(245,158,11,.30) !important}
.badge-institutional,.badge-standard{color:var(--final-text) !important}
.score-bar,.fit-bar{background:rgba(255,255,255,.12) !important}
.score-fill,.fit-fill{background:linear-gradient(90deg,#22c55e,#22c55e) !important}
.provider-card .score-inline,#providers .provider-card .score-inline{margin:25px 0 12px !important;align-items:center !important}
.provider-card .provider-sub,#providers .provider-card .provider-sub,.provider-card .status-note,#providers .provider-card .status-note,.provider-card p,#providers .provider-card p,.provider-card .score-label,#providers .provider-card .score-label{color:var(--final-text) !important;opacity:1 !important}

/* buttons */
.btn-primary,.btn.primary,a.btn-primary,a.btn.primary,button.btn-primary,button.btn.primary{
  background:linear-gradient(135deg,#3d7cf0,#5b9bff) !important;
  color:#ffffff !important;
  border:none !important;
}
.btn-secondary,.btn.secondary,a.btn-secondary,a.btn.secondary,.btn.ghost,.open-page-btn,.open-page-link,.resource-link,.navlinks a,.footer-nav a{
  background:rgba(255,255,255,.04) !important;
  color:#ffffff !important;
  border:1px solid var(--final-line) !important;
  text-decoration:none !important;
}
.btn-secondary:hover,.btn.secondary:hover,.btn.ghost:hover,.open-page-btn:hover,.open-page-link:hover,.resource-link:hover,.navlinks a:hover,.footer-nav a:hover{
  background:rgba(255,255,255,.10) !important;
  color:#ffffff !important;
}

/* footer clean up */
.footer{padding-top:34px !important;padding-bottom:58px !important;background:transparent !important}
.footer-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  padding:28px !important;
  border-radius:24px !important;
  background:var(--final-card-2) !important;
}
.footer-grid > div{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:10px !important;
  background:transparent !important;
  padding:0 !important;
  border:none !important;
}
.footer-grid a{display:block !important;line-height:1.45 !important;padding:0 !important;background:transparent !important;border:none !important;color:var(--final-muted) !important;min-height:0 !important}
.footer-grid a:hover{color:#ffffff !important}
.footer-copy{max-width:34ch !important}

.footer-shell{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr) !important;
  gap:26px !important;
  padding:28px !important;
  border-radius:24px !important;
  background:var(--final-card-2) !important;
  border:1px solid var(--final-line) !important;
}
.footer-shell > *{min-width:0 !important;background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important}
.footer-shell .network-links{max-width:100% !important}
.footer-shell .network-links h3{margin:0 0 10px 0 !important}
.footer-shell .network-links p{margin:0 0 16px 0 !important;color:var(--final-muted) !important;max-width:58ch !important}
.network-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:0 !important;
}
.network-grid a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:56px !important;
  padding:12px 14px !important;
  text-align:center !important;
  line-height:1.3 !important;
  border-radius:16px !important;
  background:#122446 !important;
  border:1px solid var(--final-line) !important;
  color:#ffffff !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}
.footer-shell .small{grid-column:1 / -1 !important;color:#d7e3f8 !important;margin:0 !important}
.footer-nav{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  align-content:start !important;
  margin:0 !important;
}
.footer-nav a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:56px !important;
  padding:12px 14px !important;
  border-radius:16px !important;
  background:#122446 !important;
  border:1px solid var(--final-line) !important;
  color:#ffffff !important;
}

/* provider filter width and alignment */
#providers .filters-shell,
#providers > .filters-shell.container{
  max-width:1160px !important;
  width:calc(100% - 48px) !important;
  margin:0 auto 24px !important;
  padding:24px !important;
  background:var(--final-card) !important;
  border:1px solid var(--final-line) !important;
}
#providers .filters-grid,
#providers .filters-grid-no-search{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
}
#providers .provider-grid{
  max-width:1160px !important;
  margin:24px auto 0 !important;
}
.hero-grid{align-items:start !important}

/* mobile menus */
.mobile-menu-toggle,#subpage-mobile-menu-toggle{
  background:#0d1b36 !important;
  border:1px solid rgba(148,163,184,.20) !important;
  color:#ffffff !important;
}
.mobile-menu-toggle span,#subpage-mobile-menu-toggle span{background:#ffffff !important}
.mobile-menu-panel,
.header.menu-open .mobile-menu-panel,
.subpage-mobile-menu-panel,
.header.menu-open .subpage-mobile-menu-panel{
  background:#0b1730 !important;
  border-color:var(--final-line) !important;
}
.mobile-menu-links a,.subpage-mobile-menu-panel .navlinks a{
  background:#122446 !important;
  color:#ffffff !important;
  border-color:var(--final-line) !important;
}

/* popups */
#lead-gate-modal,
.profile-modal-overlay,
.lead-gate-overlay{z-index:9999 !important}
#lead-gate-modal .lead-gate-card,
#lead-gate-modal .lead-gate-card *,
.profile-modal-card,
.profile-modal-card *{color:#ffffff !important}
#lead-gate-modal .lead-gate-card,
.profile-modal-card{
  background:#0d1b36 !important;
  border:1px solid var(--final-line) !important;
}
#lead-gate-modal .muted,#lead-gate-modal .small,#lead-gate-modal p{color:var(--final-muted) !important}

@media (max-width:980px){
  .footer-grid{grid-template-columns:1fr 1fr !important}
  .footer-shell{grid-template-columns:1fr !important}
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr !important;padding:22px !important;gap:20px !important}
  .footer-shell{grid-template-columns:1fr !important;padding:22px !important;gap:20px !important}
  .network-grid,.footer-nav,#providers .filters-grid,#providers .filters-grid-no-search{grid-template-columns:1fr !important}
  #providers .filters-shell,#providers > .filters-shell.container{width:calc(100% - 36px) !important;padding:20px !important}
  #providers .provider-grid{margin-top:20px !important}
  .footer-nav a,.network-grid a{min-height:50px !important}
}

/* Comprehensive directory additions */
.provider-filter-grid .provider-card{display:flex !important;flex-direction:column !important;}
.provider-filter-grid .provider-bottom{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:16px;border-top:1px solid rgba(148,163,184,.16)}
.provider-filter-grid .provider-bottom .btn,.provider-filter-grid .provider-bottom .view-profile-btn{flex:1 1 160px;justify-content:center;text-align:center}
.pricing-grid-pro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.pricing-tier{background:#0d1b36;border:1px solid rgba(148,163,184,.18);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:14px;color:#fff}
.pricing-tier.featured{border-color:rgba(91,155,255,.45);box-shadow:0 18px 46px rgba(37,99,235,.14)}
.price-line{display:flex;align-items:flex-end;gap:8px}.price-amount{font-size:42px;font-weight:900;letter-spacing:-.05em}.price-period{color:#d3def4;font-weight:700;margin-bottom:6px}.checklist{display:grid;gap:9px;margin:0;padding-left:18px;color:#d3def4}.directory-card .provider-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
@media(max-width:900px){.pricing-grid-pro{grid-template-columns:1fr}.filters-bar{grid-template-columns:1fr !important}.provider-filter-grid{grid-template-columns:1fr !important}}


/* Provider filter fix: allow JavaScript to hide cards despite earlier display rules */
.provider-filter-grid .provider-card.is-hidden,
.provider-filter-grid [data-provider-card].is-hidden{
  display:none !important;
}
.filter-reset-btn{
  min-height:52px;
  white-space:nowrap;
}
.filter-empty-state{
  margin:18px 0 0;
  padding:18px 20px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:18px;
  background:rgba(15,23,42,.04);
  color:var(--text, #0f172a);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.filter-empty-state[hidden]{display:none !important;}
@media(max-width:900px){
  .filter-reset-btn{width:100%;}
}

/* source: mobile-responsive-polish.css */
/* Responsive polish pass for mobile, tablet and AI-search friendly crawlable layout */
html, body { max-width:100%; overflow-x:hidden !important; }
img, svg, video, canvas { max-width:100%; height:auto; }
* { min-width:0; }

/* Safer touch targets without changing the visual hierarchy */
a.brand,
button,
.btn,
.navlinks a,
.footer-nav a,
a.pill,
.mobile-menu-toggle,
#subpage-mobile-menu-toggle,
#global-mobile-menu-panel a {
  min-height:44px !important;
}
.mobile-menu-toggle,
#subpage-mobile-menu-toggle {
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  flex:0 0 46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.navlinks a,
.footer-nav a,
a.pill,
#global-mobile-menu-panel a {
  display:inline-flex !important;
  align-items:center !important;
}

/* Better wrapping for long financial terms and domain names */
h1, h2, h3, h4, p, li, a, span, strong, .provider-name, .brand, .btn, .pill, .badge,
.meta-box, .signal, .score-note, .tier-price, .price-amount, .footer-network-grid a {
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Keep mobile header compact and robust */
@media (max-width: 760px) {
  .container { padding-left:16px !important; padding-right:16px !important; }
  .nav { min-height:68px !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; }
  .brand { max-width:calc(100% - 62px) !important; min-height:44px !important; }
  .brand span:last-child { white-space:normal !important; overflow-wrap:normal !important; }
  .hero { padding-top:24px !important; }
  .hero-grid, .hero-inner, .directory-layout, .subpage-grid, .pricing-grid, .pricing-grid-pro, .research-grid, .topic-grid, .cards-grid, .footer-grid {
    grid-template-columns:1fr !important;
  }
  .hero-copy, .hero-card, .filters-shell, .card, .legal-card, .footer-shell, .profile-modal-card, .lead-gate-card, .contact-card, .faq-card, .pricing-tier, .pricing-card, .content-card, .sidebar-card, .topic-card, .cta-panel {
    padding:20px !important;
    border-radius:18px !important;
  }
  .hero-copy h1, .hero h1, h1 {
    font-size:clamp(28px, 9.2vw, 36px) !important;
    line-height:1.08 !important;
    letter-spacing:-0.035em !important;
  }
  .hero-copy .lead, .lead {
    font-size:16px !important;
    line-height:1.62 !important;
  }
  .section-head h2, h2 { font-size:clamp(23px, 7vw, 30px) !important; line-height:1.14 !important; }
  h3 { font-size:clamp(19px, 5.6vw, 24px) !important; line-height:1.18 !important; }
  .hero-search { grid-template-columns:1fr !important; gap:12px !important; }
  .hero-search .search-input, .search-input, input, select, textarea, .select {
    width:100% !important;
    min-height:50px !important;
    font-size:16px !important;
  }
  .hero-search .btn, .filters-shell .btn, .provider-bottom .btn, .center-row .btn, .contact-card .btn, form .btn {
    width:100% !important;
    min-height:48px !important;
    justify-content:center !important;
  }
  .filters-grid, .filter-row, .filters-bar, #providers .filter-row, #providers .filters-bar, #providers .provider-grid, .provider-grid {
    grid-template-columns:1fr !important;
  }
  .provider-card { width:100% !important; }
  .provider-ident, .provider-bottom, .provider-actions, .price-line, .tier-actions {
    flex-wrap:wrap !important;
  }
  .provider-bottom .btn, .provider-actions .btn { flex:1 1 100% !important; }
  .meta-pills, .provider-badges, .provider-tags, .plan-features { gap:8px !important; }
  a.pill, .navlinks a, .footer-nav a { min-height:44px !important; }
  .pill:not(a), .badge, .provider-tags span, .meta-pills span { min-height:34px !important; }
  .toast-success, .form-confirmation-message, .success-message {
    max-width:calc(100vw - 32px) !important;
    word-break:normal !important;
  }
}

@media (max-width: 420px) {
  .container { padding-left:16px !important; padding-right:16px !important; }
  .brand span:last-child { font-size:14px !important; }
  .brand-mark { width:34px !important; height:34px !important; flex-basis:34px !important; }
  .hero-copy, .hero-card, .filters-shell, .card, .legal-card, .footer-shell, .profile-modal-card, .lead-gate-card, .contact-card, .faq-card, .pricing-tier, .pricing-card, .content-card, .sidebar-card, .topic-card, .cta-panel {
    padding:20px !important;
  }
  .hero-copy h1, .hero h1, h1 { font-size:clamp(28px, 9vw, 34px) !important; }
  .eyebrow { font-size:11px !important; line-height:1.2 !important; }
  .price-amount, .tier-price span { font-size:36px !important; }
}

/* Contact and provider listing form repair v1 */
.contact-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr) !important;
  gap:24px !important;
  align-items:start !important;
}
.contact-card{
  width:100% !important;
  max-width:none !important;
}
.contact-card .form-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  margin-top:22px !important;
}
.contact-card .form-grid label{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  min-width:0 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  color:#ffffff !important;
}
.contact-card input,
.contact-card select,
.contact-card textarea,
form.contact-card input,
form.contact-card select,
form.contact-card textarea{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  min-height:52px !important;
  padding:14px 16px !important;
  border:1px solid rgba(148,163,184,.28) !important;
  border-radius:14px !important;
  background:#10213f !important;
  color:#ffffff !important;
  font:600 16px/1.35 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  outline:none !important;
  appearance:auto !important;
}
.contact-card textarea,
form.contact-card textarea{
  min-height:136px !important;
  resize:vertical !important;
}
.contact-card input:focus,
.contact-card select:focus,
.contact-card textarea:focus{
  border-color:#5b9bff !important;
  box-shadow:0 0 0 4px rgba(91,155,255,.16) !important;
}
.contact-card input[type="hidden"]{
  display:none !important;
}
.contact-card .hero-cta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:22px !important;
}
.contact-card .hero-cta .btn,
.contact-card button.btn,
.contact-card a.btn{
  min-height:52px !important;
  padding:0 22px !important;
  border-radius:14px !important;
  align-items:center !important;
  justify-content:center !important;
}
.contact-grid > aside.hero-card{
  width:100% !important;
}
.contact-grid > aside.hero-card .mini-metrics{
  grid-template-columns:1fr !important;
}
@media (max-width:980px){
  .contact-grid{
    grid-template-columns:1fr !important;
  }
  .contact-card .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:640px){
  .contact-card .form-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .contact-card input,
  .contact-card select,
  .contact-card textarea,
  form.contact-card input,
  form.contact-card select,
  form.contact-card textarea{
    min-height:52px !important;
    font-size:16px !important;
  }
  .contact-card .hero-cta .btn,
  .contact-card button.btn,
  .contact-card a.btn{
    width:100% !important;
  }
}

/* source: final-responsive-hardening.css */
/* Final responsive hardening for CustodyProviders.com
   Focus: mobile menu availability on all pages, forms, provider filter, cards, footer and modal safety. */
:root{--cp-bg:#04101f;--cp-card:#0d1b36;--cp-card-2:#10213f;--cp-line:rgba(148,163,184,.22);--cp-text:#ffffff;--cp-muted:#d3def4;--cp-blue:#5b9bff;}
*{box-sizing:border-box;min-width:0;}
html,body{max-width:100%;overflow-x:hidden!important;}
body{background:linear-gradient(180deg,#04101f 0%,#071a32 100%)!important;color:var(--cp-text)!important;}
img,svg,video,canvas{max-width:100%;height:auto;}
.container{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;}
a,button,.btn,input,select,textarea{touch-action:manipulation;}
h1,h2,h3,h4,h5,h6,p,li,a,span,strong,label,summary,.brand,.btn,.pill,.provider-name,.footer-copy,.lead{overflow-wrap:anywhere;word-break:normal;}

/* Header and mobile menu */
.header{position:relative;z-index:1000;}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;}
.brand span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mobile-menu-toggle,#subpage-mobile-menu-toggle{display:none;width:46px!important;height:46px!important;min-width:46px!important;flex:0 0 46px!important;border-radius:14px!important;border:1px solid var(--cp-line)!important;background:#0d1b36!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:4px!important;padding:0!important;}
.mobile-menu-toggle span,#subpage-mobile-menu-toggle span{display:block!important;width:18px!important;height:2px!important;background:#fff!important;border-radius:999px!important;flex:0 0 2px!important;}
#global-mobile-menu-backdrop[hidden],#global-mobile-menu-panel[hidden]{display:none!important;}

/* Grid safety */
.hero-inner,.hero-grid,.directory-layout,.subpage-grid,.contact-grid,.pricing-grid,.pricing-grid-pro,.pricing-grid-clean,.topic-grid,.research-grid,.cards-grid,.provider-filter-grid,.provider-grid,.footer-grid,.footer-shell,.mini-metrics,.form-grid,.filters-bar,.filters-grid,.filter-row,.site-map-list{min-width:0;}
.hero-copy,.hero-card,.content-card,.sidebar-card,.contact-card,.cta-panel,.pricing-card,.pricing-tier,.pricing-tier-clean,.provider-card,.filters-shell,.topic-card,.faq-card,.research-card,.legal-card{min-width:0;max-width:100%;}

/* Forms */
.contact-grid{display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr)!important;gap:24px!important;align-items:start!important;}
.contact-card{width:100%!important;max-width:none!important;}
.contact-card .form-grid,form .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin-top:22px!important;}
.contact-card .form-grid label,form .form-grid label{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;font-weight:800!important;line-height:1.35!important;color:#fff!important;}
.contact-card input,.contact-card select,.contact-card textarea,form input,form select,form textarea{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;min-height:52px!important;padding:14px 16px!important;border-radius:14px!important;border:1px solid var(--cp-line)!important;background:#10213f!important;color:#fff!important;font:600 16px/1.35 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;}
.contact-card textarea,form textarea{min-height:136px!important;resize:vertical!important;}
.contact-card input[type="hidden"],form input[type="hidden"]{display:none!important;}
.contact-card .hero-cta,form .hero-cta,.hero-actions,.cta-actions,.lead-gate-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;align-items:center!important;}
.contact-card .hero-cta .btn,form .hero-cta .btn{min-height:52px!important;justify-content:center!important;}
.contact-grid > aside.hero-card .mini-metrics{grid-template-columns:1fr!important;}

/* Provider filter */
.filters-bar,.filters-grid,.filter-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;align-items:end!important;}
.filters-bar input,.filters-bar select,.filters-grid input,.filters-grid select,.filter-row input,.filter-row select{width:100%!important;min-height:50px!important;}
.filter-reset-btn{width:100%;min-height:50px!important;white-space:normal!important;}
.provider-filter-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
.provider-filter-grid .provider-card{display:flex!important;flex-direction:column!important;}
.provider-filter-grid .provider-card.is-hidden,.provider-filter-grid [data-provider-card].is-hidden{display:none!important;}
.provider-top,.provider-ident{min-width:0;}
.provider-bottom,.provider-actions{display:flex;flex-wrap:wrap;gap:10px;}
.provider-bottom .btn,.provider-bottom .view-profile-btn,.provider-actions .btn{flex:1 1 150px;justify-content:center;text-align:center;}

/* Modals */
#provider-access-modal,.provider-access-modal,.lead-gate-modal,.profile-modal-overlay{position:fixed;inset:0;z-index:99999!important;background:rgba(2,6,23,.62);padding:18px;overflow:auto;}
#provider-access-modal:not(.show),.provider-access-modal:not(.show){display:none!important;}
.lead-gate-card,.profile-modal-card{width:min(620px,100%)!important;max-width:calc(100vw - 32px)!important;margin:8vh auto!important;background:#0d1b36!important;border:1px solid var(--cp-line)!important;border-radius:24px!important;color:#fff!important;padding:24px!important;}
.profile-modal-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;}
.profile-modal-close{min-height:44px!important;border-radius:12px!important;}

@media (max-width:1100px){
  .provider-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .filters-bar,.filters-grid,.filter-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:980px){
  .hero-inner,.hero-grid,.directory-layout,.subpage-grid,.contact-grid,.pricing-grid,.pricing-grid-pro,.pricing-grid-clean,.topic-grid,.research-grid,.cards-grid,.footer-shell{grid-template-columns:1fr!important;}
  .contact-card .form-grid,form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:760px){
  body{background:#041225!important;}
  .container{padding-left:16px!important;padding-right:16px!important;}
  .header{position:sticky!important;top:0!important;background:rgba(4,18,37,.97)!important;backdrop-filter:blur(12px);}
  .nav{min-height:68px!important;position:relative!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding-top:10px!important;padding-bottom:10px!important;}
  .brand{max-width:calc(100% - 64px)!important;min-height:44px!important;position:relative!important;z-index:1202!important;}
  .brand-mark{width:38px!important;height:38px!important;flex:0 0 38px!important;}
  .brand span:last-child{font-size:15px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .mobile-menu-toggle,#subpage-mobile-menu-toggle{display:inline-flex!important;position:relative!important;z-index:1203!important;}
  .navlinks{display:none!important;}
  .header.menu-open .navlinks{display:none!important;}
  #global-mobile-menu-panel{position:fixed!important;top:74px!important;left:16px!important;right:16px!important;display:grid;grid-template-columns:1fr!important;gap:10px!important;max-height:calc(100vh - 96px)!important;overflow:auto!important;padding:14px!important;border-radius:18px!important;background:#0b1730!important;border:1px solid var(--cp-line)!important;box-shadow:0 24px 60px rgba(0,0,0,.40)!important;z-index:99999!important;}
  #global-mobile-menu-panel a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:12px 14px!important;border-radius:14px!important;background:#122446!important;border:1px solid var(--cp-line)!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;text-align:center!important;}
  #global-mobile-menu-backdrop{position:fixed!important;inset:0!important;background:rgba(2,6,23,.55)!important;z-index:99998!important;}
  .hero,.hero-subpage{padding-top:24px!important;padding-bottom:28px!important;}
  .hero-inner,.hero-grid,.directory-layout,.subpage-grid,.contact-grid,.pricing-grid,.pricing-grid-pro,.pricing-grid-clean,.topic-grid,.research-grid,.cards-grid,.provider-filter-grid,.provider-grid,.footer-grid,.footer-shell,.mini-metrics,.form-grid,.filters-bar,.filters-grid,.filter-row,.site-map-list{grid-template-columns:1fr!important;}
  .hero-copy,.hero-card,.content-card,.sidebar-card,.contact-card,.cta-panel,.pricing-card,.pricing-tier,.pricing-tier-clean,.provider-card,.filters-shell,.topic-card,.faq-card,.research-card,.legal-card{padding:20px!important;border-radius:18px!important;}
  h1,.hero h1,.hero-copy h1{font-size:clamp(28px,9vw,36px)!important;line-height:1.08!important;letter-spacing:-.035em!important;}
  h2,.section-head h2{font-size:clamp(23px,7vw,30px)!important;line-height:1.14!important;}
  h3{font-size:clamp(19px,5.6vw,24px)!important;line-height:1.18!important;}
  .lead,.hero-copy .lead{font-size:16px!important;line-height:1.62!important;}
  .btn,a.btn,button.btn,.hero-actions .btn,.cta-actions .btn,.provider-bottom .btn,.provider-bottom .view-profile-btn,.provider-actions .btn,.contact-card .hero-cta .btn,form .hero-cta .btn{width:100%!important;min-height:48px!important;justify-content:center!important;text-align:center!important;}
  .contact-card .form-grid,form .form-grid{grid-template-columns:1fr!important;gap:14px!important;}
  .contact-card .form-grid label[style],form .form-grid label[style]{grid-column:auto!important;}
  input,select,textarea{font-size:16px!important;}
  .provider-top,.provider-ident,.score-wrap,.profile-modal-head{flex-direction:column!important;align-items:flex-start!important;}
  .provider-bottom,.provider-actions,.hero-actions,.cta-actions,.lead-gate-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .meta-pills,.provider-badges,.provider-tags{gap:8px!important;}
  .pill:not(a),.badge,.provider-tags span,.meta-pills span{min-height:34px!important;}
  .footer{padding:24px 0 38px!important;}
  .footer-grid{padding:22px!important;gap:18px!important;border-radius:22px!important;}
  .footer-copy{max-width:none!important;}
  .lead-gate-card,.profile-modal-card{margin:24px auto!important;max-width:100%!important;padding:20px!important;border-radius:18px!important;}
}
@media (max-width:420px){
  .container{padding-left:14px!important;padding-right:14px!important;}
  .brand span:last-child{font-size:14px!important;}
  .brand-mark{width:34px!important;height:34px!important;flex:0 0 34px!important;}
  h1,.hero h1,.hero-copy h1{font-size:clamp(27px,9.2vw,34px)!important;}
  .hero-copy,.hero-card,.content-card,.sidebar-card,.contact-card,.cta-panel,.pricing-card,.pricing-tier,.provider-card,.filters-shell,.topic-card,.faq-card,.research-card,.legal-card{padding:18px!important;}
}


/* Legacy mobile menu cleanup: remove empty box/panel next to the menu button */
#mobile-panel, .mobile-panel:not(#global-mobile-menu-panel) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width:760px){
  #mobile-toggle.mobile-menu-toggle {
    display: inline-flex !important;
  }
}

/* source: institutional-theme.css */
/* Institutional trust theme for CustodyProviders.com
   Designed for wealth managers, family offices, funds and bank grade buyers. */
:root{
  --institutional-navy:#071a2f;
  --institutional-navy-2:#0b2442;
  --institutional-blue:#2563eb;
  --institutional-blue-2:#1d4ed8;
  --institutional-blue-soft:#eff6ff;
  --institutional-bg:#f8fafc;
  --institutional-surface:#ffffff;
  --institutional-text:#1f2937;
  --institutional-muted:#64748b;
  --institutional-soft:#94a3b8;
  --institutional-line:#e2e8f0;
  --institutional-line-strong:#cbd5e1;
  --institutional-shadow:0 10px 30px rgba(15,23,42,.06);
  --institutional-shadow-sm:0 1px 2px rgba(15,23,42,.04),0 6px 18px rgba(15,23,42,.04);
  --navy:#071a2f;
  --navy-2:#0b2442;
  --blue:#2563eb;
  --blue-2:#1d4ed8;
  --blue-soft:#eff6ff;
  --green:#2563eb;
  --green-light:#eff6ff;
  --text:#1f2937;
  --muted:#64748b;
  --faint:#94a3b8;
  --bg:#f8fafc;
  --bg2:#f1f5f9;
  --card:#ffffff;
  --surface:#ffffff;
  --line:#e2e8f0;
  --line-strong:#cbd5e1;
  --border:#e2e8f0;
  --border-strong:#cbd5e1;
  --shadow:0 10px 30px rgba(15,23,42,.06);
  --shadow-sm:0 1px 2px rgba(15,23,42,.04),0 6px 18px rgba(15,23,42,.04);
  --shadow-lg:0 18px 50px rgba(15,23,42,.09);
  --font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --cp-bg:#f8fafc;
  --cp-card:#ffffff;
  --cp-card-2:#ffffff;
  --cp-line:#e2e8f0;
  --cp-text:#1f2937;
  --cp-muted:#64748b;
  --cp-blue:#2563eb;
}
html,body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  background:#f8fafc !important;
  color:#1f2937 !important;
  letter-spacing:-.005em;
}
body{line-height:1.64 !important;}
a{color:inherit;}
.header,.site-header{
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid #e2e8f0 !important;
  box-shadow:0 1px 0 rgba(15,23,42,.04) !important;
  backdrop-filter:blur(10px);
}
.brand,.logo{color:#071a2f !important;font-weight:800 !important;}
.brand em,.logo em{color:#2563eb !important;font-style:normal !important;}
.brand-mark,.logo-icon{
  background:#071a2f !important;
  color:#ffffff !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.navlinks a,.main-nav a{
  background:transparent !important;
  border-color:transparent !important;
  color:#475569 !important;
  font-weight:650 !important;
}
.navlinks a:hover,.main-nav a:hover,.navlinks a.active,.main-nav a.active{
  color:#071a2f !important;
  background:#f1f5f9 !important;
}
.nav-cta,.header-actions .btn-primary{
  background:#2563eb !important;
  color:#ffffff !important;
  border-color:#2563eb !important;
}
.mobile-toggle,.hamburger,#subpage-mobile-menu-toggle,.mobile-menu-toggle{
  background:#ffffff !important;
  border:1px solid #cbd5e1 !important;
  color:#071a2f !important;
}
.mobile-toggle span,.hamburger span,#subpage-mobile-menu-toggle span,.mobile-menu-toggle span{background:#071a2f !important;}
.mobile-panel,.mobile-nav,#global-mobile-menu-panel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:0 24px 60px rgba(15,23,42,.16) !important;
}
.mobile-panel a,.mobile-nav a,#global-mobile-menu-panel a{
  background:#ffffff !important;
  color:#071a2f !important;
  border:1px solid #e2e8f0 !important;
}
.mobile-panel a:hover,.mobile-nav a:hover,#global-mobile-menu-panel a:hover{background:#eff6ff !important;color:#1d4ed8 !important;}
#global-mobile-menu-backdrop{background:rgba(15,23,42,.28) !important;}
.hero,.hero-subpage{
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  border-bottom:1px solid #e2e8f0 !important;
}
.hero-shell,.hero-copy,.hero-card,.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,.cta-panel{
  background:#ffffff !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:0 1px 2px rgba(15,23,42,.04),0 6px 18px rgba(15,23,42,.04) !important;
}
.hero-shell{
  box-shadow:none !important;
  border:0 !important;
  background:transparent !important;
}
h1,.hero h1,.hero-copy h1{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-weight:800 !important;
  color:#071a2f !important;
  line-height:1.03 !important;
  letter-spacing:-.045em !important;
}
h2,.section-title,.section-head h2,.hero h2,.content-card h2,.cta-panel h2{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-weight:700 !important;
  color:#071a2f !important;
  letter-spacing:-.035em !important;
}
h3,h4,h5,h6,strong,summary,.provider-name,.provider-logo-name,.mini-metrics strong,.meta-box strong,.signal strong{color:#071a2f !important;}
p,.lead,.small,.muted,li,.provider-desc,.section-lead,.card p,.faq-item p,.hero-lead,.footer-copy{color:#64748b !important;}
.eyebrow,.section-eyebrow,.hero-eyebrow,.toc-label{
  color:#2563eb !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}
.dot,.hero-eyebrow::before{background:#2563eb !important;}
.btn,.btn-outline,.btn-secondary{
  border:1px solid #cbd5e1 !important;
  background:#ffffff !important;
  color:#071a2f !important;
  box-shadow:none !important;
  font-weight:700 !important;
}
.btn:hover,.btn-outline:hover,.btn-secondary:hover{border-color:#2563eb !important;color:#1d4ed8 !important;background:#eff6ff !important;transform:none !important;}
.btn.primary,.btn-primary,button.btn.primary,a.btn.primary{
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#ffffff !important;
}
.btn.primary:hover,.btn-primary:hover,button.btn.primary:hover,a.btn.primary:hover{background:#1d4ed8 !important;color:#ffffff !important;}
.hero-search-block,.search-panel{
  background:#ffffff !important;
  border:1px solid #dbe3ef !important;
  box-shadow:0 18px 48px rgba(15,23,42,.08) !important;
}
.search-panel input,.hero-search-wrap input,input,select,textarea,.form-input,.form-select,.form-textarea{
  background:#ffffff !important;
  color:#1f2937 !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:none !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}
.search-panel input:focus,.hero-search-wrap input:focus,input:focus,select:focus,textarea:focus,.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:#2563eb !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.12) !important;
}
label,.form-label,.contact-card .form-grid label,form .form-grid label{color:#071a2f !important;font-weight:700 !important;}
.badge,.tag,.pill,.topic-pill,.meta-pills span,.provider-tags span{
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
  color:#334155 !important;
  font-weight:700 !important;
}
.badge:first-child,.tag:first-child{background:#eff6ff !important;border-color:#bfdbfe !important;color:#1d4ed8 !important;}
.provider-card:hover,.card:hover,.topic-card:hover,.faq-item:hover{
  transform:none !important;
  border-color:#bfdbfe !important;
  box-shadow:0 10px 30px rgba(15,23,42,.08) !important;
}
.fit-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:auto !important;
}
.fit-signal{
  border:1px solid #e2e8f0 !important;
  border-radius:14px !important;
  background:#f8fafc !important;
  padding:10px 12px !important;
}
.fit-signal span{
  display:block !important;
  color:#94a3b8 !important;
  font-size:10px !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
}
.fit-signal strong{
  display:block !important;
  margin-top:3px !important;
  color:#071a2f !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.score-row{display:none !important;}
.provider-bottom,.provider-actions{border-top:1px solid #e2e8f0 !important;}
.path-item,.meta-cell,.stat-box,.mini-metrics div,.signal,.filters-bar,.filters-grid,.filter-row{
  background:#f8fafc !important;
  border-color:#e2e8f0 !important;
}
.step,.step-num{background:#071a2f !important;color:#ffffff !important;}
.cta-band,.steps-section{
  background:#071a2f !important;
  color:#ffffff !important;
}
.cta-band h2,.cta-band p,.steps-section h2,.steps-section h3,.steps-section p,.steps-section .section-title{color:#ffffff !important;}
.notice-card{background:#ffffff !important;}
.success,.form-confirmation,.form-confirmation-message,.success-message{background:#ecfdf5 !important;border-color:#bbf7d0 !important;color:#166534 !important;}
.modal,.modal-overlay,#provider-access-modal,.provider-access-modal,.lead-gate-modal,.profile-modal-overlay{background:rgba(15,23,42,.55) !important;}
.modal-card,.lead-gate-card,.profile-modal-card{
  background:#ffffff !important;
  color:#1f2937 !important;
  border:1px solid #e2e8f0 !important;
}
.close,.modal-close,.profile-modal-close{background:#f8fafc !important;border:1px solid #cbd5e1 !important;color:#071a2f !important;}
.footer,.site-footer{
  background:#071a2f !important;
  color:#ffffff !important;
}
.footer .brand,.footer .brand em,.footer h4,.footer strong,.footer p,.site-footer .logo,.site-footer .logo em,.site-footer h4,.site-footer p{color:#ffffff !important;}
.footer a,.site-footer a{color:#e8f1ff !important;background:rgba(255,255,255,.05) !important;border-color:rgba(255,255,255,.14) !important;}
.footer a:hover,.site-footer a:hover{background:rgba(255,255,255,.10) !important;color:#ffffff !important;}
.footer .brand-mark,.site-footer .logo-icon{background:#2563eb !important;color:#ffffff !important;}
@media(max-width:760px){
  .header{background:rgba(255,255,255,.98) !important;}
  .hero,.hero-subpage{padding-top:28px !important;}
  h1,.hero h1,.hero-copy h1{font-size:clamp(30px,9vw,42px) !important;}
  .search-panel .btn,.hero-search-block .btn{width:100% !important;}
  .fit-row{grid-template-columns:1fr !important;}
}

/* source: readability-fix.css */
/* Readability fix for institutional trust style
   Keeps the conservative navy and light blue design, but restores strong contrast on white cards. */
:root{
  --readable-navy:#071a2f;
  --readable-text:#243145;
  --readable-muted:#475569;
  --readable-soft:#64748b;
  --readable-blue:#2563eb;
  --readable-bg:#ffffff;
  --readable-panel:#f8fafc;
  --readable-line:#e2e8f0;
}

html body{
  color:var(--readable-text) !important;
  background:#f8fafc !important;
}

/* White panels and profile pages */
html body .content-card,
html body .sidebar-card,
html body .hero-card,
html body .hero-copy,
html body .provider-card,
html body .topic-card,
html body .faq-item,
html body .contact-card,
html body .pricing-card,
html body .pricing-tier,
html body .pricing-tier-clean,
html body .filters-shell,
html body .results-shell,
html body .legal-card,
html body .research-card,
html body .notice-card,
html body .cta-panel,
html body .provider-logo-block,
html body .mini-metrics div,
html body .meta-box,
html body .signal,
html body .metric,
html body .pill,
html body .badge,
html body details,
html body summary{
  background:#ffffff !important;
  color:var(--readable-text) !important;
  border-color:var(--readable-line) !important;
  text-shadow:none !important;
}

/* Strong headline contrast */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body strong,
html body b,
html body summary,
html body .content-card h2,
html body .content-card h3,
html body .sidebar-card h3,
html body .hero-copy h1,
html body .hero-card h3,
html body .cta-panel h2,
html body .provider-name,
html body .provider-logo-name,
html body .mini-metrics strong,
html body .meta-box strong,
html body .signal strong,
html body .faq-item summary,
html body .topic-card h3{
  color:var(--readable-navy) !important;
  opacity:1 !important;
}

/* Body copy: darker, readable, wealth audience appropriate */
html body p,
html body li,
html body .lead,
html body .section-lead,
html body .muted,
html body .small,
html body .content-card p,
html body .content-card li,
html body .content-card span,
html body .sidebar-card p,
html body .sidebar-card li,
html body .sidebar-card span,
html body .hero-copy p,
html body .hero-copy .lead,
html body .hero-card p,
html body .hero-card span,
html body .cta-panel p,
html body .topic-card p,
html body .faq-item p,
html body .provider-desc,
html body .provider-description,
html body .provider-sub,
html body .provider-logo-label,
html body .status-note,
html body .score-label,
html body .mini-metrics span,
html body .meta-box span,
html body .signal span,
html body .tier-copy,
html body .plan-note,
html body .tier-note,
html body .price-period,
html body .price-subline,
html body .micro-note,
html body .guide-intro,
html body .filter-hint,
html body .count-pill{
  color:var(--readable-muted) !important;
  opacity:1 !important;
}

/* Links and pills inside white cards */
html body .content-card a,
html body .sidebar-card a,
html body .topic-card a,
html body .faq-item a,
html body .cta-panel a:not(.btn),
html body .pill,
html body a.pill,
html body .badge,
html body .badge-standard,
html body .badge-pending,
html body .badge-featured,
html body .badge-institutional{
  color:#1e3a5f !important;
  opacity:1 !important;
}

html body .eyebrow,
html body .section-eyebrow,
html body .hero-eyebrow,
html body .toc-label,
html body .provider-logo-label{
  color:var(--readable-blue) !important;
  opacity:1 !important;
}

/* Keep primary buttons white on blue */
html body .btn-primary,
html body .btn.primary,
html body a.btn-primary,
html body button.btn-primary,
html body .cta-actions .btn-primary,
html body .hero-actions .btn-primary{
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#ffffff !important;
}
html body .btn-primary *,
html body .btn.primary *{
  color:#ffffff !important;
}

/* Secondary buttons stay readable */
html body .btn:not(.btn-primary):not(.primary),
html body a.btn:not(.btn-primary):not(.primary),
html body button.btn:not(.btn-primary):not(.primary){
  color:var(--readable-navy) !important;
  background:#ffffff !important;
  border-color:#cbd5e1 !important;
}

/* Form contrast */
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{
  background:#ffffff !important;
  color:#172033 !important;
  border-color:#cbd5e1 !important;
}
html body input::placeholder,
html body textarea::placeholder,
html body .search-input::placeholder{
  color:#64748b !important;
  opacity:1 !important;
}
html body label,
html body .form-label{
  color:var(--readable-navy) !important;
}

/* Dark sections should remain dark with white text */
html body .footer,
html body .site-footer,
html body .steps-section,
html body .cta-band{
  background:#071a2f !important;
  color:#ffffff !important;
}
html body .footer *,
html body .site-footer *,
html body .steps-section *,
html body .cta-band *{
  color:#ffffff !important;
}
html body .footer a,
html body .site-footer a{
  color:#e8f1ff !important;
}

/* Modal readability */
html body .modal-card,
html body .lead-gate-card,
html body .profile-modal-card{
  background:#ffffff !important;
  color:var(--readable-text) !important;
}
html body .modal-card h2,
html body .modal-card h3,
html body .lead-gate-card h2,
html body .lead-gate-card h3,
html body .profile-modal-card h2,
html body .profile-modal-card h3{
  color:var(--readable-navy) !important;
}
html body .modal-card p,
html body .lead-gate-card p,
html body .profile-modal-card p{
  color:var(--readable-muted) !important;
}

/* Profile page right sidebar pill list fix */
html body .sidebar-card .pill-list a,
html body .sidebar-card a.pill{
  display:inline-flex !important;
  align-items:center !important;
  color:#1e3a5f !important;
  background:#f8fafc !important;
  border:1px solid #e2e8f0 !important;
}
html body .sidebar-card .pill-list a:hover,
html body .sidebar-card a.pill:hover{
  color:#1d4ed8 !important;
  border-color:#bfdbfe !important;
  background:#eff6ff !important;
}

/* source: ultimate-contrast-mobile-fix.css */
/* Ultimate contrast and mobile menu fix for CustodyProviders.com
   Loaded last on every page. Keeps the institutional white/navy look and fixes low contrast text. */
:root{
  --cp-navy:#071a2f;
  --cp-navy-2:#0f2748;
  --cp-text:#172033;
  --cp-body:#334155;
  --cp-muted:#475569;
  --cp-soft:#64748b;
  --cp-blue:#2563eb;
  --cp-blue-light:#eff6ff;
  --cp-line:#dbe4f0;
  --cp-card:#ffffff;
  --cp-page:#f8fafc;
}
html,body{background:var(--cp-page)!important;color:var(--cp-text)!important;text-shadow:none!important;}
body *{text-shadow:none!important;}

/* Main readable content on white cards */
main p, main li, main dd, main dt, main figcaption,
.content-card p,.content-card li,.content-card span:not(.eyebrow):not(.badge):not(.pill),
.sidebar-card p,.sidebar-card li,.sidebar-card span:not(.eyebrow):not(.badge):not(.pill),
.hero-copy p,.hero-copy .lead,.hero-card p,.hero-card span,
.provider-card p,.provider-card .provider-sub,.provider-card .provider-description,.provider-card .status-note,
.topic-card p,.faq-item p,.cta-panel p,.legal-card p,.research-card p,.notice-card p,
.mini-metrics span,.meta-box span,.signal span,.metric span,
.footer-copy,.section-lead,.lead,.muted,.small,.plan-note,.micro-note,.tier-note,.price-period,.price-subline,
.provider-logo-label,.score-label,.filter-hint,.count-pill{
  color:var(--cp-body)!important;
  opacity:1!important;
}
main h1,main h2,main h3,main h4,main h5,main h6,
.content-card h1,.content-card h2,.content-card h3,.sidebar-card h3,
.hero-copy h1,.hero-card h3,.cta-panel h2,.provider-card h3,.provider-name,
.provider-logo-name,.mini-metrics strong,.meta-box strong,.signal strong,.metric strong,
.faq-item summary,.section-title,strong,b{
  color:var(--cp-navy)!important;
  opacity:1!important;
}

/* Keep all white cards white and readable */
.hero,.hero-subpage{background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;border-bottom:1px solid var(--cp-line)!important;}
.hero-copy,.hero-card,.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,.cta-panel,
.mini-metrics div,.meta-box,.signal,.metric,.pill,.badge,details,summary{
  background:#ffffff!important;
  color:var(--cp-text)!important;
  border-color:var(--cp-line)!important;
}

/* Eyebrows, badges and inline links */
.eyebrow,.section-eyebrow,.hero-eyebrow,.toc-label,.provider-logo-label{color:var(--cp-blue)!important;}
main a:not(.btn):not(.pill):not(.topic-card):not(.provider-card){color:#1d4ed8!important;}
.pill,a.pill,.badge,.badge-standard,.badge-featured,.badge-institutional{
  color:#1e3a5f!important;background:#f8fafc!important;border-color:var(--cp-line)!important;
}
.badge-pending{color:#92400e!important;background:#fffbeb!important;border-color:#fde68a!important;}
.badge-verified{color:#166534!important;background:#f0fdf4!important;border-color:#bbf7d0!important;}

/* Buttons */
.btn-primary,.btn.primary,a.btn-primary,button.btn-primary,.nav-cta,.header-actions .btn-primary{
  background:var(--cp-blue)!important;border-color:var(--cp-blue)!important;color:#ffffff!important;
}
.btn-primary *,.btn.primary *{color:#ffffff!important;}
.btn:not(.btn-primary):not(.primary),a.btn:not(.btn-primary):not(.primary),button.btn:not(.btn-primary):not(.primary){
  color:var(--cp-navy)!important;background:#ffffff!important;border-color:#cbd5e1!important;
}
.btn:not(.btn-primary):not(.primary):hover{background:var(--cp-blue-light)!important;border-color:#bfdbfe!important;color:#1d4ed8!important;}

/* Forms */
input,textarea,select,option,.form-input,.form-select,.form-textarea,.search-input{
  background:#ffffff!important;color:#172033!important;border-color:#cbd5e1!important;
}
input::placeholder,textarea::placeholder,.search-input::placeholder{color:#64748b!important;opacity:1!important;}
label,.form-label{color:var(--cp-navy)!important;}

/* Header and navigation */
.header,.site-header{background:#ffffff!important;border-bottom:1px solid var(--cp-line)!important;color:var(--cp-navy)!important;}
.brand,.brand span,.brand em,.logo,.logo span,.logo em{color:var(--cp-navy)!important;}
.brand-mark,.logo-icon{background:var(--cp-blue)!important;color:#ffffff!important;}
.navlinks a,.main-nav a{color:#243145!important;background:transparent!important;}
.navlinks a:hover,.main-nav a:hover,.main-nav a.active{color:#1d4ed8!important;background:var(--cp-blue-light)!important;}

/* Mobile menu: forced high contrast across all page templates */
.mobile-menu-toggle,#subpage-mobile-menu-toggle,.mobile-toggle,.hamburger{
  display:none;
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  color:var(--cp-navy)!important;
}
.mobile-menu-toggle span,#subpage-mobile-menu-toggle span,.mobile-toggle span,.hamburger span{background:var(--cp-navy)!important;}
#global-mobile-menu-backdrop{background:rgba(15,23,42,.42)!important;}
#global-mobile-menu-panel,.mobile-nav,.mobile-panel{
  background:var(--cp-navy)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 28px 70px rgba(7,26,47,.36)!important;
  color:#ffffff!important;
}
#global-mobile-menu-panel a,.mobile-nav a,.mobile-panel a{
  background:var(--cp-navy-2)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#ffffff!important;
  opacity:1!important;
  text-decoration:none!important;
  font-weight:750!important;
}
#global-mobile-menu-panel a:visited,.mobile-nav a:visited,.mobile-panel a:visited{color:#ffffff!important;}
#global-mobile-menu-panel a:hover,#global-mobile-menu-panel a:focus,
.mobile-nav a:hover,.mobile-nav a:focus,.mobile-panel a:hover,.mobile-panel a:focus{
  background:#1d4ed8!important;color:#ffffff!important;outline:none!important;
}
#global-mobile-menu-panel a *, .mobile-nav a *, .mobile-panel a *{color:#ffffff!important;}

/* Footer and dark sections */
.footer,.site-footer,.steps-section,.cta-band{background:var(--cp-navy)!important;color:#ffffff!important;}
.footer h1,.footer h2,.footer h3,.footer h4,.footer strong,.site-footer h1,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer strong,
.steps-section h1,.steps-section h2,.steps-section h3,.steps-section h4,.steps-section strong{color:#ffffff!important;}
.footer p,.footer li,.footer-copy,.footer a,.footer-grid a,.site-footer p,.site-footer a,.steps-section p,.steps-section li{color:#dbeafe!important;opacity:1!important;}
.footer a:hover,.footer-grid a:hover,.site-footer a:hover{color:#ffffff!important;}

/* Modals */
.modal-card,.lead-gate-card,.profile-modal-card{background:#ffffff!important;color:var(--cp-text)!important;border-color:var(--cp-line)!important;}
.modal-card h2,.modal-card h3,.lead-gate-card h2,.lead-gate-card h3,.profile-modal-card h2,.profile-modal-card h3{color:var(--cp-navy)!important;}
.modal-card p,.lead-gate-card p,.profile-modal-card p{color:var(--cp-body)!important;}
.profile-modal-close,.modal-close{color:var(--cp-navy)!important;background:#ffffff!important;border-color:#cbd5e1!important;}

@media (max-width:760px){
  body{background:var(--cp-page)!important;color:var(--cp-text)!important;}
  .header,.site-header{position:sticky!important;top:0!important;background:#ffffff!important;backdrop-filter:none!important;}
  .mobile-menu-toggle,#subpage-mobile-menu-toggle,.mobile-toggle,.hamburger{display:inline-flex!important;}
  #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(100vh - 96px)!important;overflow:auto!important;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;}
}


/* Provider filter dropdown visibility fix, especially iOS Safari */
html body .filters-shell .filters-bar,
html body .filters-shell .filters-bar-enhanced{
  display:grid!important;
  grid-template-columns:minmax(260px,1.4fr) repeat(3,minmax(160px,1fr)) minmax(150px,auto)!important;
  gap:12px!important;
  align-items:end!important;
}
html body .filters-shell .filter-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
  width:100%!important;
  color:#071a2f!important;
}
html body .filters-shell .filter-field > span{
  display:block!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#071a2f!important;
  letter-spacing:.01em!important;
}
html body .filters-shell .search-input,
html body .filters-shell .select,
html body .filters-shell select,
html body .filters-shell input[type="search"]{
  width:100%!important;
  min-height:54px!important;
  height:54px!important;
  border:1.5px solid #cbd5e1!important;
  border-radius:14px!important;
  background:#ffffff!important;
  color:#071a2f!important;
  -webkit-text-fill-color:#071a2f!important;
  opacity:1!important;
  font:700 16px/1.2 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  padding:0 16px!important;
  box-shadow:none!important;
  color-scheme:light!important;
}
html body .filters-shell .select,
html body .filters-shell select{
  -webkit-appearance:menulist!important;
  appearance:auto!important;
  padding-right:40px!important;
  cursor:pointer!important;
}
html body .filters-shell .select option,
html body .filters-shell select option{
  background:#ffffff!important;
  color:#071a2f!important;
  -webkit-text-fill-color:#071a2f!important;
}
html body .filters-shell .search-input::placeholder{
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
  opacity:1!important;
}
html body .filters-shell .search-input:focus,
html body .filters-shell .select:focus,
html body .filters-shell select:focus{
  border-color:#2563eb!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.14)!important;
  outline:none!important;
}
html body .filters-shell .filter-reset-btn{
  min-height:54px!important;
  height:54px!important;
  align-self:end!important;
  width:100%!important;
}
html body .filters-shell .filter-empty-state,
html body .filters-shell #provider-filter-empty{
  background:#ffffff!important;
  color:#071a2f!important;
  border:1.5px solid #cbd5e1!important;
}
html body .filters-shell .filter-empty-state span,
html body .filters-shell #provider-filter-empty span{
  color:#475569!important;
  opacity:1!important;
}
html body .directory-card.is-hidden{display:none!important;}

@media (max-width:900px){
  html body .filters-shell .filters-bar,
  html body .filters-shell .filters-bar-enhanced{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  html body .filters-shell .search-input,
  html body .filters-shell .select,
  html body .filters-shell select,
  html body .filters-shell input[type="search"],
  html body .filters-shell .filter-reset-btn{
    min-height:56px!important;
    height:56px!important;
    font-size:16px!important;
  }
}

/* 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: form-spacing-polish.css */
/* Form spacing and layout polish
   Purpose: make the contact and listing forms look professionally spaced on desktop and mobile. */

html body .container.contact-grid {
  width: min(1280px, calc(100% - 56px)) !important;
  margin: 44px auto 78px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.38fr) minmax(320px, 0.62fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

html body form.contact-card,
html body .contact-grid > .contact-card {
  padding: clamp(32px, 3.4vw, 48px) !important;
  border-radius: 28px !important;
  border: 1px solid #dbe4f0 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 55px rgba(15, 23, 42, 0.08) !important;
  overflow: hidden !important;
}

html body .contact-grid > aside.hero-card {
  padding: clamp(30px, 3vw, 42px) !important;
  border-radius: 28px !important;
  border: 1px solid #dbe4f0 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 55px rgba(15, 23, 42, 0.07) !important;
}

html body form.contact-card .eyebrow {
  margin: 0 0 22px !important;
  width: fit-content !important;
}

html body form.contact-card h1,
html body form.contact-card h2 {
  margin: 0 0 16px !important;
  color: #071a2f !important;
  font-size: clamp(34px, 3.8vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  max-width: 860px !important;
}

html body form.contact-card p,
html body form.contact-card .small {
  margin: 0 !important;
  max-width: 900px !important;
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

html body form.contact-card .form-grid,
html body .contact-card .form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px 20px !important;
  margin-top: 34px !important;
}

html body form.contact-card .form-grid label,
html body .contact-card .form-grid label {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 0 !important;
  color: #071a2f !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

html body form.contact-card input,
html body form.contact-card select,
html body form.contact-card textarea,
html body .contact-card input,
html body .contact-card select,
html body .contact-card textarea {
  display: block !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 15px 18px !important;
  border-radius: 16px !important;
  border: 1.5px solid #cbd5e1 !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.02) !important;
  font: 600 16px/1.4 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  outline: none !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #0f172a !important;
}

html body form.contact-card textarea,
html body .contact-card textarea {
  min-height: 168px !important;
  resize: vertical !important;
  line-height: 1.55 !important;
}

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

html body form.contact-card input:focus,
html body form.contact-card select:focus,
html body form.contact-card textarea:focus,
html body .contact-card input:focus,
html body .contact-card select:focus,
html body .contact-card textarea:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
}

html body form.contact-card input[type="hidden"],
html body .contact-card input[type="hidden"] {
  display: none !important;
}

html body form.contact-card .hero-cta,
html body .contact-card .hero-cta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 32px !important;
}

html body form.contact-card .hero-cta .btn,
html body .contact-card .hero-cta .btn,
html body form.contact-card button.btn,
html body .contact-card button.btn,
html body form.contact-card a.btn,
html body .contact-card a.btn {
  min-height: 52px !important;
  padding: 0 24px !important;
  border-radius: 14px !important;
  justify-content: center !important;
}

html body .contact-grid > aside.hero-card h2,
html body .contact-grid > aside.hero-card h3 {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  color: #071a2f !important;
  line-height: 1.22 !important;
}

html body .contact-grid > aside.hero-card p,
html body .contact-grid > aside.hero-card .muted {
  margin: 0 0 26px !important;
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

html body .contact-grid > aside.hero-card .mini-metrics {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

html body .contact-grid > aside.hero-card .mini-metrics div {
  padding: 15px 16px !important;
  border-radius: 14px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}

html body .contact-grid > aside.hero-card .mini-metrics strong {
  color: #0f172a !important;
}

html body .contact-grid > aside.hero-card .mini-metrics span {
  color: #475569 !important;
}

@media (max-width: 980px) {
  html body .container.contact-grid {
    width: min(100% - 40px, 760px) !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    margin: 34px auto 64px !important;
  }

  html body form.contact-card,
  html body .contact-grid > .contact-card,
  html body .contact-grid > aside.hero-card {
    padding: 28px !important;
    border-radius: 24px !important;
  }

  html body form.contact-card .form-grid,
  html body .contact-card .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin-top: 28px !important;
  }
}

@media (max-width: 640px) {
  html body .container.contact-grid {
    width: calc(100% - 28px) !important;
    gap: 20px !important;
    margin: 26px auto 52px !important;
  }

  html body form.contact-card,
  html body .contact-grid > .contact-card,
  html body .contact-grid > aside.hero-card {
    padding: 22px !important;
    border-radius: 20px !important;
  }

  html body form.contact-card h1,
  html body form.contact-card h2 {
    font-size: 29px !important;
    line-height: 1.13 !important;
    letter-spacing: -0.035em !important;
  }

  html body form.contact-card p,
  html body form.contact-card .small,
  html body .contact-grid > aside.hero-card p,
  html body .contact-grid > aside.hero-card .muted {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
  }

  html body form.contact-card .form-grid,
  html body .contact-card .form-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-top: 24px !important;
  }

  html body form.contact-card .form-grid label[style],
  html body .contact-card .form-grid label[style] {
    grid-column: auto !important;
  }

  html body form.contact-card input,
  html body form.contact-card select,
  html body form.contact-card textarea,
  html body .contact-card input,
  html body .contact-card select,
  html body .contact-card textarea {
    min-height: 52px !important;
    padding: 14px 15px !important;
    font-size: 16px !important;
    border-radius: 14px !important;
  }

  html body form.contact-card textarea,
  html body .contact-card textarea {
    min-height: 150px !important;
  }

  html body form.contact-card .hero-cta,
  html body .contact-card .hero-cta {
    gap: 12px !important;
    margin-top: 26px !important;
  }

  html body form.contact-card .hero-cta .btn,
  html body .contact-card .hero-cta .btn,
  html body form.contact-card button.btn,
  html body .contact-card button.btn,
  html body form.contact-card a.btn,
  html body .contact-card a.btn {
    width: 100% !important;
    min-height: 50px !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: directory-expansion.css */
:root{--blue:#2563eb;--blue-2:#1d4ed8;--blue-soft:#eff6ff;--navy:#0a1628;--text:#172033;--muted:#5f6f86;--bg:#f7f9fc;--card:#fff;--line:rgba(15,23,42,.12);--shadow:0 14px 40px rgba(15,23,42,.08);--radius:20px}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.directory-tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.directory-tile:hover{border-color:#bfdbfe;box-shadow:var(--shadow);transform:translateY(-1px)}
.directory-tile h3{margin:12px 0 6px}.directory-tile p{color:var(--muted);min-height:48px}
.text-link{display:inline-block;margin-top:14px;color:var(--blue-2);font-weight:800}
.verification-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}
.verification-badge.unverified{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}
.verification-badge.pending{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.verification-badge.verified{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.fact-grid div{background:#fff;padding:15px}.fact-grid dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.fact-grid dd{margin:5px 0 0;font-weight:700}
.action-grid{display:flex;gap:10px;flex-wrap:wrap}.data-note{margin-top:18px;color:var(--muted);font-size:13px}
.filter-panel{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);margin-bottom:18px}
.filter-panel input,.filter-panel select{margin-top:6px}.result-count{margin:0 0 16px;color:var(--muted)}
.empty-state{padding:30px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px}.is-hidden{display:none!important}
.comparison-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}caption{text-align:left;font-size:22px;font-weight:800;margin-bottom:14px}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}thead th{background:var(--navy);color:#fff}.link-list{columns:2;list-style:none;padding:0}.link-list li{margin:10px 0}.link-list a{color:var(--blue-2);font-weight:800}
@media(max-width:1000px){.directory-grid{grid-template-columns:repeat(2,1fr)}.filter-panel{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.directory-grid,.fact-grid,.filter-panel{grid-template-columns:1fr}.directory-tile p{min-height:0}.action-grid .btn{width:100%}.link-list{columns:1}}

/* 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: monetization-upgrade.css */

/* CustodyProviders.com monetization & procurement layer — 2026-08-17 */
.matcher-shell,.rfp-builder,.lead-policy,.score-policy,.procurement-snapshot{margin-top:24px}
.matcher-shell{background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);border:1px solid #bfd7ff;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(15,23,42,.07)}
.matcher-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.matcher-head p{max-width:760px;color:#52627a}
.matcher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.matcher-field{display:grid;gap:7px}.matcher-field span,.rfp-field>span{font-weight:800;color:#13213c;font-size:14px}.matcher-field select,.matcher-field input,.rfp-field input,.rfp-field select,.rfp-field textarea{width:100%;min-height:48px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#172033;padding:10px 12px;outline:none}.matcher-field select:focus,.matcher-field input:focus,.rfp-field input:focus,.rfp-field select:focus,.rfp-field textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.matcher-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.matcher-disclosure{margin-top:12px;font-size:13px;color:#64748b}.matcher-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.matcher-result{background:#fff;border:1px solid #dbe4ef;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.matcher-result h3{font-size:19px;margin:4px 0 6px}.matcher-result .match-score{font-size:13px;font-weight:900;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;display:inline-flex;padding:5px 9px}.matcher-result .match-reasons{margin:12px 0 14px;padding-left:18px;color:#52627a;font-size:14px}.matcher-result .match-reasons li+li{margin-top:5px}.matcher-result-actions{display:flex;flex-wrap:wrap;gap:8px}.matcher-empty{margin-top:18px;padding:16px;border-radius:14px;background:#fff;border:1px dashed #94a3b8;color:#52627a}
.score-policy{background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:22px}.score-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.score-policy-item{border:1px solid #e2e8f0;border-radius:14px;padding:14px}.score-policy-item strong{display:block;color:#13213c;margin-bottom:4px}.score-policy-item span{color:#64748b;font-size:14px}.methodology-note{margin-top:14px;padding:12px 14px;border-left:4px solid #2563eb;background:#eff6ff;color:#334155;border-radius:8px}
.rfp-builder{background:#fff;border:1px solid #dbe4ef;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(15,23,42,.06)}.rfp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rfp-field{display:grid;gap:7px}.rfp-field.full{grid-column:1/-1}.rfp-field textarea{min-height:110px;resize:vertical}.rfp-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.rfp-checks label{display:flex;align-items:flex-start;gap:8px;color:#334155;font-size:14px}.rfp-checks input{width:auto;min-height:0;margin-top:3px}.rfp-preview{margin-top:18px;padding:20px;border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc;white-space:pre-wrap;color:#1e293b;line-height:1.55}.rfp-preview[hidden]{display:none}.rfp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.rfp-consent{display:flex;align-items:flex-start;gap:9px;margin-top:14px;color:#52627a;font-size:13px}.rfp-consent input{margin-top:3px}
.lead-policy{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lead-policy-card{border:1px solid #dbe4ef;border-radius:18px;padding:20px;background:#fff}.lead-policy-card h3{margin-bottom:10px}.lead-policy-card ul{margin:0;padding-left:20px;color:#52627a}.lead-policy-card li+li{margin-top:7px}.pilot-band{margin-top:18px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:16px;padding:18px}.pilot-band strong{color:#1e3a8a}
.procurement-snapshot{border-top:1px solid #e2e8f0;padding-top:22px}.procurement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.procurement-item{border:1px solid #e2e8f0;background:#f8fafc;border-radius:12px;padding:12px}.procurement-item strong{display:block;color:#13213c;font-size:14px}.procurement-item span{display:block;color:#64748b;font-size:13px;margin-top:3px}.research-status{margin-top:12px;padding:10px 12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;color:#9a3412;font-size:13px}
.qualified-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:12px;font-weight:900;padding:6px 9px}
.lead-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lead-extra-grid .full{grid-column:1/-1}.lead-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:8px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.lead-checks label{display:flex;gap:8px;align-items:flex-start}.lead-checks input{width:auto;margin-top:4px}
@media(max-width:900px){.matcher-results{grid-template-columns:1fr 1fr}.score-policy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.matcher-shell,.rfp-builder{padding:18px;border-radius:18px}.matcher-head{display:block}.matcher-grid,.rfp-grid,.lead-policy,.lead-extra-grid{grid-template-columns:1fr}.matcher-results,.score-policy-grid,.procurement-grid{grid-template-columns:1fr}.rfp-field.full,.lead-extra-grid .full{grid-column:auto}.rfp-checks,.lead-checks{grid-template-columns:1fr}.matcher-actions .btn,.rfp-actions .btn{width:100%}}
@media print{header,.header,footer,.footer,.hero-actions,.rfp-actions,.matcher-shell,.navlinks,.mobile-toggle{display:none!important}.rfp-builder{border:0;box-shadow:none;padding:0}.rfp-preview{border:0;background:#fff;padding:0}.rfp-builder form>div:not(.rfp-preview){display: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: smart-search.css */

.smart-search-summary{margin:14px 0 4px;padding:12px 14px;border:1px solid #d9e4f2;border-radius:12px;background:#f8fbff;color:#24364b;font-size:.94rem;line-height:1.5}
.smart-search-summary strong{color:#0b1f38}.smart-search-summary span{color:#53657a}
.provider-card.smart-top-match{box-shadow:0 0 0 2px rgba(37,99,235,.18),0 12px 28px rgba(15,23,42,.08)}
.smart-match-label{display:inline-flex;width:max-content;max-width:100%;margin:8px 0 2px;padding:5px 9px;border-radius:999px;background:#eaf2ff;color:#174ea6;font-size:.76rem;font-weight:800;letter-spacing:.01em}
@media(max-width:720px){.smart-search-summary{font-size:.9rem}.smart-match-label{font-size:.72rem}}

/* 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: provider-matcher-v2.css */
/* Release 2 institutional matcher */
.matcher-v2{border:1px solid #dbe5f2;border-radius:22px;background:#fff;box-shadow:0 18px 42px rgba(15,23,42,.07);overflow:hidden}.matcher-v2-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:26px 26px 18px;background:linear-gradient(135deg,#f7fbff,#fff)}.matcher-v2-head h2{margin:9px 0 8px}.matcher-v2-head p{margin:0;color:#53627a;line-height:1.65;max-width:760px}.matcher-v2-policy{min-width:210px;padding:12px 14px;border:1px solid #dbe7f5;border-radius:14px;background:#f8fbff;color:#40516a;font-size:12px;line-height:1.5}.matcher-v2-policy strong{display:block;color:#0b1930;margin-bottom:4px}.matcher-v2-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:20px 26px}.matcher-v2-field{display:flex;flex-direction:column;gap:7px}.matcher-v2-field span{font-size:12px;font-weight:800;color:#34445b}.matcher-v2-field select{width:100%;min-height:46px;border:1px solid #ccd8e7;border-radius:11px;background:#fff;color:#0f172a;padding:0 12px;font:inherit}.matcher-v2-evidence{display:flex;align-items:flex-start;gap:9px;margin:0 26px 18px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#475569;font-size:13px;line-height:1.45}.matcher-v2-evidence input{margin-top:2px;width:17px;height:17px;accent-color:#1d4ed8}.matcher-v2-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 26px 22px}.matcher-v2-method{margin:0;padding:14px 26px;border-top:1px solid #edf1f6;background:#fbfcfe;color:#65758a;font-size:12px;line-height:1.55}.matcher-v2-results{padding:22px 26px 26px;border-top:1px solid #edf1f6}.matcher-v2-results:empty{display:none}.matcher-v2-results-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:14px}.matcher-v2-results-head h3{margin:0}.matcher-v2-results-head p{margin:5px 0 0;color:#64748b;font-size:13px}.matcher-v2-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.match-v2-card{border:1px solid #dde6f1;border-radius:17px;padding:18px;background:#fff;box-shadow:0 9px 22px rgba(15,23,42,.04)}.match-v2-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.match-v2-card h4{font-size:18px;margin:0 0 4px;color:#0b1930}.match-v2-sub{color:#64748b;font-size:12px}.match-v2-score{min-width:72px;text-align:center;border-radius:13px;background:#edf5ff;color:#174ea6;padding:8px 9px;font-size:11px;font-weight:800}.match-v2-score strong{display:block;font-size:20px;line-height:1.05}.match-v2-badges{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.match-v2-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}.match-v2-badge.evidence{background:#eaf8f1;color:#12634a}.match-v2-badge.unknown{background:#fff7ed;color:#92500a}.match-v2-reasons{margin:12px 0 0;padding-left:18px;color:#40516a;font-size:13px;line-height:1.5}.match-v2-reasons li+li{margin-top:5px}.match-v2-caveat{margin:12px 0 0;padding:10px 12px;border-left:3px solid #d8a24f;background:#fffaf2;color:#705426;font-size:12px;line-height:1.5}.match-v2-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.match-v2-actions .btn{font-size:12px}.matcher-v2-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#526278}.compare-v2-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:0 0 15px;padding:14px 16px;border:1px solid #dfe7f1;border-radius:14px;background:#f8fafc}.compare-v2-toolbar p{margin:0;color:#526278;font-size:13px}.compare-v2-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.compare-cell-list{margin:0;padding-left:17px}.compare-cell-list li+li{margin-top:5px}.compare-evidence-note{font-size:11px;color:#64748b;margin-top:6px}.compare-unknown{color:#8a5a15;font-style:italic}.compare-shortlist-summary{margin-top:18px;padding:18px;border:1px solid #dbe7f5;border-radius:16px;background:#f8fbff}.compare-shortlist-summary h3{margin-top:0}.compare-shortlist-summary code{display:block;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;color:#334155;font-family:inherit}
@media(max-width:1050px){.matcher-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.matcher-v2-list{grid-template-columns:1fr}}
@media(max-width:720px){.matcher-v2-head{flex-direction:column;padding:20px}.matcher-v2-policy{min-width:0;width:auto}.matcher-v2-grid{grid-template-columns:1fr;padding:16px 20px}.matcher-v2-evidence{margin:0 20px 16px}.matcher-v2-actions,.matcher-v2-results{padding-left:20px;padding-right:20px}.matcher-v2-method{padding-left:20px;padding-right:20px}.matcher-v2-results-head,.compare-v2-toolbar{align-items:flex-start;flex-direction:column}.match-v2-top{gap:9px}.match-v2-score{min-width:64px}}

/* 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: 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%;
  }
}

/* source: release36-provider-filter-selected-contrast-fix.css */
/* Release 36: keep the compare selection label legible on the provider directory. */
html body main [data-provider-card] .compare-toggle.is-selected {
  background: #eef5ff !important;
  border-color: #2563eb !important;
  color: #174ea6 !important;
  -webkit-text-fill-color: #174ea6 !important;
  opacity: 1 !important;
}

html body main [data-provider-card] .compare-toggle.is-selected::before {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

html body main [data-provider-card] .compare-toggle:not(.is-selected) {
  background: #ffffff !important;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
}

/* source: release37-provider-filter-performance.css */
/* Release 37: defer off-screen card rendering without removing crawlable content. */
html body .provider-filter-grid [data-provider-card] {
  content-visibility: auto;
  contain-intrinsic-size: auto 620px;
}

/* Keep the fixed comparison bar clear of mobile safe-area controls. */
html body .compare-bar-inner {
  padding-bottom: calc(13px + env(safe-area-inset-bottom, 0px));
}

html body.compare-bar-visible {
  padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 820px) {
  html body.compare-bar-visible {
    padding-bottom: calc(146px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 520px) {
  html body .compare-bar-inner {
    padding-bottom: calc(11px + env(safe-area-inset-bottom, 0px));
  }

  html body.compare-bar-visible {
    padding-bottom: calc(162px + env(safe-area-inset-bottom, 0px));
  }
}
.claim-profile-status-claimed{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.68rem .9rem;border:1px solid #c9d6ea;border-radius:12px;background:#eef4ff;color:#173b73;font-weight:800;line-height:1.15;text-align:center}.profile-claimed-badge{background:#eaf2ff;color:#123b72;border:1px solid #cbdaf1}.provider-top .profile-claimed-badge{margin-left:auto}@media(max-width:700px){.claim-profile-status-claimed{width:100%}}
.claim-link-disabled{pointer-events:none;cursor:default;text-decoration:none!important;opacity:.9}
