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