/* Homepage only: public forms and shared application styles keep their contracts. */
.mx-home {
  --home-ink: #152c45;
  --home-muted: #526479;
  --home-blue: #225be5;
  background: #f8fafc;
  color: var(--home-ink);
  -webkit-font-smoothing: antialiased;
}
.mx-home .home-container { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.mx-home h1, .mx-home h2 { color: var(--home-ink); }
.mx-home a, .mx-home button, .mx-home select { -webkit-tap-highlight-color: transparent; }
.mx-home a:focus-visible, .mx-home button:focus-visible, .mx-home select:focus-visible { outline: 3px solid #26859b; outline-offset: 5px; }
.mx-home .home-header { background: #fff; border-bottom: 1px solid #e5ebf2; }
.mx-home .home-header-inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.mx-home .home-logo { flex-shrink: 0; }
.mx-home .home-logo img { width: 188px; height: auto; }
.mx-home .home-navigation, .mx-home .home-header-actions { display: flex; align-items: center; gap: 28px; }
.mx-home .home-navigation a { color: var(--home-muted); font-size: 14px; font-weight: 600; }
.mx-home .home-navigation a:hover { color: var(--home-blue); }
.mx-home .homepage-language-selector { width: 142px; min-width: 0; min-height: 42px; background: #f8fafc; border: 1px solid #dee5ed; font-size: 12px; border-radius: 8px; }
.mx-home .home-login-link { display: inline-flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.mx-home .home-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); align-items: center; gap: clamp(36px, 6vw, 88px); padding: 72px 0 56px; }
.mx-home .home-eyebrow { display: flex; align-items: center; gap: 9px; font-size: 11px; letter-spacing: 2px; font-weight: 700; color: #376479; margin-bottom: 23px; }
.mx-home .home-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #13857a; box-shadow: 0 0 0 4px #e0f0ec; }
.mx-home .home-hero h1 { font-size: clamp(32px, 3.55vw, 49px); line-height: 1.2; letter-spacing: -1.9px; font-weight: 700; margin: 0 0 23px; }
.mx-home .home-lead { font-size: 18px; line-height: 1.8; color: var(--home-muted); margin-bottom: 27px; max-width: 570px; }
.mx-home .home-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 52px; padding: 14px 24px; background: var(--home-blue); border: 1px solid var(--home-blue); border-radius: 9px; color: #fff; font-weight: 600; font-size: 14px; line-height: 1.5; cursor: pointer; transition: background .2s, box-shadow .2s; }
.mx-home .home-button:hover { background: #1647c1; color: #fff; box-shadow: 0 5px 16px #225be526; }
.mx-home .home-workflow { margin: 24px 0 0; max-width: 570px; }
.mx-home .home-workflow img { width: 100%; height: auto; }
.mx-home .home-login-card { position: relative; padding: 36px; background: #fff; border: 1px solid #e0e7ef; border-radius: 20px; box-shadow: 0 20px 65px -25px #24457438; }
.mx-home .home-login-card::before { content: ''; position: absolute; inset: -14px 18px auto; height: 14px; border: 1px solid #e0e7ef; border-bottom: 0; border-radius: 16px 16px 0 0; background: #edf2f9; z-index: -1; }
.mx-home .home-login-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 27px; }
.mx-home .home-login-heading h2 { font-size: 24px; margin: 0; letter-spacing: -.5px; }
.mx-home .home-icon { display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; border-radius: 12px; background: #eaf0ff; color: var(--home-blue); flex-shrink: 0; font-size: 18px; }
.mx-home .home-field { margin-bottom: 19px; }
.mx-home .home-field label { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.mx-home .home-input-wrap { position: relative; }
.mx-home .home-input-wrap > i { position: absolute; inset-inline-start: 17px; top: 19px; font-size: 14px; color: #8190a4; pointer-events: none; }
.mx-home .home-field .form-control { height: 52px; border: 1px solid #dbe3ed; border-radius: 8px; background: #fafbfd; padding-inline-start: 42px; font-size: 14px; color: var(--home-ink); }
.mx-home .home-field .form-control:focus { border-color: var(--home-blue); box-shadow: 0 0 0 3px #225be51a; background: #fff; }
.mx-home .home-forgot { display: block; text-align: end; font-size: 12px; margin: -2px 0 22px; }
.mx-home #loginForm > .home-button { width: 100%; }
.mx-home .home-register { margin-top: 23px; padding-top: 22px; border-top: 1px solid #edf0f5; text-align: center; font-size: 13px; }
.mx-home .home-register i { margin-inline-start: 7px; font-size: 10px; }
.mx-home #form-message-warning { margin-top: 12px; font-size: 13px; }
.mx-home .home-platform { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: center; gap: 45px; padding: 42px 48px; border-radius: 20px; background: #122d47; color: #c6d6e5; overflow: hidden; }
.mx-home .home-platform .home-icon { background: #ffffff12; color: #76d6d0; margin-bottom: 19px; }
.mx-home .home-platform h2 { color: #fff; font-size: clamp(23px, 2.5vw, 31px); line-height: 1.35; letter-spacing: -.8px; }
.mx-home .home-platform p { color: #c6d6e5; line-height: 1.8; margin: 18px 0; }
.mx-home .home-text-link { display: inline-flex; align-items: center; gap: 20px; color: #9be5df; font-weight: 600; font-size: 14px; }
.mx-home .home-text-link:hover { color: #fff; }
.mx-home figure { min-width: 0; }
.mx-home .home-platform figure { margin: 0; }
.mx-home .home-platform img, .mx-home .home-about img { width: 100%; height: auto; }
.mx-home .home-section { margin-top: 76px; }
.mx-home .home-section-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 28px; }
.mx-home .home-section-heading h2 { margin: 0; font-size: clamp(22px, 2.2vw, 29px); letter-spacing: -.7px; line-height: 1.4; }
.mx-home .home-about-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.mx-home .home-about-copy { color: var(--home-muted); font-size: 15px; line-height: 1.9; }
.mx-home .home-about-copy p { margin: 0 0 20px; }
.mx-home .home-about-copy b { color: var(--home-ink); font-weight: 600; }
.mx-home .home-about figure { background: #eef3f9; border: 1px solid #e4ebf3; border-radius: 18px; padding: 20px; margin: 0; }
.mx-home .home-service-grid, .mx-home .home-resource-grid { display: grid; gap: 14px; padding: 0; margin: 0; list-style: none; }
.mx-home .home-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mx-home .home-service-grid li, .mx-home .home-resource-grid li { min-width: 0; }
.mx-home .home-service-grid a { position: relative; display: flex; align-items: flex-start; gap: 14px; height: 100%; padding: 24px 30px 24px 20px; border: 1px solid #e0e7ef; border-radius: 12px; background: #fff; font-size: 14px; line-height: 1.7; color: #354d65; transition: border-color .2s, box-shadow .2s; overflow-wrap: anywhere; }
.mx-home .home-service-grid a:hover { border-color: #91abe5; box-shadow: 0 6px 20px #223f6710; color: #194fcf; }
.mx-home .home-service-icon { display: inline-flex; align-items: center; justify-content: center; width: 31px; height: 34px; background: #edf3ff; color: #426ac5; border-radius: 8px; flex-shrink: 0; }
.mx-home .home-service-grid li:nth-child(3n+2) .home-service-icon { background: #e8f5f1; color: #21816c; }
.mx-home .home-service-grid li:nth-child(3n+3) .home-service-icon { background: #f0edfa; color: #7960b3; }
.mx-home .home-card-arrow { position: absolute; inset-inline-end: 12px; top: 13px; color: #7c8da1; font-size: 9px; }
.mx-home .home-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mx-home .home-resource-grid a { display: flex; align-items: center; gap: 18px; height: 100%; padding: 25px; border: 1px solid #e0e7ef; border-radius: 12px; background: #eef3fa; color: var(--home-ink); font-weight: 600; font-size: 15px; }
.mx-home .home-resource-grid a:hover { background: #e6eefb; }
.mx-home .home-resource-grid a > i:first-child { color: var(--home-blue); font-size: 22px; }
.mx-home .home-resource-grid a > i:last-child { margin-inline-start: auto; font-size: 12px; }
.mx-home .home-footer { margin-top: 76px; padding: 38px 0 24px; background: #fff; border-top: 1px solid #e2e8f0; }
.mx-home .home-footer-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; }
.mx-home .homepage-quick-links { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 13px 24px; max-width: 690px; }
.mx-home .homepage-quick-links a { display: inline; min-height: auto; padding: 0; border: 0; background: none; border-radius: 0; color: var(--home-muted); font-size: 13px; font-weight: 400; box-shadow: none; }
.mx-home .homepage-quick-links a:hover { color: var(--home-blue); }
.mx-home .homepage-languages { margin-top: 28px; padding-top: 22px; border-color: #edf0f5; font-size: 12px; }
.mx-home .homepage-languages a { color: var(--home-muted); }
.mx-home .homepage-languages [aria-current] { color: var(--home-blue); font-weight: 700; }
.mx-home [id] { scroll-margin-top: 25px; }
[dir="rtl"] .mx-home .home-hero h1 { letter-spacing: 0; }
@media (max-width: 1050px) {
  .mx-home .home-container { width: calc(100% - 48px); }
  .mx-home .home-header-inner, .mx-home .home-header-actions { gap: 20px; }
  .mx-home .home-navigation { gap: 18px; }
  .mx-home .home-logo img { width: 160px; }
  .mx-home .home-hero { gap: 32px; }
  .mx-home .home-login-card { padding: 28px; }
  .mx-home .home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .mx-home .home-container { width: calc(100% - 40px); }
  .mx-home .home-header-inner { flex-wrap: wrap; padding-block: 19px 12px; gap: 18px; }
  .mx-home .home-header-actions { margin-inline-start: auto; }
  .mx-home .home-navigation { order: 3; width: 100%; justify-content: center; border-top: 1px solid #edf0f5; padding-top: 12px; }
  .mx-home .home-login-link { display: none; }
  .mx-home .homepage-language-selector { width: 125px; }
  .mx-home .home-hero { grid-template-columns: 1fr; gap: 30px; padding: 40px 0; }
  .mx-home .home-hero h1 { font-size: clamp(32px, 6vw, 43px); letter-spacing: -1.2px; }
  .mx-home .home-lead { font-size: 16px; }
  .mx-home .home-workflow { margin-bottom: 0; }
  .mx-home .home-login-card { padding: 28px; }
  .mx-home .home-platform { grid-template-columns: 1fr; padding: 30px; gap: 15px; }
  .mx-home .home-platform figure { max-width: 310px; margin-inline: auto; }
  .mx-home .home-section { margin-top: 48px; }
  .mx-home .home-about-layout { grid-template-columns: 1fr; gap: 15px; }
  .mx-home .home-about figure { max-width: 360px; margin-inline: auto; }
  .mx-home .home-resource-grid { grid-template-columns: 1fr; }
  .mx-home .home-footer { margin-top: 48px; }
  .mx-home .home-footer-top { flex-direction: column; gap: 24px; }
  .mx-home .homepage-quick-links { justify-content: flex-start; }
}
@media (max-width: 480px) {
  .mx-home .home-container { width: calc(100% - 32px); }
  .mx-home .home-logo img { width: 145px; }
  .mx-home .home-header-actions { gap: 0; }
  .mx-home .homepage-language-selector { width: 118px; padding-inline: 8px; }
  .mx-home .home-service-grid { grid-template-columns: 1fr; }
  .mx-home .home-login-card, .mx-home .home-platform { padding: 24px; }
  .mx-home .home-hero-copy > .home-button { width: 100%; }
  .mx-home .home-section-heading { align-items: flex-start; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .mx-home *, .mx-home *::before, .mx-home *::after { transition: none !important; scroll-behavior: auto !important; }
}
