:root {
  --fh-ink: #14213a;
  --fh-muted: #667085;
  --fh-line: #e3e8f0;
  --fh-surface: #ffffff;
  --fh-soft: #f4f7fb;
  --fh-brand: #246bfd;
  --fh-brand-dark: #164fc7;
  --fh-navy: #0d2f5f;
  --fh-accent: #18b497;
  --fh-warning: #fff4d7;
  --fh-danger: #b42318;
  --fh-radius: 22px;
  --fh-shadow: 0 18px 48px rgba(20, 33, 58, .09);
}

.financehub { color: var(--fh-ink); background: #fff; font-size: 16px; line-height: 1.55; }
.financehub *, .financehub *::before, .financehub *::after { box-sizing: border-box; }
.financehub a { color: var(--fh-brand-dark); text-decoration: none; }
.financehub a:hover { color: var(--fh-brand); }
.financehub h1, .financehub h2, .financehub h3 { margin-top: 0; color: var(--fh-ink); line-height: 1.12; letter-spacing: -.035em; }
.financehub h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); }
.financehub h2 { font-size: clamp(1.75rem, 3vw, 2.55rem); }
.financehub h3 { font-size: 1.15rem; }
.fh-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.fh-section, .fh-section-muted { padding-block: 70px; }
.fh-section-muted { border-block: 1px solid #edf0f5; background: var(--fh-soft); }
.fh-eyebrow { display: inline-block; margin-bottom: 12px; color: var(--fh-brand-dark); font-size: .72rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.fh-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 20px; border: 1px solid transparent; border-radius: 12px; font: inherit; font-weight: 800; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.fh-btn:hover { transform: translateY(-1px); }
.fh-btn-primary { color: #fff !important; background: var(--fh-brand); box-shadow: 0 9px 22px rgba(36, 107, 253, .22); }
.fh-btn-primary:hover { background: var(--fh-brand-dark); box-shadow: 0 11px 26px rgba(36, 107, 253, .27); }
.fh-btn-secondary { color: #344054 !important; border-color: #dce2eb; background: #f2f4f7; }
.fh-btn-secondary:hover { color: var(--fh-brand-dark) !important; border-color: #c7d4e8; background: #fff; }
.fh-btn-light { color: var(--fh-navy) !important; background: #fff; }
.fh-btn-ghost { color: #fff !important; border-color: rgba(255,255,255,.45); background: transparent; }

/* Главная: крупный блок подбора, как у привычных финансовых агрегаторов. */
.fh-hero { position: relative; overflow: hidden; padding: 82px 0 70px; color: #fff; background: linear-gradient(120deg, #0b2d5d 0%, #155dc6 58%, #168d9f 100%); }
.fh-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 15% 5%, rgba(255,255,255,.14), transparent 28%), radial-gradient(circle at 90% 30%, rgba(36,107,253,.35), transparent 26%); }
.fh-hero::after { content: ''; position: absolute; right: -150px; bottom: -300px; width: 620px; height: 620px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 150px rgba(255,255,255,.02); }
.fh-hero-grid { position: relative; z-index: 1; display: grid; gap: 34px; justify-items: center; }
.fh-hero-copy { max-width: 900px; text-align: center; }
.fh-hero h1 { max-width: 880px; margin: 0 auto 18px; color: #fff; font-size: clamp(2.55rem, 5.1vw, 4.6rem); }
.fh-hero p { max-width: 720px; margin: 0 auto; color: rgba(255,255,255,.84); font-size: 1.08rem; }
.fh-hero .fh-eyebrow { color: #b9ffef; }
.fh-hero-actions { display: flex; gap: 12px; justify-content: center; margin-top: 28px; flex-wrap: wrap; }
.fh-hero-trust { display: flex; gap: 12px 24px; justify-content: center; margin: 22px 0 0; padding: 0; color: rgba(255,255,255,.82); list-style: none; font-size: .84rem; font-weight: 750; }
.fh-hero-trust li { display: inline-flex; align-items: center; gap: 7px; }
.fh-hero-trust li::before { content: '\2713'; display: grid; width: 20px; height: 20px; place-items: center; color: #0a6b5d; background: #b9ffef; border-radius: 50%; font-size: .7rem; }
.fh-quick-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; width: min(100%, 860px); padding: 26px 30px; color: var(--fh-ink); background: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 24px; box-shadow: 0 28px 75px rgba(3, 19, 45, .28); }
.fh-quick-form-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--fh-line); }
.fh-quick-form-head strong { font-size: 1.1rem; }
.fh-quick-form-head span { color: var(--fh-muted); font-size: .82rem; }
.fh-quick-form label, .fh-filter label { display: grid; gap: 7px; color: #344054; font-size: .84rem; font-weight: 780; }
.fh-quick-form input:not([type="range"]), .fh-quick-form select, .fh-filter input, .fh-filter select { width: 100%; min-height: 50px; padding: 10px 13px; color: var(--fh-ink); background: #fbfcfe; border: 1px solid #d7dfe9; border-radius: 11px; font: inherit; }
.fh-quick-form input:focus, .fh-quick-form select:focus, .fh-filter input:focus, .fh-filter select:focus { outline: 3px solid rgba(36,107,253,.13); border-color: var(--fh-brand); background: #fff; }
.fh-amount-control > input[type="number"] { font-size: 1.2rem; font-weight: 850; }
.fh-amount-range { width: 100%; height: 5px; margin: 4px 0 0; padding: 0; accent-color: var(--fh-brand); cursor: pointer; }
.fh-range-labels { display: flex; justify-content: space-between; color: #98a2b3; font-size: .72rem; font-weight: 650; }
.fh-range-labels i { font-style: normal; }
.fh-quick-row { display: grid; grid-template-columns: 1fr 220px; gap: 14px; align-items: end; }
.fh-quick-row .fh-btn { width: 100%; }
.fh-route-hint { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 8px 11px; color: #175cd3; background: #f2f7ff; border: 1px solid #cfe0ff; border-radius: 10px; font-size: .8rem; font-weight: 750; }
.fh-route-hint::before { content: '→'; display: grid; width: 18px; height: 18px; place-items: center; color: #fff; background: var(--fh-brand); border-radius: 50%; font-size: .68rem; }
.fh-quick-form.is-credit-route .fh-route-hint { color: #087f6e; background: #effbf8; border-color: #bfe9df; }
.fh-quick-form.is-credit-route .fh-route-hint::before { background: var(--fh-accent); }
.fh-quick-form small { color: var(--fh-muted); text-align: center; }

.fh-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.fh-section-head h2 { margin-bottom: 0; }
.fh-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fh-category-grid > a { position: relative; min-height: 190px; padding: 25px; color: var(--fh-ink); background: #fff; border: 1px solid var(--fh-line); border-radius: 20px; box-shadow: 0 4px 16px rgba(20,33,58,.035); transition: .2s ease; }
.fh-category-grid > a::after { content: '→'; position: absolute; right: 22px; bottom: 22px; display: grid; width: 34px; height: 34px; place-items: center; color: var(--fh-brand); background: #edf3ff; border-radius: 50%; font-weight: 900; }
.fh-category-grid > a:hover { transform: translateY(-3px); border-color: #b8c9e8; box-shadow: var(--fh-shadow); }
.fh-category-grid span { display: grid; width: 48px; height: 48px; margin-bottom: 30px; place-items: center; color: var(--fh-brand-dark); background: #edf3ff; border-radius: 14px; font-size: 1.2rem; font-weight: 900; }
.fh-category-grid strong, .fh-category-grid small { display: block; }
.fh-category-grid strong { font-size: 1.22rem; }
.fh-category-grid small { max-width: 78%; margin-top: 7px; color: var(--fh-muted); }
.fh-loan-cluster { background: #fff; }
.fh-loan-link-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.fh-loan-link-grid a { position: relative; min-height: 76px; padding: 17px 42px 17px 18px; color: #344054; background: #f8fafc; border: 1px solid var(--fh-line); border-radius: 14px; font-weight: 780; }
.fh-loan-link-grid a::after { content: '→'; position: absolute; top: 50%; right: 16px; color: var(--fh-brand); transform: translateY(-50%); }
.fh-loan-link-grid a:hover { color: var(--fh-brand-dark); background: #fff; border-color: #b9cae8; box-shadow: 0 10px 26px rgba(36,107,253,.07); }

/* Каталог и фильтр. */
.fh-page-hero { padding: 68px 0 102px; background: linear-gradient(120deg, #0d2f5f 0%, #1d65c7 62%, #a87370 130%); border: 0; }
.fh-page-hero .fh-eyebrow { color: #b9ffef; }
.fh-page-hero h1 { max-width: 920px; margin-bottom: 14px; color: #fff; font-size: clamp(2.5rem, 4.5vw, 4rem); }
.fh-page-hero p { max-width: 790px; margin: 0; color: rgba(255,255,255,.82); font-size: 1.05rem; }
.fh-catalog-layout { display: block; padding-bottom: 78px; background: #f4f7fb; }
.fh-catalog-layout::before { content: ''; position: absolute; left: 0; right: 0; height: 80px; background: #f4f7fb; }
.fh-filter { position: relative; z-index: 2; display: grid; grid-template-columns: 1.15fr .82fr 1fr 1fr auto; gap: 14px; align-items: end; margin-top: -52px; padding: 22px; background: #fff; border: 1px solid rgba(222,228,238,.9); border-radius: 22px; box-shadow: 0 20px 54px rgba(20,33,58,.12); }
.fh-filter-title { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.fh-filter-title strong { font-size: 1.02rem; }
.fh-filter-title button { padding: 0; color: var(--fh-muted); background: none; border: 0; cursor: pointer; font: inherit; font-size: .8rem; }
.fh-filter > .fh-btn { min-width: 150px; }
.fh-filter-chips { grid-column: 1 / -1; display: flex; gap: 8px; overflow-x: auto; padding-top: 3px; scrollbar-width: thin; }
.fh-filter-chips a { flex: 0 0 auto; padding: 8px 12px; color: #475467; background: #f7f9fc; border: 1px solid #e5eaf1; border-radius: 999px; font-size: .78rem; font-weight: 720; }
.fh-filter-chips a:hover { color: var(--fh-brand-dark); background: #edf3ff; border-color: #bfd0ed; }
.fh-results { position: relative; z-index: 1; padding-top: 58px; }
.fh-results-heading { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.fh-results-heading h2 { margin-bottom: 0; }
.fh-results-top { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; color: var(--fh-muted); font-size: .82rem; }
.fh-results-top strong { color: var(--fh-ink); }

/* Карточка продукта: три колонки, равная высота, юридические данные внизу. */
.fh-offer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.fh-offer-card { position: relative; display: flex; min-width: 0; min-height: 590px; padding: 22px; flex-direction: column; background: #fff; border: 1px solid var(--fh-line); border-radius: 20px; box-shadow: 0 4px 18px rgba(20,33,58,.04); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.fh-offer-card:hover { transform: translateY(-2px); border-color: #c3d1e5; box-shadow: 0 17px 38px rgba(20,33,58,.09); }
.fh-offer-card.is-featured { border-color: #abc5f8; }
.fh-offer-card.is-featured::before { content: ''; position: absolute; top: 0; right: 22px; left: 22px; height: 3px; background: var(--fh-brand); border-radius: 0 0 10px 10px; }
.fh-offer-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 13px; align-items: center; min-height: 60px; }
.fh-logo-placeholder { display: grid; width: 56px; height: 56px; place-items: center; flex: 0 0 auto; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--fh-brand), var(--fh-accent)); border-radius: 15px; font-weight: 900; letter-spacing: -.04em; text-transform: uppercase; }
.fh-logo-placeholder.has-image { background: #fff; border: 1px solid var(--fh-line); }
.fh-logo-placeholder.has-image img { display: block; width: 100%; height: 100%; padding: 7px; object-fit: contain; }
.fh-logo-placeholder.is-large { width: 94px; height: 94px; border-radius: 24px; font-size: 1.6rem; }
.fh-logo-placeholder.has-image.is-large img { padding: 12px; }
.fh-offer-identity { min-width: 0; }
.fh-offer-identity h3 { margin: 0; font-size: 1.18rem; }
.fh-offer-identity span { display: block; margin-top: 3px; color: var(--fh-muted); font-size: .78rem; }
.fh-org { color: var(--fh-ink) !important; }
.fh-sponsored { align-self: start; padding: 5px 8px; color: #76530d; background: #fff9e9; border: 1px solid #f1dda9; border-radius: 999px; font-size: .63rem; font-weight: 820; white-space: nowrap; }
.fh-product-name { min-height: 40px; margin: 17px 0 0; color: #344054; font-size: .88rem; font-weight: 780; }
.fh-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 16px 0; border-block: 1px solid var(--fh-line); }
.fh-metrics > div { min-height: 76px; padding: 13px 9px; }
.fh-metrics > div:nth-child(odd) { padding-left: 0; border-right: 1px solid var(--fh-line); }
.fh-metrics > div:nth-child(even) { padding-right: 0; padding-left: 15px; }
.fh-metrics span { display: block; margin-bottom: 5px; color: var(--fh-muted); font-size: .72rem; }
.fh-metrics strong { display: block; color: var(--fh-ink); font-size: .88rem; line-height: 1.3; }
.fh-card-body { flex: 1 1 auto; }
.fh-summary { margin: 0 0 12px; color: var(--fh-muted); font-size: .84rem; }
.fh-feature-list { display: grid; gap: 6px; margin: 12px 0; padding: 0; list-style: none; }
.fh-feature-list li { position: relative; padding-left: 19px; color: #344054; font-size: .82rem; }
.fh-feature-list li::before { content: '\2713'; position: absolute; left: 0; color: var(--fh-accent); font-weight: 900; }
.fh-details { margin: 10px 0 13px; border-top: 1px solid var(--fh-line); }
.fh-details summary { padding: 11px 0; color: var(--fh-brand-dark); font-size: .8rem; font-weight: 800; cursor: pointer; }
.fh-details dl { display: grid; gap: 7px; margin: 0 0 10px; }
.fh-details dl > div { display: flex; justify-content: space-between; gap: 12px; font-size: .78rem; }
.fh-details dt { color: var(--fh-muted); }
.fh-details dd { margin: 0; font-weight: 750; text-align: right; }
.fh-offer-footer { display: grid; gap: 10px; }
.fh-card-actions { display: grid; gap: 8px; }
.fh-card-actions .fh-btn { width: 100%; }
.fh-verified, .fh-unverified { display: block; text-align: center; font-size: .7rem; }
.fh-verified { color: var(--fh-muted); }
.fh-unverified { color: #9a5b00; font-weight: 700; }
.fh-legal { margin: 12px 0 0; padding-top: 12px; color: #7b8494; border-top: 1px solid #edf0f4; font-size: .63rem; line-height: 1.4; text-align: center; }
.fh-legal strong { color: #667085; }
.fh-ad-notice { margin: 10px 0 0; padding: 9px 10px; color: #6b4b0d; background: var(--fh-warning); border-radius: 9px; font-size: .68rem; line-height: 1.4; }
.fh-empty { grid-column: 1 / -1; padding: 42px; color: var(--fh-muted); background: #fff; border: 1px dashed #b9c6d8; border-radius: 18px; text-align: center; }

.fh-article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fh-article-grid article { padding: 25px; background: #fff; border: 1px solid var(--fh-line); border-radius: 18px; }
.fh-article-grid span { color: var(--fh-muted); font-size: .76rem; }
.fh-article-grid h3, .fh-article-grid h2 { margin: 12px 0; font-size: 1.2rem; }
.fh-article-grid p { color: var(--fh-muted); }
.fh-article-grid.is-list { grid-template-columns: 1fr 1fr; }
.fh-prose { max-width: 860px; }
.fh-prose h2 { margin-top: 2.1em; font-size: 1.85rem; }
.fh-prose h3 { margin-top: 1.8em; }
.fh-prose p, .fh-prose li { color: #475467; }
.fh-prose a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.fh-prose table { width: 100%; border-collapse: collapse; }
.fh-prose th, .fh-prose td { padding: 12px; border: 1px solid var(--fh-line); text-align: left; }
.fh-faq { max-width: 860px; }
.fh-faq details { padding: 19px 0; border-bottom: 1px solid var(--fh-line); }
.fh-faq summary { font-weight: 820; cursor: pointer; }
.fh-faq p { color: var(--fh-muted); }

/* FinQadam 1.7.5: compact educational copy below loan cards. */
.financehub .fh-landing-copy {
  max-width: 980px;
  padding-top: 38px;
  padding-bottom: 42px;
}
.financehub .fh-landing-copy h2 {
  margin: 1.28em 0 .5em;
  font-size: clamp(1.32rem, 1.8vw, 1.62rem);
  font-weight: 500;
  line-height: 1.28;
}
.financehub .fh-landing-copy h2:first-child { margin-top: 0; }
.financehub .fh-landing-copy p { margin: 0 0 .9em; }
.financehub .fh-landing-copy ul,
.financehub .fh-landing-copy ol { margin: 0 0 1em; }
.financehub .fh-landing-faq { padding-top: 38px; padding-bottom: 46px; }
.financehub .fh-landing-faq .fh-faq h2 {
  margin: 0 0 16px;
  font-size: clamp(1.32rem, 1.8vw, 1.62rem);
  font-weight: 500;
  line-height: 1.28;
}
.financehub .fh-landing-faq .fh-faq details { padding: 15px 0; }
.fh-org-directory { display: grid; gap: 64px; }
.fh-org-group { min-width: 0; }
.fh-org-group-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--fh-line); }
.fh-org-group-head h2 { margin-bottom: 5px; }
.fh-org-group-head p { margin: 0; color: var(--fh-muted); }
.fh-org-group-head > span { flex: 0 0 auto; padding: 7px 11px; color: #526174; background: #fff; border: 1px solid var(--fh-line); border-radius: 999px; font-size: .76rem; font-weight: 500; }
.fh-org-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.fh-org-grid > a { display: grid; grid-template-columns: auto 1fr; gap: 3px 14px; align-items: center; padding: 18px; background: #fff; border: 1px solid var(--fh-line); border-radius: 16px; }
.fh-org-grid > a:hover { box-shadow: var(--fh-shadow); }
.fh-org-grid .fh-logo-placeholder { grid-row: 1 / 3; }
.fh-org-grid strong { color: var(--fh-ink); }
.fh-org-grid small { color: var(--fh-muted); }
.fh-org-hero { display: flex; align-items: center; gap: 26px; }
.fh-org-info { display: grid; grid-template-columns: 1fr 330px; gap: 46px; }
.fh-org-info dl > div { display: grid; grid-template-columns: 160px 1fr; padding: 11px 0; border-bottom: 1px solid var(--fh-line); }
.fh-org-info dt { color: var(--fh-muted); }
.fh-org-info dd { margin: 0; font-weight: 750; }
.fh-org-info aside { padding: 22px; background: #fff8e7; border: 1px solid #f2e2ba; border-radius: 16px; }
.fh-rate-table { overflow-x: auto; background: #fff; border: 1px solid var(--fh-line); border-radius: var(--fh-radius); }
.fh-rate-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.fh-rate-table th, .fh-rate-table td { padding: 14px 16px; border-bottom: 1px solid var(--fh-line); text-align: left; }
.fh-rate-table th { color: var(--fh-muted); background: var(--fh-soft); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.fh-rate-table tr:last-child td { border-bottom: 0; }
.fh-note { color: var(--fh-muted); font-size: .8rem; }
.fh-article { max-width: 860px; }
.fh-article h1 { margin-bottom: 24px; font-size: clamp(2.3rem, 5vw, 4.2rem); }
.fh-article .fh-lead { color: var(--fh-muted); font-size: 1.18rem; }
.fh-back { display: inline-block; margin-bottom: 24px; font-weight: 800; }
.fh-popular { padding: 48px 0; background: #fff; border-top: 1px solid var(--fh-line); }
.fh-popular h2 { font-size: 1.5rem; }
.fh-link-cloud { display: flex; flex-wrap: wrap; gap: 9px; }
.fh-link-cloud a { padding: 9px 13px; color: #344054; background: #f8fafc; border: 1px solid var(--fh-line); border-radius: 999px; font-size: .86rem; }
.fh-disclaimer { padding-block: 22px 48px; color: var(--fh-muted); font-size: .76rem; }
.fh-disclaimer strong { color: var(--fh-ink); }
.fh-disclaimer p { margin: 4px 0 0; }

@media (max-width: 1040px) {
  .fh-filter { grid-template-columns: repeat(2, 1fr); }
  .fh-filter-title, .fh-filter-chips { grid-column: 1 / -1; }
  .fh-filter > .fh-btn { width: 100%; }
  .fh-offer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fh-category-grid { grid-template-columns: repeat(2, 1fr); }
  .fh-loan-link-grid, .fh-org-grid { grid-template-columns: repeat(2, 1fr); }
  .fh-org-info { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .fh-container { width: min(100% - 26px, 1180px); }
  .fh-section, .fh-section-muted { padding-block: 48px; }
  .fh-hero { padding: 52px 0 48px; }
  .fh-hero h1 { font-size: clamp(2.2rem, 11vw, 3.1rem); }
  .fh-hero p { font-size: 1rem; }
  .fh-hero-trust { display: grid; gap: 8px; }
  .fh-quick-form { padding: 20px; border-radius: 18px; }
  .fh-quick-form-head { display: grid; gap: 3px; }
  .fh-quick-row { grid-template-columns: 1fr; }
  .fh-category-grid, .fh-loan-link-grid, .fh-offer-grid, .fh-org-grid, .fh-article-grid, .fh-article-grid.is-list { grid-template-columns: 1fr; }
  .fh-section-head, .fh-results-top { align-items: flex-start; flex-direction: column; }
  .fh-page-hero { padding: 48px 0 92px; }
  .fh-filter { grid-template-columns: 1fr; margin-top: -48px; padding: 18px; border-radius: 18px; }
  .fh-filter-title, .fh-filter-chips { grid-column: auto; }
  .fh-results { padding-top: 44px; }
  .fh-offer-card { min-height: 0; }
  .fh-sponsored { grid-column: 1 / -1; justify-self: start; }
  .fh-org-hero { align-items: flex-start; flex-direction: column; }
  .fh-org-directory { gap: 46px; }
  .fh-org-group-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .fh-org-info dl > div { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .financehub *, .financehub *::before, .financehub *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* FinQadam 1.6 visual refresh: quiet surfaces, compact hero and list offers. */
:root {
  --fh-ink: #172033;
  --fh-muted: #64748b;
  --fh-line: #e2e8f0;
  --fh-surface: #fff;
  --fh-soft: #f5f7fa;
  --fh-brand: #2563eb;
  --fh-brand-dark: #1d4ed8;
  --fh-navy: #17345b;
  --fh-accent: #0f9f8f;
  --fh-warning: #fff8e8;
  --fh-radius: 18px;
  --fh-shadow: 0 14px 34px rgba(15,23,42,.07);
}

.financehub { background: var(--fh-soft); line-height: 1.6; }
.financehub h1,
.financehub h2,
.financehub h3 { letter-spacing: -.025em; font-weight: 650; }
.financehub h1,
.financehub h2 { letter-spacing: -.02em; font-weight: 550; }
.financehub h1 { font-size: clamp(2.35rem, 4.2vw, 3.65rem); }
.financehub h2 { font-size: clamp(1.65rem, 2.5vw, 2.25rem); }
.fh-container { width: min(1320px, calc(100% - 56px)); }
.fh-section, .fh-section-muted { padding-block: 62px; }
.fh-eyebrow { margin-bottom: 10px; color: #087f72; font-size: .7rem; font-weight: 650; }
.fh-btn { min-height: 46px; border-radius: 11px; font-weight: 600; }
.fh-btn-primary { background: #2563eb; box-shadow: 0 7px 18px rgba(37,99,235,.18); }
.fh-btn-primary:hover { background: #1d4ed8; box-shadow: 0 9px 22px rgba(37,99,235,.22); }

.fh-hero {
  padding: 68px 0 62px;
  color: var(--fh-ink);
  background: linear-gradient(135deg, #edf5ff 0%, #f4faf8 58%, #f8f7f2 100%);
  border-bottom: 1px solid #dfe8ee;
}
.fh-hero::before { background: radial-gradient(circle at 10% 0%, rgba(37,99,235,.09), transparent 31%); }
.fh-hero::after { display: none; }
.fh-hero h1 { color: #172c4a; font-size: clamp(2.55rem, 4.6vw, 4rem); }
.fh-hero p { color: #526174; }
.fh-hero .fh-eyebrow { color: #087f72; }
.fh-hero-trust { color: #526174; font-weight: 550; }
.fh-hero-trust li::before { color: #087f72; background: #dff7f1; }
.fh-hero .fh-btn-light { color: #fff !important; background: #2563eb; }
.fh-hero .fh-btn-ghost { color: #334155 !important; border-color: #d8e1eb; background: rgba(255,255,255,.76); }
.fh-quick-form { border: 1px solid #dfe7ef; border-radius: 20px; box-shadow: 0 18px 46px rgba(15,23,42,.1); }
.fh-quick-form-head strong { font-weight: 600; }
.fh-quick-form label, .fh-filter label { font-weight: 550; }

.fh-page-hero {
  position: relative;
  overflow: hidden;
  padding: 58px 0 92px;
  color: var(--fh-ink);
  background: linear-gradient(135deg, #edf5ff 0%, #f4faf8 62%, #f8f7f2 100%);
  border-bottom: 1px solid #dfe8ee;
}
.fh-page-hero::after {
  content: '';
  position: absolute;
  top: -170px;
  right: max(-120px, calc((100vw - 1320px) / 2 - 170px));
  width: 460px;
  height: 460px;
  border: 70px solid rgba(37,99,235,.035);
  border-radius: 50%;
  pointer-events: none;
}
.fh-page-hero .fh-eyebrow { color: #087f72; }
.fh-page-hero h1 { position: relative; z-index: 1; max-width: 850px; margin-bottom: 12px; color: #172c4a; font-size: clamp(2.45rem, 4vw, 3.55rem); }
.fh-page-hero p { position: relative; z-index: 1; max-width: 760px; color: #526174; font-size: 1rem; }
.fh-catalog-layout { position: relative; padding-bottom: 72px; background: transparent; }
.fh-catalog-layout::before { display: none; }
.fh-filter {
  margin-top: -42px;
  padding: 20px;
  border: 1px solid #dfe6ee;
  border-radius: 18px;
  box-shadow: 0 16px 38px rgba(15,23,42,.09);
}
.fh-filter-title strong { font-weight: 600; }
.fh-filter-chips a { color: #475569; background: #f8fafc; border-color: #e2e8f0; font-weight: 550; }
.fh-results { padding-top: 46px; }
.fh-results-heading { margin-bottom: 16px; }
.fh-results-top { padding-bottom: 12px; border-bottom: 1px solid #e2e8f0; }

.fh-offer-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.fh-offer-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.05fr) minmax(360px, 1.65fr) minmax(210px, .85fr);
  grid-template-areas:
    "head metrics footer"
    "name metrics footer"
    "body metrics footer"
    "legal legal legal"
    "notice notice notice";
  gap: 8px 26px;
  min-height: 0;
  padding: 24px;
  border-color: #dfe6ee;
  border-radius: 18px;
  box-shadow: 0 3px 12px rgba(15,23,42,.035);
}
.fh-offer-card:hover { transform: none; border-color: #c7d5e5; box-shadow: 0 12px 30px rgba(15,23,42,.075); }
.fh-offer-card.is-featured::before { right: 24px; left: 24px; height: 2px; }
.fh-offer-head { grid-area: head; min-height: 56px; }
.fh-logo-placeholder { width: 54px; height: 54px; border-radius: 13px; }
.fh-offer-identity h3 { font-size: 1.08rem; }
.fh-sponsored { font-weight: 600; }
.fh-product-name { grid-area: name; min-height: 0; margin: 6px 0 0; font-weight: 550; }
.fh-metrics {
  grid-area: metrics;
  align-self: stretch;
  margin: 0;
  padding: 5px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
}
.fh-metrics > div { min-height: 72px; padding: 12px; }
.fh-metrics > div:nth-child(odd) { padding-left: 12px; }
.fh-metrics > div:nth-child(even) { padding-right: 12px; padding-left: 12px; }
.fh-metrics strong { font-size: .9rem; font-weight: 600; }
.fh-card-body { grid-area: body; }
.fh-summary { margin-top: 4px; }
.fh-details { margin-bottom: 0; }
.fh-offer-footer { grid-area: footer; align-self: center; }
.fh-card-actions { gap: 9px; }
.fh-verified, .fh-unverified { margin-top: 2px; }
.fh-legal { grid-area: legal; margin-top: 12px; text-align: left; }
.fh-ad-notice { grid-area: notice; }
.fh-empty { border-radius: 16px; }

.fh-category-grid > a,
.fh-article-grid article,
.fh-org-grid > a { border-radius: 16px; box-shadow: 0 2px 10px rgba(15,23,42,.025); }
.fh-category-grid > a:hover,
.fh-org-grid > a:hover { transform: none; box-shadow: 0 10px 26px rgba(15,23,42,.065); }
.fh-popular { background: #fff; }
.financehub strong { font-weight: 600; }
.fh-amount-control > input[type="number"] { font-weight: 600; }
.fh-route-hint,
.fh-loan-link-grid a { font-weight: 550; }
.fh-category-grid strong,
.fh-article-grid h2,
.fh-article-grid h3,
.fh-details summary,
.fh-faq summary,
.fh-back { font-weight: 600; }
.fh-details dd,
.fh-org-info dd { font-weight: 550; }
.fh-logo-placeholder { font-weight: 650; }

@media (max-width: 1120px) {
  .fh-offer-card {
    grid-template-columns: minmax(220px, .9fr) minmax(360px, 1.3fr);
    grid-template-areas:
      "head metrics"
      "name metrics"
      "body metrics"
      "footer footer"
      "legal legal"
      "notice notice";
  }
  .fh-offer-footer { margin-top: 10px; }
  .fh-card-actions { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .fh-container { width: min(100% - 28px, 1320px); }
  .fh-hero { padding: 48px 0 46px; }
  .fh-page-hero { padding: 46px 0 82px; }
  .fh-filter { margin-top: -38px; }
  .fh-offer-card {
    grid-template-columns: 1fr;
    grid-template-areas: "head" "name" "metrics" "body" "footer" "legal" "notice";
    gap: 10px;
    padding: 19px;
  }
  .fh-card-actions { grid-template-columns: 1fr; }
  .fh-legal { text-align: left; }
}

/* Loan catalog intentionally follows the familiar three-card MFO layout. */
.financehub[data-fh-product-type="loans"] .fh-offer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.financehub[data-fh-product-type="loans"] .fh-offer-card {
  display: flex;
  min-height: 540px;
  padding: 26px;
  flex-direction: column;
  gap: 0;
  background: #fff;
  border: 0;
  border-radius: 20px;
  box-shadow: 0 5px 18px rgba(15,23,42,.045);
}
.financehub[data-fh-product-type="loans"] .fh-offer-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(15,23,42,.075);
}
.financehub[data-fh-product-type="loans"] .fh-offer-card.is-featured::before { display: none; }
.financehub[data-fh-product-type="loans"] .fh-offer-head {
  width: 100%;
  min-height: 64px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e2e8f0;
}
.financehub[data-fh-product-type="loans"] .fh-offer-identity h3 { font-size: 1.08rem; font-weight: 650; }
.financehub[data-fh-product-type="loans"] .fh-offer-identity span { font-size: .82rem; }
.financehub[data-fh-product-type="loans"] .fh-product-name { display: none; }
.financehub[data-fh-product-type="loans"] .fh-metrics {
  width: 100%;
  margin: 18px 0 22px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.financehub[data-fh-product-type="loans"] .fh-metrics > div {
  min-height: 72px;
  padding: 12px 8px 10px 2px;
  border: 0;
}
.financehub[data-fh-product-type="loans"] .fh-metrics > div:nth-child(even) { padding-left: 12px; }
.financehub[data-fh-product-type="loans"] .fh-metrics span {
  color: #64748b;
  font-size: .72rem;
  font-weight: 500;
  text-transform: uppercase;
}
.financehub[data-fh-product-type="loans"] .fh-metrics span::before { content: '•'; margin-right: 5px; color: #7b8ba1; }
.financehub[data-fh-product-type="loans"] .fh-metrics strong { padding-left: 10px; color: #111827; font-size: .84rem; font-weight: 500; }
.financehub[data-fh-product-type="loans"] .fh-card-body { display: none; }
.financehub[data-fh-product-type="loans"] .fh-offer-footer { width: 100%; margin-top: auto; }
.financehub[data-fh-product-type="loans"] .fh-card-actions { grid-template-columns: 1fr; gap: 10px; }
.financehub[data-fh-product-type="loans"] .fh-card-actions .fh-btn-primary {
  color: #0757ba !important;
  background: #dbeafe;
  box-shadow: none;
}
.financehub[data-fh-product-type="loans"] .fh-card-actions .fh-btn-primary:hover { background: #c7ddfb; }
.financehub[data-fh-product-type="loans"] .fh-card-actions .fh-btn-secondary {
  color: #334155 !important;
  background: #f1f5f9;
  border-color: transparent;
}
.financehub[data-fh-product-type="loans"] .fh-verified,
.financehub[data-fh-product-type="loans"] .fh-unverified { margin-top: 6px; font-weight: 500; }
.financehub[data-fh-product-type="loans"] .fh-legal {
  width: 100%;
  margin-top: 12px;
  color: #667085;
  border-top: 0;
  font-size: .66rem;
  line-height: 1.5;
  text-align: center;
}
.financehub[data-fh-product-type="loans"] .fh-legal strong { font-weight: 600; }
.financehub[data-fh-product-type="loans"] .fh-ad-notice { width: 100%; margin-top: 10px; font-size: .65rem; }

@media (max-width: 1080px) {
  .financehub[data-fh-product-type="loans"] .fh-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .financehub[data-fh-product-type="loans"] .fh-offer-grid { grid-template-columns: 1fr; }
  .financehub[data-fh-product-type="loans"] .fh-offer-card { min-height: 0; padding: 21px; }
}

/* FinQadam 1.6.4: wider, calmer editorial and content pages. */
.financehub h1,
.financehub h2 {
  font-family: "Segoe UI Variable Display", "Segoe UI Variable Text", "Segoe UI", "Noto Sans", Arial, sans-serif;
  font-weight: 500;
  letter-spacing: -.018em;
}
.financehub h3 { font-weight: 550; }
.financehub strong { font-weight: 550; }
.fh-article {
  width: min(1080px, calc(100% - 40px));
  max-width: 1080px;
  padding-top: 58px;
  padding-bottom: 84px;
}
.fh-article-header {
  max-width: 980px;
  margin-bottom: 40px;
  padding-bottom: 36px;
  border-bottom: 1px solid #e4eaf1;
}
.fh-article-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 22px;
  margin-bottom: 24px;
  color: #6b788a;
  font-size: .82rem;
}
.fh-article-meta .fh-back {
  margin: 0;
  font-weight: 500;
}
.fh-article-meta span { color: #6b788a; }
.fh-article h1 {
  max-width: 960px;
  margin-bottom: 20px;
  font-size: clamp(2.35rem, 4vw, 3.45rem);
  font-weight: 500;
  line-height: 1.08;
}
.fh-article .fh-lead {
  max-width: 920px;
  margin: 0;
  color: #536174;
  font-size: clamp(1.08rem, 1.6vw, 1.24rem);
  font-weight: 400;
  line-height: 1.65;
}
.fh-article .fh-prose,
.fh-content-page {
  width: 100%;
  max-width: 980px;
  color: #334155;
  font-size: 1.06rem;
  font-weight: 400;
  line-height: 1.78;
}
.fh-content-page { width: min(1040px, calc(100% - 40px)); max-width: 1040px; }
.fh-article .fh-prose p,
.fh-article .fh-prose li,
.fh-content-page p,
.fh-content-page li {
  color: #3f4d60;
  font-weight: 400;
}
.fh-article .fh-prose p,
.fh-content-page p { margin: 0 0 1.25em; }
.fh-article .fh-prose h2,
.fh-content-page h2 {
  max-width: 920px;
  margin: 2.15em 0 .72em;
  font-size: clamp(1.65rem, 2.4vw, 2rem);
  font-weight: 500;
  line-height: 1.24;
}
.fh-article .fh-prose h3,
.fh-content-page h3 {
  margin: 1.9em 0 .65em;
  font-size: 1.3rem;
  font-weight: 550;
  line-height: 1.3;
}
.fh-article .fh-prose ol,
.fh-article .fh-prose ul,
.fh-content-page ol,
.fh-content-page ul { margin: 0 0 1.5em; padding-left: 1.35em; }
.fh-article .fh-prose li + li,
.fh-content-page li + li { margin-top: .38em; }
.fh-article .fh-prose small,
.fh-content-page small { color: #718096; font-size: .82rem; line-height: 1.6; }

@media (max-width: 680px) {
  .fh-article { width: min(100% - 28px, 1080px); padding-top: 38px; padding-bottom: 60px; }
  .fh-article-header { margin-bottom: 30px; padding-bottom: 28px; }
  .fh-article h1 { font-size: clamp(2rem, 10vw, 2.65rem); }
  .fh-article .fh-prose,
  .fh-content-page { font-size: 1rem; line-height: 1.72; }
  .fh-content-page { width: min(100% - 28px, 1040px); }
  .fh-article .fh-prose table,
  .fh-content-page table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* FinQadam 1.6.6: card and business catalog hubs. */
.fh-category-grid.is-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fh-hub-section { padding-top: 54px; }
.fh-catalog-tabs {
  position: relative; z-index: 4; display: flex; gap: 8px; overflow-x: auto;
  margin-top: -25px; padding: 9px; background: #fff;
  border: 1px solid #dce4ee; border-radius: 16px;
  box-shadow: 0 14px 38px rgba(15,23,42,.09);
  scrollbar-width: thin;
}
.fh-catalog-tabs a {
  flex: 0 0 auto; padding: 10px 16px; color: #475569; border-radius: 10px;
  font-size: .88rem; font-weight: 500; text-decoration: none;
}
.fh-catalog-tabs a:hover { color: #1d4ed8; background: #f1f5f9; }
.fh-catalog-tabs a.is-active { color: #fff; background: #2563eb; }
.fh-catalog-tabs + .fh-catalog-layout { padding-top: 0; }
.fh-catalog-tabs + .fh-catalog-layout .fh-filter { margin-top: 16px; }

/* Loan discovery: verified filters plus crawlable, grouped landing pages. */
.fh-filter.is-loans { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fh-filter.is-loans > .fh-btn { min-height: 50px; }
.fh-loan-more { margin-top: 42px; padding: 22px 24px; background: #fff; border: 1px solid #e2e8f0; border-radius: 18px; box-shadow: 0 12px 32px rgba(15, 35, 65, .06); }
.fh-loan-more > summary { display: flex; width: fit-content; align-items: center; gap: 8px; padding: 0; color: #1d4ed8; cursor: pointer; font-size: .9rem; font-weight: 600; list-style: none; }
.fh-loan-more > summary::-webkit-details-marker { display: none; }
.fh-loan-more > summary::after { content: '+'; display: grid; width: 20px; height: 20px; place-items: center; color: #1d4ed8; background: #eff6ff; border-radius: 50%; }
.fh-loan-more[open] > summary::after { content: '−'; }
.fh-loan-taxonomy { display: flex; flex-direction: column; gap: 0; padding: 12px 0 2px; }
.fh-loan-taxonomy section { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 18px; align-items: start; min-width: 0; padding: 12px 0; border-top: 1px solid #eef2f6; }
.fh-loan-taxonomy section:first-child { border-top: 0; }
.fh-loan-taxonomy h3 { margin: 7px 0 0; color: #64748b; font-size: .73rem; font-weight: 650; letter-spacing: .045em; text-transform: uppercase; }
.fh-loan-taxonomy section > div { display: flex; flex-wrap: wrap; gap: 7px; }
.fh-loan-taxonomy a { padding: 7px 10px; color: #334155; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 999px; font-size: .76rem; font-weight: 520; line-height: 1.2; }
.fh-loan-taxonomy a:hover { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }

@media (max-width: 980px) {
  .fh-filter.is-loans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fh-loan-taxonomy section { grid-template-columns: 170px minmax(0, 1fr); }
}

@media (max-width: 640px) {
  .fh-filter.is-loans { grid-template-columns: 1fr; }
  .fh-loan-more { margin-top: 30px; padding: 18px; }
  .fh-loan-taxonomy section { grid-template-columns: 1fr; gap: 7px; padding: 13px 0; }
  .fh-loan-taxonomy h3 { margin-top: 0; }
}

@media (max-width: 1020px) {
  .fh-category-grid.is-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .fh-category-grid.is-four { grid-template-columns: 1fr; }
  .fh-catalog-tabs { width: min(100% - 28px, 1320px); margin-top: -19px; }
  .fh-catalog-tabs a { padding: 9px 13px; }
}

/* FinQadam 1.8.0: verified lenders and non-lender credit services. */
.financehub .fh-broker-results { margin-top: 46px; padding-top: 34px; border-top: 1px solid var(--fh-border); }
.financehub .fh-broker-results-head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: 32px; align-items: end; margin-bottom: 20px; }
.financehub .fh-broker-results-head h2 { margin: 4px 0 0; }
.financehub .fh-broker-results-head p { margin: 0; color: var(--fh-muted); line-height: 1.65; }
.financehub .fh-offer-card.is-broker { border-color: #b9d8cf; background: linear-gradient(180deg, #fbfffd 0%, #fff 35%); }
.financehub .fh-offer-card.is-broker::before { background: #16856f; }
.financehub .fh-requirements,
.financehub .fh-fee-note { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; color: var(--fh-text); font-size: .88rem; line-height: 1.55; }
.financehub .fh-requirements { background: #f4f7fb; }
.financehub .fh-fee-note { background: #fff7e6; border: 1px solid #f1ddb1; }
.financehub .fh-source { margin: 12px 0 0; font-size: .82rem; }
.financehub .fh-source a { color: #315f91; text-decoration: underline; text-underline-offset: 3px; }
.financehub .fh-org-sources { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 20px 0 0; }
.financehub .fh-org-sources a { color: var(--fh-primary); font-weight: 600; text-decoration: none; }
.financehub .fh-org-sources a:hover { text-decoration: underline; }
@media (max-width: 760px) {
  .financehub .fh-broker-results-head { grid-template-columns: 1fr; gap: 10px; }
}
