/* Homepage social proof: visual stories, written reviews, then lender brands. */
.home-social-proof, .proof-dialog { --on-dark: #fff; --on-dark-muted: #d5e0e9; }
.home-social-proof { padding-block: 4rem 2.5rem; background: #102a43; color: var(--on-dark); overflow: hidden; }
.proof-track { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 4px 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.proof-track::-webkit-scrollbar { display: none; }
.proof-track { margin-right: calc(-1 * max(1.25rem, (100vw - 1140px) / 2)); padding-right: max(1.25rem, (100vw - 1140px) / 2); }
.proof-card { flex: 0 0 320px; min-width: 0; height: 560px; scroll-snap-align: start; }
.proof-card figure { position: relative; margin: 0; height: 100%; }
.proof-feature { flex-basis: min(1040px, 92%); }
.proof-photo-quote { display: grid; grid-template-columns: 1fr 1fr; border-radius: 18px; overflow: hidden; background: #f5f1e9; }
.proof-media { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; border-radius: 16px; background: #193653; }
.proof-media img { width: 100%; height: 100%; object-fit: cover; }
.proof-photo-quote .proof-media { border-radius: 0; }
.proof-photo-quote img { object-position: 50% 44%; }
.proof-feature-copy { display: flex; flex-direction: column; justify-content: center; gap: 2rem; padding: clamp(2rem, 3.8vw, 3.5rem); color: #193653; }
.proof-feature-copy blockquote { margin: 0; color: #193653; font: 500 clamp(1.45rem, 2.25vw, 2rem)/1.45 Inter, sans-serif; letter-spacing: -.025em; }
.proof-caption { color: #fff; font: 600 1rem/1.5 Inter, sans-serif; }
.proof-caption span { display: block; font-size: .875rem; color: #d5e0e9; font-weight: 400; }
.proof-feature-copy .proof-caption { color: #193653; margin: 0; }
.proof-feature-copy .proof-caption span { color: #536275; margin-top: .25rem; }
.proof-card:not(.proof-feature) .proof-caption { position: absolute; inset: auto 1.25rem 1.15rem; z-index: 2; pointer-events: none; }
.proof-video-link { color: #fff; text-decoration: none; }
.proof-card:not(.proof-feature) .proof-media::after { content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, #081b2e); pointer-events: none; }
.proof-play { position: absolute; inset: auto 1.25rem 5.2rem; z-index: 1; display: flex; align-items: center; gap: .7rem; color: #fff; font-size: .875rem; font-weight: 600; }
.proof-play-icon { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: 50%; background: #fff; color: #102a43; transition: transform .2s; }
.proof-video-link:hover .proof-play-icon { transform: scale(1.08); }
.proof-duration { margin-left: auto; font-variant-numeric: tabular-nums; }
.proof-photo-card { flex-basis: 450px; }
.proof-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.75rem; }
.proof-source-link { color: #d5e0e9; font-size: .875rem; text-underline-offset: .3em; }
.proof-source-link:hover { color: #fff; }
.proof-controls { display: flex; align-items: center; gap: .8rem; }
.proof-controls[hidden], .lender-toggle[hidden] { display: none; }
.proof-nav { display: grid; place-items: center; width: 46px; height: 46px; flex-shrink: 0; border-radius: 50%; border: 1px solid #7890a2; background: transparent; color: inherit; font-size: 1.3rem; cursor: pointer; }
.proof-nav:hover:not(:disabled) { background: #fff; color: #102a43; }
.proof-nav:disabled { opacity: .3; cursor: default; }
.proof-position { min-width: 3.5rem; text-align: center; font-size: .875rem; font-variant-numeric: tabular-nums; }
.home-google-reviews { padding-block: 4rem 1.75rem; background: #fff; color: #193653; overflow: hidden; }
.home-google-reviews .embedsocial-widget { width: 100%; }
.home-google-reviews iframe { display: block; width: 100%; border: 0; }
.review-source-link { display: block; width: fit-content; margin: 1rem auto 0; color: #526278; font-size: .875rem; text-underline-offset: .3em; }
.home-lenders { padding-block: 2.5rem 3rem; background: #fff; border-bottom: 1px solid #e1e7ee; overflow: hidden; }
.lender-wall { position: relative; max-width: 1600px; margin: auto; }
.lender-viewport { overflow: auto; scrollbar-width: thin; padding-block: 12px; }
.lender-track { display: flex; width: max-content; }
.lender-set { display: flex; align-items: center; gap: 3rem; padding: 0 3rem 0 0; list-style: none; margin: 0; }
.lender-set li { display: flex; align-items: center; justify-content: center; width: 160px; height: 60px; flex: 0 0 auto; overflow: hidden; }
.lender-set img { max-width: 128px; max-height: 42px; width: auto; height: auto; object-fit: contain; }
.home-lenders[data-enhanced] .lender-viewport { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent); }
.home-lenders[data-enhanced] .lender-track { animation: lender-drift 50s linear infinite; }
.home-lenders[data-enhanced] .lender-row-reverse .lender-track { animation-direction: reverse; animation-duration: 56s; }
.home-lenders[data-paused] .lender-track, .home-lenders:hover .lender-track, .home-lenders:focus-within .lender-track { animation-play-state: paused; }
.lender-toggle { position: absolute; right: max(1.25rem, (100% - 1140px) / 2); bottom: -1.4rem; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #ccd5df; border-radius: 50%; background: #fff; color: #193653; font-size: .85rem; cursor: pointer; }
@keyframes lender-drift { to { transform: translateX(-50%); } }
.home-social-proof :focus-visible, .home-google-reviews :focus-visible, .home-lenders :focus-visible { outline: 3px solid #bc800d; outline-offset: 4px; }
.proof-dialog { padding: 0; border: 1px solid #7890a2; border-radius: 16px; background: #102a43; color: #fff; width: min(460px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); }
.proof-dialog::backdrop { background: rgb(5 16 29 / 85%); }
.proof-dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 1rem; }
.proof-dialog h2 { color: var(--on-dark); font: 600 1rem/1.4 Inter, sans-serif; margin: 0; }
.proof-close { border: 1px solid #7890a2; border-radius: 50%; width: 40px; height: 40px; background: transparent; color: #fff; font-size: 1.5rem; cursor: pointer; }
.proof-player { aspect-ratio: 9 / 16; max-height: calc(100dvh - 11rem); }
.proof-player iframe { width: 100%; height: 100%; border: 0; display: block; }
.proof-dialog-link { display: block; padding: 1rem; color: #fff; font-size: .875rem; text-underline-offset: .25em; }
.proof-dialog :focus-visible { outline: 3px solid #f6cf78; outline-offset: 2px; }
@media (max-width: 760px) {
  .home-social-proof { padding-block: 1.5rem 1.75rem; }
  .proof-track { gap: 1rem; margin-right: -1.25rem; padding-right: 1.25rem; }
  .proof-feature { flex-basis: calc(100% - 1rem); }
  .proof-card { height: auto; min-height: 590px; }
  .proof-photo-quote { grid-template-columns: 1fr; grid-template-rows: 310px 1fr; border-radius: 12px; }
  .proof-feature-copy { padding: 1.5rem; gap: 1.1rem; }
  .proof-feature-copy blockquote { font-size: 1.08rem; line-height: 1.5; }
  .proof-feature-copy .proof-caption { font-size: .9rem; }
  .proof-feature-copy .proof-caption span { font-size: .8rem; }
  .proof-card:not(.proof-feature) { flex-basis: min(332px, 86vw); }
  .proof-footer { gap: .5rem; }
  .proof-source-link { font-size: .8rem; }
  .proof-controls { gap: .4rem; }
  .proof-nav { width: 42px; height: 42px; }
  .proof-position { min-width: 2.8rem; }
  .home-google-reviews { padding-block: 2rem 1rem; }
  .home-lenders { padding-block: 1.5rem 2.5rem; }
  .lender-set { gap: 1.75rem; padding-right: 1.75rem; }
  .lender-set li { width: 115px; height: 45px; }
  .lender-set img { max-width: 108px; max-height: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-lenders[data-enhanced] .lender-track { animation: none; }
  .home-lenders[data-enhanced] .lender-viewport { overflow: auto; mask-image: none; }
  .lender-set[aria-hidden], .lender-toggle { display: none; }
  .proof-play-icon { transition: none; }
}
