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