:root { --navy:#071b45; --text:#10264e; --muted:#6e819e; --turquoise:#00beb7; --green:#119c67; --pale:#effcf8; --line:#d9eee8; --white:#fff; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--text); background:#fbfefd; font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; overflow-x:hidden; } a { color:inherit; text-decoration:none; } .section-shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; } .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .mobile-line-break { display:none; }
.site-header { width:min(1180px, calc(100% - 48px)); height:92px; display:flex; align-items:center; justify-content:space-between; margin:auto; } .brand { display:flex; gap:10px; align-items:center; color:var(--navy); } .brand strong { display:block; font-size:30px; line-height:.85; letter-spacing:-1.5px; } .brand small { display:block; margin-top:8px; color:#6c7e99; font-size:8px; text-transform:uppercase; font-weight:700; letter-spacing:.8px; } .brand-mark { position:relative; display:block; width:43px; height:40px; overflow:hidden; transform:skewY(-7deg); } .brand-mark i,.brand-mark b { position:absolute; display:block; border-radius:4px; transform:skewY(7deg); } .brand-mark i { width:42px; height:16px; top:1px; left:0; background:linear-gradient(90deg,#02bcaf,#197aca); clip-path:polygon(0 0,100% 0,62% 100%,0 100%); } .brand-mark b { width:27px; height:26px; left:0; bottom:0; background:linear-gradient(145deg,#00beae,#1678c9); clip-path:polygon(0 0,100% 0,0 100%); } nav { display:flex; gap:30px; font-weight:700; font-size:14px; } nav a:hover { color:var(--green); } .header-cta,.primary-link { background:linear-gradient(100deg,var(--turquoise),var(--green)); color:#fff; border-radius:999px; padding:13px 20px; font-weight:800; font-size:14px; box-shadow:0 7px 16px #00a78b25; }
.hero { position:relative; display:grid; grid-template-columns:1fr .85fr; padding:48px 6px 34px; min-height:438px; } .eyebrow { color:var(--green); text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:1.15px; margin:0 0 12px; } h1,h2,h3,p { margin-top:0; } h1 { max-width:570px; margin-bottom:20px; color:var(--navy); font-size:clamp(38px,5vw,62px); line-height:1.05; letter-spacing:-2.8px; } h1 span,h2 span { color:var(--green); } .hero-text { max-width:470px; color:#40577d; line-height:1.65; font-size:18px; margin-bottom:30px; } .primary-link { display:inline-flex; align-items:center; gap:12px; padding:15px 24px; } .primary-link span { font-size:21px; }
.hero-art { position:relative; min-height:310px; } .orbit { position:absolute; border-radius:50%; filter:blur(.2px); } .orbit-one { width:315px; height:205px; right:25px; top:62px; background:linear-gradient(135deg,#e7f5ff,#b2d8ff); transform:rotate(-20deg); } .orbit-two { width:260px; height:170px; right:0; top:105px; background:#e3fff5; transform:rotate(25deg); } .shield { position:absolute; right:105px; top:36px; z-index:1; width:205px; height:205px; display:grid; place-items:center; background:#fff; border-radius:30px; box-shadow:0 22px 45px #1d54822b; } .shield::before { content:""; width:96px; height:110px; background:linear-gradient(145deg,#00c5bb,#0788b9); clip-path:polygon(50% 0,96% 18%,87% 76%,50% 100%,13% 76%,4% 18%); } .shield span { position:absolute; color:#fff; font-size:52px; font-weight:900; margin-top:-2px; } .leaf { position:absolute; z-index:1; background:linear-gradient(150deg,#0aab9b,#0c6fbd); border-radius:100% 0 100% 0; transform:rotate(38deg); } .leaf-one { height:62px; width:35px; right:37px; top:38px; } .leaf-two { height:67px; width:34px; right:5px; top:78px; transform:rotate(70deg); } .leaf-three { height:48px; width:24px; right:31px; top:116px; transform:rotate(92deg); }
.trust-list { grid-column:1/-1; display:flex; gap:52px; list-style:none; padding:0; margin:0; } .trust-list li { display:flex; align-items:center; gap:12px; font-size:14px; line-height:1.35; } .trust-icon,.benefit-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:16px; color:#008f82; font-size:25px; font-weight:800; background:#e5f9f5; } .trust-icon svg { width:25px; height:25px; fill:none; stroke:#008f82; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.offers-section { padding:62px 0 38px; background:linear-gradient(180deg,#f2fffb,#fcfffe); border-top:1px solid #ebf6f3; } .section-heading { display:block; margin-bottom:32px; } .section-heading h2,.benefits h2 { margin:0; font-size:clamp(29px,3.5vw,43px); color:var(--navy); letter-spacing:-1.6px; } .section-heading > p { color:var(--muted); margin:12px 0 0; font-size:16px; } .offers-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.offer-card { min-width:0; height:310px; display:flex; flex-direction:column; padding:16px 16px 14px; background:#fff; border:1px solid #e8f2f0; border-radius:19px; box-shadow:0 12px 26px #20557110; transition:transform .2s, box-shadow .2s; } .offer-card:hover { transform:translateY(-4px); box-shadow:0 17px 35px #20557122; } .offer-brand { display:flex; height:61px; align-items:center; margin-bottom:8px; overflow:hidden; } .offer-brand img { display:block; width:100%; max-width:250px; height:61px; object-fit:contain; object-position:left center; mix-blend-mode:multiply; }
.amount { display:flex; align-items:center; min-height:48px; gap:8px; padding:9px 12px; background:linear-gradient(100deg,#effcf8,#eaf9f6); border-radius:999px; font-size:14px; white-space:nowrap; } .amount span { color:#078d64; font-size:25px; line-height:1; } .amount strong { font-size:17px; letter-spacing:-.5px; } .rates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:15px 0; } .rate { position:relative; min-width:0; padding:0 4px 0 39px; } .rate + .rate { border-left:1px solid #dcedea; } .percent { position:absolute; display:grid; place-items:center; left:0; top:5px; width:32px; height:32px; color:#098f62; background:#e0f8ef; border-radius:50%; font-size:19px; font-weight:900; } .rate p { min-height:23px; margin:0; color:#536883; font-size:8px; line-height:1.14; } .rate strong { display:block; color:#087145; font-size:18px; line-height:1.05; white-space:nowrap; letter-spacing:-.7px; } .rate small { color:#38526f; font-size:10px; } .single-rate { display:flex; justify-content:center; } .single-rate .rate { padding-left:42px; } .offer-button { display:flex; justify-content:center; align-items:center; gap:9px; min-height:46px; margin-top:auto; color:#fff; font-weight:800; font-size:14px; border-radius:999px; background:linear-gradient(100deg,#01bdb6,#159b69); box-shadow:0 8px 16px #009e7233; transition:filter .2s,transform .2s; } .offer-button:hover { filter:brightness(.94); transform:scale(1.015); } .offer-button span { font-size:21px; line-height:0; }
.benefits { padding:40px 0 78px; } .benefits-heading { text-align:center; margin-bottom:37px; } .benefits-heading .eyebrow { margin-bottom:8px; } .benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; } .benefits article { text-align:center; padding:12px; } .benefit-icon { display:grid; place-items:center; width:65px; height:65px; margin:0 auto 14px; border-radius:23px; background:#e5f9f5; } .benefit-icon svg { width:31px; height:31px; fill:none; stroke:#008f82; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; } .benefits article h3 { margin-bottom:6px; color:var(--navy); font-size:17px; } .benefits article p { color:var(--muted); margin:0; line-height:1.35; font-size:14px; }
.site-footer { background:#061b42; color:#eaf3ff; padding:37px 0 18px; } .footer-inner { display:grid; grid-template-columns:1fr 1.4fr 1fr; align-items:center; gap:35px; } .brand-footer { color:#fff; } .brand-footer small { color:#b9c9dc; } .footer-inner p { margin:0; max-width:360px; color:#c0cee0; font-size:14px; line-height:1.5; } .email { justify-self:end; border:1px solid #b5cae3; padding:13px 17px; border-radius:10px; font-weight:700; white-space:nowrap; } .footer-bottom { margin-top:26px; padding-top:17px; border-top:1px solid #244269; color:#a9bad1; font-size:12px; }
.footer-legal { display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:13px; color:#b9c9dc; font-size:12px; } .footer-legal a:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.legal-page { min-height:100vh; background:linear-gradient(180deg,#f5fffc 0,#fff 42%); } .legal-header { height:92px; display:flex; align-items:center; } .legal-main { padding:42px 0 76px; } .legal-back { display:inline-flex; margin-bottom:22px; color:#087f6e; font-weight:800; font-size:14px; } .legal-back:hover { color:var(--navy); } .legal-content { max-width:820px; padding:42px 48px; background:#fff; border:1px solid #e5f0ed; border-radius:22px; box-shadow:0 12px 30px rgba(19,73,96,.08); } .legal-content .eyebrow { margin-bottom:10px; } .legal-content h1 { max-width:none; margin-bottom:28px; font-size:clamp(32px,4vw,48px); letter-spacing:-2px; } .legal-content p:not(.eyebrow) { margin:0 0 18px; color:#40577d; font-size:16px; line-height:1.7; }
@media (max-width:760px) { .section-shell,.site-header { width:min(100% - 28px, 600px); } .site-header { height:72px; } .brand strong { font-size:25px; } .brand-mark { transform:scale(.85) skewY(-7deg); transform-origin:left center; width:36px; } nav,.header-cta { display:none; } .hero { display:block; padding:48px 0 38px; min-height:0; } h1 { font-size:40px; letter-spacing:-2px; } .hero-text { font-size:16px; } .hero-art { min-height:210px; margin-top:25px; } .shield { width:145px; height:145px; right:23%; top:20px; border-radius:24px; } .shield::before { transform:scale(.72); } .shield span { transform:scale(.72); } .orbit-one { width:260px; height:150px; top:58px; right:7%; } .orbit-two { width:180px; height:130px; top:76px; right:1%; } .leaf-one { right:6%; top:25px; transform:scale(.7) rotate(38deg); } .leaf-two { right:0; top:58px; transform:scale(.7) rotate(70deg); } .leaf-three { right:5%; top:88px; transform:scale(.7) rotate(92deg); } .trust-list { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; } .trust-list li { gap:7px; font-size:10px; } .trust-icon { flex:0 0 auto; width:36px; height:36px; border-radius:12px; font-size:18px; } .offers-section { padding:45px 0; } .section-heading { display:block; margin-bottom:24px; } .section-heading h2 { font-size:31px; } .section-heading > p { margin-top:11px; font-size:14px; } .offers-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .offer-card { height:278px; padding:12px 9px 10px; border-radius:14px; } .offer-brand { height:49px; margin-bottom:6px; } .offer-brand img { height:49px; } .amount { min-height:39px; padding:6px 7px; gap:4px; font-size:10px; white-space:normal; } .amount span { font-size:19px; } .amount strong { font-size:12px; letter-spacing:-.5px; line-height:1.15; } .rates { margin:9px 0; } .rate { padding-left:29px; padding-right:1px; } .percent { width:25px; height:25px; top:4px; font-size:15px; } .rate p { min-height:20px; font-size:6.5px; } .rate strong { font-size:13px; letter-spacing:-.7px; } .rate small { font-size:8px; } .single-rate .rate { padding-left:31px; } .offer-button { min-height:38px; gap:5px; font-size:11px; } .offer-button span { font-size:17px; } .benefits { padding:48px 0; } .benefits-grid { grid-template-columns:repeat(2,1fr); gap:14px 4px; } .benefit-icon { width:55px; height:55px; margin-bottom:10px; } .benefits article h3 { font-size:15px; } .benefits article p { font-size:12px; } .footer-inner { grid-template-columns:1fr; gap:19px; } .email { justify-self:start; } }
@media (max-width:350px) { .offers-grid { gap:6px; } .offer-card { padding-inline:7px; } .offer-brand h3 { font-size:13px; } .amount strong { font-size:11px; } .offer-button { font-size:10px; } }
@media (max-width:760px) { .offer-card { height:286px; } .amount strong { font-size:11px; line-height:1.2; } .rates { min-height:45px; align-items:start; } .rate { min-width:0; padding-left:27px; } .percent { width:23px; height:23px; font-size:14px; } .rate p { min-height:27px; overflow-wrap:anywhere; font-size:6px; line-height:1.14; } .rate strong { font-size:12px; letter-spacing:-.8px; } .rate small { font-size:7px; } }

/* Refined MFO offer card: a consistent Finova component around clean logo assets. */
.offer-card { height:324px; padding:18px 18px 16px; border-color:#e5f0ed; border-radius:20px; box-shadow:0 8px 22px rgba(19,73,96,.08); }
.offer-card:hover { transform:translateY(-3px); box-shadow:0 15px 30px rgba(19,73,96,.12); }
.offer-brand { height:70px; margin:0 0 13px; display:grid; place-items:center; overflow:hidden; }
.offer-brand img { width:88%; max-width:225px; height:58px; max-height:58px; object-fit:contain; object-position:center; mix-blend-mode:normal; }
.amount { min-height:54px; justify-content:center; gap:8px; padding:8px 12px; border-radius:14px; background:linear-gradient(100deg,#f0fbf8,#e8f8f5); text-align:center; white-space:normal; }
.amount span { flex:0 0 auto; font-size:23px; }
.amount strong { font-size:18px; line-height:1.15; letter-spacing:-.55px; }
.rates { min-height:62px; margin:15px 0 14px; align-items:center; }
.rate { min-height:60px; padding:0 5px 0 42px; }
.percent { top:8px; width:34px; height:34px; font-size:19px; }
.rate p { min-height:27px; margin-bottom:1px; overflow-wrap:anywhere; font-size:8px; line-height:1.2; }
.rate strong { font-size:18px; line-height:1.05; }
.rate small { font-size:10px; }
.single-rate .rate { padding-left:44px; }
.offer-button { min-height:48px; font-size:14px; border-radius:13px; }

/* Compact loan duration and APR rows within the existing offer-card component. */
.loan-details { display:grid; gap:4px; margin:0 0 10px; color:var(--text); }
.loan-detail { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:baseline; gap:8px; min-width:0; font-size:11px; line-height:1.2; }
.loan-detail > span { color:#536883; font-weight:700; }
.loan-detail > strong { min-width:0; color:var(--navy); font-size:11px; font-weight:800; line-height:1.2; text-align:right; overflow-wrap:anywhere; }
.offer-card { height:382px; }

@media (max-width:760px) {
  .offer-card { height:298px; padding:14px 10px 11px; border-radius:16px; }
  .offer-brand { height:57px; margin-bottom:8px; }
  .offer-brand img { width:92%; height:49px; max-height:49px; }
  .amount { min-height:48px; gap:5px; padding:6px 7px; border-radius:12px; }
  .amount span { font-size:18px; }
  .amount strong { font-size:clamp(11px, 3.15vw, 13px); line-height:1.15; }
  .rates { min-height:60px; margin:10px 0 9px; }
  .rate { min-height:59px; padding:0 2px 0 28px; }
  .percent { top:6px; width:23px; height:23px; font-size:14px; }
  .rate p { min-height:27px; font-size:6.5px; line-height:1.13; }
  .rate strong { font-size:12px; letter-spacing:-.6px; }
  .rate small { font-size:8px; }
  .single-rate .rate { padding-left:30px; }
  .offer-button { min-height:40px; border-radius:11px; font-size:11px; }
  .loan-details { gap:3px; margin:0 0 7px; }
  .loan-detail { grid-template-columns:34px minmax(0,1fr); gap:5px; font-size:8.5px; line-height:1.15; }
  .loan-detail > strong { font-size:8.5px; line-height:1.15; }
  .offer-card { height:294px; }
}

/* Logo box intentionally never clips: every partner mark retains its own aspect ratio. */
.offer-card { height:382px; }
.offer-brand { height:82px; min-height:82px; margin:0 0 12px; display:grid; place-items:center; overflow:visible; }
.offer-brand img { display:block; width:100%; height:100%; min-width:0; min-height:0; max-width:none; max-height:none; object-fit:contain; object-position:center; }

@media (max-width:760px) {
  .offer-card { height:312px; }
  .offer-brand { height:70px; min-height:70px; margin-bottom:8px; overflow:visible; }
  .offer-brand img { width:100%; height:100%; min-width:0; min-height:0; max-width:none; max-height:none; object-fit:contain; object-position:center; }
  .offer-button { display:flex; align-items:center; justify-content:center; gap:6px; padding:0 6px; white-space:nowrap; font-size:10px; line-height:1; }
  .offer-button span { flex:0 0 auto; font-size:15px; }
}

/* Compact mobile-only card rhythm. Desktop dimensions remain unchanged. */
@media (max-width:760px) {
  .offer-card { height:294px; padding:10px 10px 9px; }
  .offer-brand { height:54px; min-height:54px; margin-bottom:5px; }
  .amount { min-height:41px; padding:5px 7px; }
  .rates { min-height:52px; margin:7px 0 6px; }
  .rate { min-height:52px; }
  .offer-button { min-height:38px; margin-top:0; }
}

/* Mobile page polish: surrounding sections only; offer-card and grid rules stay intact. */
@media (max-width:760px) {
  .site-header { height:64px; }
  .brand { gap:7px; }
  .brand strong { font-size:24px; }
  .brand small { margin-top:5px; font-size:7px; letter-spacing:.55px; }
  .brand-mark { transform:scale(.73) skewY(-7deg); width:32px; }

  .hero { padding:29px 0 24px; }
  .hero .eyebrow { margin-bottom:8px; font-size:10px; }
  h1 { max-width:340px; margin-bottom:14px; font-size:36px; line-height:1.08; letter-spacing:-1.8px; }
  .hero-text { margin-bottom:20px; font-size:15px; line-height:1.5; }
  .primary-link { padding:13px 19px; font-size:13px; }
  .hero-art { min-height:157px; margin:15px 0 52px; }
  .shield { width:124px; height:124px; top:8px; right:24%; border-radius:22px; }
  .shield::before { transform:scale(.63); }
  .shield span { transform:scale(.63); }
  .orbit-one { width:220px; height:128px; top:42px; right:6%; }
  .orbit-two { width:156px; height:110px; top:57px; right:0; }
  .leaf-one { right:6%; top:12px; transform:scale(.58) rotate(38deg); }
  .leaf-two { right:0; top:43px; transform:scale(.58) rotate(70deg); }
  .leaf-three { right:5%; top:70px; transform:scale(.58) rotate(92deg); }
  .trust-list { display:flex; flex-direction:column; width:100%; min-width:0; gap:8px; }
  .trust-list li { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; width:100%; min-width:0; gap:8px; font-size:12px; line-height:1.2; }
  .trust-list li b { display:block; width:100%; min-width:0; max-width:none; overflow:visible; white-space:nowrap; }
  .trust-icon { width:32px; height:32px; border-radius:10px; font-size:16px; }
  .trust-icon svg { width:17px; height:17px; }

  .offers-section { padding:34px 0 21px; }
  .section-heading { margin-bottom:18px; }
  .section-heading .eyebrow { margin-bottom:8px; font-size:10px; }
  .section-heading h2 { max-width:310px; font-size:29px; line-height:1.1; }
  .section-heading > p { max-width:230px; margin-top:9px; font-size:13px; line-height:1.45; }
  .mobile-line-break { display:block; }

  .benefits { padding:27px 0 40px; }
  .benefits-heading { margin-bottom:21px; }
  .benefits-heading .eyebrow { margin-bottom:7px; font-size:10px; }
  .benefits h2 { font-size:28px; line-height:1.1; }
  .benefits-grid { gap:16px 6px; }
  .benefits article { padding:4px 2px; }
  .benefit-icon { width:50px; height:50px; margin-bottom:8px; border-radius:17px; }
  .benefit-icon svg { width:25px; height:25px; }
  .benefits article h3 { margin-bottom:4px; font-size:14px; }
  .benefits article p { max-width:135px; margin-inline:auto; font-size:11.5px; line-height:1.3; }

  .site-footer { padding:29px 0 14px; }
  .footer-inner { gap:16px; }
  .footer-inner p { font-size:13px; line-height:1.45; }
  .email { padding:11px 14px; font-size:13px; }
  .footer-bottom { margin-top:20px; padding-top:14px; font-size:11px; }
}

@media (max-width:760px) {
  .footer-legal { flex-direction:column; align-items:flex-start; gap:9px; margin-top:15px; font-size:12px; }
  .legal-header { height:64px; }
  .legal-main { padding:28px 0 48px; }
  .legal-back { margin-bottom:17px; font-size:13px; }
  .legal-content { padding:28px 20px; border-radius:18px; }
  .legal-content h1 { margin-bottom:22px; font-size:33px; line-height:1.1; letter-spacing:-1.5px; overflow-wrap:anywhere; }
  .legal-content p:not(.eyebrow) { margin-bottom:16px; font-size:15px; line-height:1.6; }
}

/* Mobile offer-card content: preserve two rate columns without character-by-character wrapping. */
@media (max-width:760px) {
  .offer-card { height:316px; }
  .rates { min-height:64px; margin:7px 0; align-items:start; }
  .rate { min-height:64px; min-width:0; padding-left:27px; padding-right:1px; }
  .rate p { min-height:30px; overflow-wrap:normal; word-break:normal; hyphens:none; white-space:normal; font-size:6.5px; line-height:1.2; }
  .rate strong, .rate small { overflow-wrap:normal; word-break:normal; white-space:nowrap; }
  .loan-details { display:grid; gap:4px; min-width:0; margin:0 0 8px; }
  .loan-detail { display:flex; justify-content:space-between; align-items:flex-start; gap:6px; min-width:0; font-size:9px; line-height:1.2; }
  .loan-detail > span { flex:0 0 auto; }
  .loan-detail > strong { flex:1 1 auto; min-width:0; font-size:9px; line-height:1.2; text-align:right; white-space:nowrap; overflow-wrap:normal; word-break:normal; }
  .offer-button { margin-top:auto; }
}
