/* Shared responsive corrections. Loaded after the legacy theme styles. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 100px;
}

input, textarea, select { max-width: 100%; min-width: 0; }
section h1, section h2, section h3, section p, .sarv-ft a {
  overflow-wrap: break-word;
}
.row > *, .sfm-grid > *, .aci-s10-form > *, .sarv-ft-nav > * { min-width: 0; }
.sfm-section select.sfm-select {
  appearance: auto;
  -webkit-appearance: menulist;
  padding-right: 14px;
}
.sfm-section .sfm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.site-logo img, .mobile-logo img, .mobile-sidebar .logos img {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
}
.mobile-header-elements { gap: 20px; }
.mobile-logo { min-width: 0; }
.mobile-nav-icon.dots-menu, .mobile-sidebar .menu-close {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  cursor: pointer;
  border: 1px solid currentColor;
  border-radius: 4px;
}
.mobile-sidebar {
  height: 100%;
  height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 24px 20px;
  padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
}
.mobile-sidebar .logoicons-area { gap: 20px; }
/* Visibility must change immediately so focus can enter the open dialog. */
.mobile-sidebar, .mobile-sidebar.mobile-menu-active { transition: left .25s ease, opacity .25s ease; }
.mobile-sidebar .logos { min-width: 0; background: #fff; padding: 8px; border-radius: 4px; }
.mobile-sidebar .menu-close { position: static; color: #fff; }
.mobile-sidebar .mobile-nav a { min-height: 48px; padding: 12px 0; }
.mobile-sidebar .mobile-demo { border-top: 1px solid #ffffff66; margin-top: 12px; padding-top: 20px; }
.mobile-nav-icon:focus-visible, .mobile-sidebar :focus-visible { outline: 3px solid #5188ff; outline-offset: 4px; }

.join3-btn { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.join3-btn a { margin: 0; max-width: 100%; line-height: 1.4; text-align: center; }
.welcomeaboiut2 .join3-btn { justify-content: center; }
.welcome12-section-area .welcome3-header h1 { font-size: clamp(2rem, 4.2vw, 3.125rem); line-height: 1.18; }
.welcome12-section-area .welcome3-header h1 span { font-size: inherit; line-height: inherit; }
.welcomeabout-area .welcomeaboiut2 h1 { font-size: clamp(2rem, 4.2vw, 3.125rem); line-height: 1.2; }
span.finance1 { max-width: 100%; line-height: 1.4; }
.haeder12-images img.welcome12img { display: block; height: auto; }
/* Keep this decorative accent inside the hero's media column. */
.haeder12-images img.elementors80 { right: 0; }

/* Tablets keep the same complete navigation as phones. */
@media (max-width: 1199.98px) {
  header.header.d-lg-block { display: none !important; }
  .mobile-header.d-lg-none { display: block !important; }
}
@media (max-width: 991.98px) {
  .welcome12-section-area { padding: 130px 0 56px; }
  .haeder12-images { margin: 36px auto 0; max-width: 620px; }
  .haeder12-images img.elementors80 { display: none; }
  .sfm-section { padding-top: 130px; }
  .sai-s2 { padding: 72px 0; }
  .sai-s2 .sai-s2-panel { padding: 28px 24px; }
}
@media (max-width: 767.98px) {
  body h1.font-44, body h1.font-48 { font-size: 2rem; line-height: 1.2; }
  body h1.font-44 span, body h1.font-48 span { font-size: inherit; line-height: inherit; }
}
@media (max-width: 575.98px) {
  .mobile-header { padding: 16px 0; }
  .mobile-logo img { width: 190px; }
  .welcome12-section-area { padding-top: 116px; }
  .welcomeabout-area { padding: 126px 0 56px; }
  .welcomeaboiut2 p br { display: none; }
  .welcome12-section-area .join3-btn { align-items: stretch; }
  .welcome12-section-area .join3-btn a { flex: 1 1 100%; }
  .service3-textarea h1, .service3-textarea h1 span { font-size: 2rem; line-height: 1.2; }
  .aci-s4 .aci-s4-card { margin: -36px 12px 0; padding: 28px 20px; }
  .aci-s4 .aci-s4-card h1 { font-size: 1.875rem; }
  .sfm-section .sfm-grid { grid-template-columns: minmax(0, 1fr); }
  .sfm-section .sfm-input { font-size: 16px; }
  .sfm-section { padding-top: 116px; }
  .sarv-ft .sarv-ft-head { font-size: 15px; }
  .sarv-ft .sarv-ft-link { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .mobile-sidebar, .mobile-sidebar.mobile-menu-active { transition: none; }
}
