/* Homepage only. Content is visible before JavaScript and when motion is disabled. */
.mbt-home-hero { padding: 130px 0 75px; }
.mbt-home-hero .banner-three__content { margin-top: 0; }
.mbt-home-hero .banner-three__content h1 { font-size: clamp(36px, 4vw, 58px); line-height: 1.15; letter-spacing: -1.7px; }
.mbt-home-hero .banner-three__content > p { max-width: 590px; }
.mbt-home-hero .banner-three__info { gap: 14px; margin-top: 30px; }
.mbt-home-hero .banner-three__info .btn-one { padding: 15px 22px; }
.mbt-home-hero .mbt-secondary-cta { background: transparent; border: 1px solid #8da7db; }
.mbt-home-hero .mbt-hero-note { flex-basis: 100%; font-size: 13px; line-height: 1.6; color: #cedaf2; }
.mbt-home-hero .banner-three__bg { opacity: .35; }
.business-flow { position: relative; width: 100%; max-width: 540px; margin: 20px auto 0; isolation: isolate; line-height: 1.5; }
.business-flow__halo { position: absolute; inset: -40px; z-index: -1; background: radial-gradient(ellipse, #4e8aff50, transparent 68%); pointer-events: none; }
.business-flow__window { color: #172a4c; background: #f7faff; border: 1px solid #aecbff; border-radius: 18px; box-shadow: 0 30px 70px #06132f55, 0 0 0 8px #ffffff08; overflow: hidden; }
.business-flow__toolbar { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; border-bottom: 1px solid #dfE8f5; background: white; }
.business-flow__brand { font-size: 14px; font-weight: 800; letter-spacing: 1px; color: #285cce; }
.business-flow__brand > span { color: #697c98; font-weight: 400; letter-spacing: 0; }
.business-flow__dots { display: flex; gap: 5px; }
.business-flow__dots i { width: 5px; height: 5px; background: #b0bed5; border-radius: 50%; }
.business-flow__body { padding: 25px 22px 18px; }
.business-flow__heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 9px; font-weight: 700; letter-spacing: 1.2px; color: #62738d; }
.business-flow__status { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; background: #e3f5ee; color: #257052; border-radius: 20px; font-size: 9px; letter-spacing: 0; }
.business-flow__status::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: #2a9470; }
.business-flow__title { font-size: clamp(18px, 2vw, 25px); line-height: 1.35; font-weight: 700; letter-spacing: -.7px; margin-top: 15px; }
.business-flow__subtitle { color: #697b95; font-size: 11px; margin-top: 4px; }
.business-flow__steps { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin: 26px 0; }
.business-flow__connections { position: absolute; top: 4px; width: 100%; height: 40px; overflow: visible; }
.business-flow__connections path { fill: none; stroke-width: 2; }
.business-flow__track { stroke: #d9e4f7; }
.business-flow__line { stroke: #5686ec; stroke-dasharray: 8 6; stroke-linecap: round; }
.business-flow__step { position: relative; display: flex; flex-direction: column; align-items: center; }
.business-flow__icon { width: 48px; height: 48px; display: grid; place-items: center; background: #eaf1ff; border: 1px solid #c9dafa; border-radius: 13px; box-shadow: 0 0 0 7px #f7faff; }
.business-flow__icon svg { width: 23px; height: 23px; stroke: #376de0; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.business-flow__step strong { font-size: 12px; margin-top: 10px; line-height: 1.5; }
.business-flow__step small { font-size: 10px; color: #6c7d97; }
.business-flow__overview { display: grid; grid-template-columns: 1.15fr 1fr; gap: 12px; }
.business-flow__activity, .business-flow__chart { background: white; border: 1px solid #e0e8f4; border-radius: 10px; padding: 14px 12px; }
.business-flow__label { display: block; font-size: 8px; letter-spacing: 1px; font-weight: 700; color: #6d7f9b; margin-bottom: 10px; }
.business-flow__row { display: flex; align-items: center; gap: 7px; font-size: 9px; line-height: 1.6; padding: 7px 0; }
.business-flow__row + .business-flow__row { border-top: 1px solid #edf1f7; }
.business-flow__row i { width: 5px; height: 5px; border-radius: 50%; background: #6590ee; flex-shrink: 0; }
.business-flow__row b { margin-left: auto; color: #8b9bb2; font-size: 8px; font-weight: 400; }
.business-flow__bars { height: 79px; display: flex; align-items: end; gap: 7px; border-bottom: 1px solid #e0e8f4; background: repeating-linear-gradient(to top, transparent 0 25px, #f0f4fa 25px 26px); }
.business-flow__bars i { flex: 1; height: 35%; border-radius: 3px 3px 0 0; background: #a8c3ff; transform-origin: bottom; }
.business-flow__bars i:nth-child(2) { height: 52%; }
.business-flow__bars i:nth-child(3) { height: 43%; }
.business-flow__bars i:nth-child(4) { height: 70%; }
.business-flow__bars i:nth-child(5) { height: 58%; }
.business-flow__bars i:nth-child(6) { height: 83%; background: #6796fa; }
.business-flow__bars i:nth-child(7) { height: 95%; background: #3c72fc; }
.business-flow__chart-caption { display: block; margin-top: 8px; font-size: 8px; color: #70819a; }
.business-flow__footer { margin-top: 17px; font-size: 10px; color: #677d9b; text-align: center; }
.business-flow__spark { margin-right: 4px; color: #3c72fc; }
.business-flow figcaption { margin-top: 16px; color: #c1d1ef; font-size: 10px; letter-spacing: .5px; text-align: center; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 16px; }
.business-flow figcaption > span { color: inherit; }
#case-section[data-home-motion] .case__image img { transition: none; }
@media (min-width: 992px) { .mbt-home-hero .row { --bs-gutter-x: 48px; } }
@media (max-width: 991px) {
    .mbt-home-hero { padding: 130px 0 65px; }
    .mbt-home-hero .banner-three__content h1 { max-width: 680px; }
    .business-flow { margin-top: 44px; }
}
@media (max-width: 575px) {
    .mbt-home-hero { padding: 95px 0 45px; }
    .mbt-home-hero .banner-three__container { padding: 24px; }
    .mbt-home-hero .banner-three__content h1 { font-size: 34px; letter-spacing: -1px; }
    .mbt-home-hero .banner-three__info .btn-one { font-size: 13px; padding: 12px 17px; }
    .business-flow__toolbar { padding: 13px 16px; }
    .business-flow__body { padding: 20px 14px 15px; }
    .business-flow__overview { gap: 8px; }
    .business-flow__activity, .business-flow__chart { padding: 12px 9px; }
}
@media (max-width: 991px), (prefers-reduced-motion: reduce) {
    #case-section[data-home-motion] [class*="sway"] { animation: none !important; }
}

/* Workflow problems: each illustration has a readable, static final state. */
.home-partners { padding: 86px 0 52px; background: radial-gradient(ellipse at 85% 0, #263d6c70, transparent 55%), #101c33; color: #fff; overflow: hidden; }
.home-partners__heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 40px; }
.home-partners__eyebrow { display: flex; align-items: center; gap: 10px; font-size: 10px; line-height: 1.7; letter-spacing: 1.8px; font-weight: 600; color: #a5c3f7; margin: 0 0 20px; }
.home-partners__eyebrow > span { width: 6px; height: 6px; border-radius: 50%; background: #8cbbff; box-shadow: 0 0 0 4px #8cbbff14; }
.home-partners h2 { color: white; font-size: clamp(30px, 3.3vw, 44px); letter-spacing: -1.3px; line-height: 1.2; text-transform: none; }
.home-partners h2 span { display: inline; color: #99bfff; }
.home-partners__heading > p { max-width: 320px; color: #bacbe5; font-size: 14px; line-height: 1.85; margin: 0 0 3px; }
.home-partners__wall { display: grid; gap: 16px; }
.partner-belt { min-width: 0; }
.partner-belt__group { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.partner-logo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px 18px 16px; min-width: 0; border-radius: 12px; background: #fff; border: 1px solid #dce5f2; }
.partner-logo img { display: block; width: 100%; height: 65px !important; object-fit: contain; }
.partner-logo span { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #718098; font-size: 9px; letter-spacing: .2px; line-height: 1.6; }
.home-partners.is-moving .partner-belt { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 28px, #000 calc(100% - 28px), transparent); }
.home-partners.is-moving .partner-belt__track { display: flex; width: max-content; }
.home-partners.is-moving .partner-belt__group { display: flex; flex: 0 0 auto; width: max-content; gap: 16px; padding-right: 16px; }
.home-partners.is-moving .partner-logo { width: 200px; flex: 0 0 200px; }
.home-partners__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; }
.home-partners__footer p { color: #9cb0d0; font-size: 12px; margin: 0; line-height: 1.8; }
.home-partners__footer > div { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.home-partners__footer a { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; color: #d9e7ff; font-size: 12px; font-weight: 600; }
.home-partners__footer a > span { color: inherit; font-size: 23px; }
.home-partners__footer a:focus-visible { outline: 2px solid #a5caff; outline-offset: 4px; }
@media (max-width: 991px) {
    .home-partners { padding: 64px 0 42px; }
    .home-partners__heading { align-items: start; flex-direction: column; gap: 20px; }
    .home-partners__heading > p { max-width: 540px; }
    .home-partners__footer { flex-direction: column; align-items: start; gap: 14px; }
}
@media (max-width: 575px) {
    .home-partners { padding: 52px 0 34px; }
    .home-partners > .container { padding-left: 24px; padding-right: 24px; }
    .home-partners h2 { font-size: 32px; letter-spacing: -.9px; }
    .home-partners__heading { margin-bottom: 28px; }
    .home-partners__wall { gap: 12px; }
    .partner-belt__group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .home-partners.is-moving .partner-belt__group { gap: 12px; padding-right: 12px; }
    .home-partners.is-moving .partner-logo { width: 158px; flex-basis: 158px; }
    .partner-logo { padding: 18px 12px 12px; gap: 10px; border-radius: 10px; }
    .partner-logo img { height: 52px !important; }
    .partner-logo span { font-size: 8px; }
    .home-partners.is-moving .partner-belt { mask-image: linear-gradient(to right, transparent, #000 10px, #000 calc(100% - 10px), transparent); }
    .home-partners__footer > div { gap: 10px 18px; }
}

.workflow-problems { position: relative; padding: 100px 0 60px; background: radial-gradient(ellipse at 90% 5%, #e5edff 0, transparent 45%), #f5f7fb; }
.workflow-problems__heading { display: flex; align-items: end; justify-content: space-between; gap: 48px; margin-bottom: 42px; }
.workflow-problems__eyebrow { display: flex; align-items: center; gap: 10px; color: #4263a6; font-size: 10px; letter-spacing: 1.6px; font-weight: 700; line-height: 1.7; margin-bottom: 20px; }
.workflow-problems__eyebrow > span { width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #4773d9; box-shadow: 0 0 0 4px #4773d912; }
.workflow-problems h2 { color: #162b4b; font-size: clamp(30px, 3.3vw, 44px); line-height: 1.2; letter-spacing: -1.3px; text-transform: none; margin: 0; }
.workflow-problems h2 > span { display: inline; color: #426bd0; }
.workflow-problems__intro { max-width: 330px; font-size: 14px; color: #62718a; line-height: 1.9; margin: 0 0 4px; }
.workflow-problems__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.problem-card { --problem-accent: #426bd0; --problem-wash: #edf2ff; --problem-border: #c7d5f7; background: white; border: 1px solid #e0e7f1; border-radius: 16px; padding: 8px; display: flex; flex-direction: column; min-width: 0; box-shadow: 0 5px 18px #1b3b6805; }
.problem-card--approval { --problem-accent: #237f75; --problem-wash: #eaf5f2; --problem-border: #badfd6; }
.problem-card--input { --problem-accent: #7955b3; --problem-wash: #f2edfa; --problem-border: #dacbf0; }
.problem-card--report { --problem-accent: #ae702c; --problem-wash: #fcf4e8; --problem-border: #ead5b7; }
.problem-card__visual { padding: 13px 10px 6px; background: var(--problem-wash); border-radius: 10px; overflow: hidden; }
.problem-card__index { display: block; color: var(--problem-accent); font-size: 9px; font-weight: 600; line-height: 1.5; letter-spacing: 1.3px; margin: 0 3px 6px; }
.problem-card__visual svg { display: block; width: 100%; height: auto; aspect-ratio: 12 / 7; }
.problem-track { stroke: var(--problem-border); stroke-width: 1.5; }
.problem-line { stroke: var(--problem-accent); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.problem-paper { fill: white; stroke: var(--problem-border); stroke-width: 1; }
.problem-detail { stroke: var(--problem-accent); stroke-width: 2; stroke-linecap: round; opacity: .45; }
.problem-fill, .problem-bar { fill: var(--problem-accent); }
.problem-bar:nth-of-type(even) { opacity: .65; }
.problem-check { stroke: white; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.problem-cross { stroke: white; stroke-width: 2; stroke-linecap: round; opacity: 0; }
.problem-flow-line { stroke-dasharray: 6 5; }
.problem-card__body { padding: 23px 16px 15px; display: flex; flex-direction: column; flex: 1; }
.workflow-problems .problem-card h3 { color: #172d4e; font-size: 21px; line-height: 1.3; letter-spacing: -.6px; margin: 0 0 14px; min-height: 55px; text-transform: none; }
.problem-card__body p { font-size: 13px; line-height: 1.85; color: #627089; margin: 0 0 24px; }
.problem-card__outcome { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 16px; border-top: 1px solid #edf0f5; color: var(--problem-accent); font-size: 11px; font-weight: 600; line-height: 1.7; }
.problem-card__outcome > span { color: inherit; font-size: 18px; }
.workflow-problems__footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 32px; }
.workflow-problems__footer p { margin: 0; color: #697990; font-size: 12px; line-height: 1.8; }
.workflow-problems__footer a { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; color: #254f9d; font-size: 13px; font-weight: 600; }
.workflow-problems__footer a > span { color: inherit; font-size: 23px; }
.workflow-problems__footer a:hover { color: #142b53; }
.workflow-problems__footer a:focus-visible { outline: 2px solid #426bd0; outline-offset: 5px; border-radius: 3px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .problem-card { transition: border-color .25s, box-shadow .25s; }
    .problem-card:hover { border-color: var(--problem-border); box-shadow: 0 10px 28px #1b3b6810; }
}
@media (max-width: 1199px) {
    .workflow-problems__grid { gap: 14px; }
    .problem-card__body { padding: 20px 12px 12px; }
    .workflow-problems .problem-card h3 { font-size: 19px; }
}
@media (max-width: 991px) {
    .workflow-problems { padding: 70px 0 45px; }
    .workflow-problems__heading { flex-direction: column; align-items: start; gap: 20px; }
    .workflow-problems__intro { max-width: 540px; }
    .workflow-problems__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .workflow-problems .problem-card h3 { font-size: 22px; min-height: 0; }
    .problem-card__body { padding: 24px 18px 16px; }
    .problem-card__visual svg { max-width: 260px; margin: 0 auto; }
}
@media (max-width: 575px) {
    .workflow-problems { padding: 56px 0 36px; }
    .workflow-problems > .container { padding-left: 24px; padding-right: 24px; }
    .workflow-problems__eyebrow { font-size: 9px; letter-spacing: 1px; }
    .workflow-problems h2 { font-size: 32px; letter-spacing: -.9px; }
    .workflow-problems__heading { margin-bottom: 28px; }
    .workflow-problems__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .problem-card__visual svg { max-width: 230px; }
    .problem-card__body p { font-size: 14px; }
    .workflow-problems__footer { align-items: start; flex-direction: column; gap: 10px; margin-top: 24px; }
}
