/* Homepage visual layer: normalises legacy v2 markup with the site design. */
:root { --fidus-navy: #0b1f3a; --fidus-ink: #102a43; --fidus-blue: #1769aa; --fidus-gold: #f3b61f; --fidus-mist: #f4f7fb; }
#main { overflow: hidden; background: #fff; }
#main > .v2:first-child { position: relative; isolation: isolate; background: radial-gradient(circle at 80% 15%, #1d6295 0, var(--fidus-navy) 47%, #071426 100%) !important; }
#main > .v2:first-child .v2-bbox__background { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
#main > .v2:first-child .v2-bbox__background::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,20,39,.97) 4%, rgba(6,20,39,.79) 52%, rgba(6,20,39,.3)); }
#main > .v2:first-child video { width: 100%; height: 100%; min-height: 640px !important; object-fit: cover; opacity: .48; }
#main .v2-bbox__foreground { padding: 86px 0 62px; }
#main .v2-wrapper { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
#main .v2-row { display: flex; flex-wrap: wrap; margin-inline: -10px; }
#main .v2-col-xs-12 { width: 100%; padding-inline: 10px; }
#main .v2-typography--inverted { color: #fff; }
#main .v2-h1 { max-width: 720px; margin: 0 0 24px !important; padding-left: 0 !important; color: #fff; font-size: clamp(2.8rem, 5.4vw, 5.3rem); font-weight: 750; letter-spacing: -.055em; line-height: .98; }
#main .v2-h3 { margin: 0 0 24px; font-size: clamp(1.55rem, 2.4vw, 2.25rem); font-weight: 700; letter-spacing: -.03em; }
#main .v2-sh1 { max-width: 620px; padding-left: 0 !important; color: rgba(255,255,255,.84); font-size: 1.1rem; line-height: 1.75; }
#main .v2-btn-wrapper { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
#main .v2-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 23px; border: 1px solid transparent; border-radius: 8px; font-weight: 700; text-decoration: none; transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
#main .v2-btn:hover { transform: translateY(-2px); }
#main .v2-btn-primary { background: var(--fidus-gold); color: #172638; box-shadow: 0 10px 25px rgba(0,0,0,.2); }
#main .v2-btn-secondary--inverted { border-color: rgba(255,255,255,.7); color: #fff; background: rgba(255,255,255,.08); }
#main .v2-card-container ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
#main .v2-card-container li { margin: 0 !important; }
#main .v2-card { height: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 14px !important; background: rgba(15,38,67,.84) !important; box-shadow: 0 16px 30px rgba(0,0,0,.13); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
#main .v2-card:hover { transform: translateY(-6px); border-color: rgba(243,182,31,.72); box-shadow: 0 22px 40px rgba(0,0,0,.25); }
#main .v2-card__text-content { padding: 24px !important; }
#main .v2-card__header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
#main .v2-card__icon img { width: 42px; height: 42px; border-radius: 9px; }
#main .v2-card__title { margin: 0; color: #fff; font-size: 1.05rem; font-weight: 700; }
#main .v2-card__rte p { color: rgba(255,255,255,.73); font-size: .93rem; line-height: 1.62; }
#main .v2-card__cta { margin-top: 17px; }
#main .v2-btn--link { min-height: 0; padding: 0; color: var(--fidus-gold); background: transparent; }
#main .about, #main .faq, #main .call-to-action { padding: 92px 0; }
#main .about, #main .faq { background: var(--fidus-mist); }
#main .call-to-action { background: var(--fidus-navy); }
#main .about .container, #main .faq .container, #main .call-to-action .container { max-width: 1180px; }
#main .section-title h1, #main .section-title h2 { color: var(--fidus-ink); letter-spacing: -.035em; }
#main .section-title h3 { color: var(--fidus-blue); }
@media (max-width: 991px) { #main .v2-card-container ul { grid-template-columns: repeat(2, minmax(0,1fr)); } #main .v2-bbox__foreground { padding-top: 70px; } }
@media (max-width: 575px) { #main .v2-wrapper { width: min(100% - 32px,1180px); } #main .v2-bbox__foreground { padding: 54px 0 40px; } #main > .v2:first-child video { min-height: 760px !important; } #main .v2-card-container ul { grid-template-columns: 1fr; } #main .v2-btn { width: 100%; } #main .about, #main .faq, #main .call-to-action { padding: 64px 0; } }
/* Compact header actions and an always-visible mobile loan request CTA. */
.header-btn { gap: 14px; }
.header-btn .btn-default { padding: 11px 42px 11px 18px; font-size: 13px; }
.header-btn .btn-default::before { width: 16px; height: 16px; background-size: 16px auto; transform: translate(-18px, -50%); }
.header-btn .btn-login { margin-right: 0; font-size: 14px; }
.mobile-loan-application { display: none; }
@media (max-width: 991px) {
  .mobile-loan-application { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; margin-left: auto; margin-right: 12px; padding: 9px 13px; border: 1px solid #f3b61f; border-radius: 7px; background: #f3b61f; color: #102a43 !important; font-size: 12px; font-weight: 750; line-height: 1; letter-spacing: .01em; text-decoration: none; white-space: nowrap; box-shadow: 0 4px 12px rgba(243,182,31,.22); }
  .mobile-loan-application:active, .mobile-loan-application:hover { background: #ffd15c; color: #102a43 !important; }
  .navbar-brand img { width: auto !important; max-width: 128px; height: auto; }
}
@media (max-width: 380px) {
  .navbar > .container { padding-left: 12px; padding-right: 12px; }
  .navbar-brand img { max-width: 108px; }
  .mobile-loan-application { min-height: 36px; margin-right: 8px; padding: 8px 10px; font-size: 11px; }
  .slicknav_btn { width: 36px; height: 36px; }
}