/* H2R1: shared composition for the five flagship introductions only.
   Page styles retain display roles, copy variants, tone and financial states.
   The ordinary HTML reading order is copy, scene, evidence, service facts. */
.fff-hero { --hero-paper:#f4f9f8; --hero-line:rgba(18,73,84,.16); position:relative; padding:48px 0 0; background:var(--hero-paper); }
.homes-hero { --hero-paper:#faf7f1; }
.inv-hero { --hero-paper:#f2f7f8; }
.personal-hero { --hero-paper:#f5f8f3; }
/* Shared homepage.css also serves Learn: reserve the independent header here
   only when the page adopts this component. */
.finux-home:has(.fff-hero) main { padding-top:92px; }
.fff-hero .fff-hero__layout { width:calc(100% - 80px); max-width:1240px; margin:auto; padding:0; }
.fff-hero__main { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:56px; align-items:center; }
.fff-hero__copy { width:100%; min-width:0; margin:0; padding:0; }
.fff-hero__copy h1, .fff-hero__copy [class$='__lede'] { max-width:100%; }
.fff-hero .home-hero__title-line { display:inline; white-space:normal; }
.fff-hero__copy [class$='__actions'], .fff-hero__copy .toolsx-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.fff-hero__copy .home-button { min-height:48px; font-size:15px; line-height:1.25; white-space:normal; }
.fff-hero__copy [class$='__note'] { display:block; margin-top:18px; padding:0; font-size:14px; line-height:1.5; }
.fff-hero__copy .home-hero__note { margin-bottom:0; }
.fff-hero__copy .personal-hero__note { display:flex; align-items:flex-start; gap:8px; }
.fff-hero__visual { display:block; width:100%; min-width:0; margin:0; padding:0; }
.fff-hero__photo { position:relative; width:100%; aspect-ratio:3/2; overflow:hidden; margin:0; border:1px solid var(--hero-line); border-radius:24px; background:#edf3f2; }
.home-hero .fff-hero__photo { aspect-ratio:1586/992; }
.fff-hero__photo picture { display:block; width:100%; height:100%; }
.fff-hero__photo img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.finance-hero-illustration .fff-hero__photo { aspect-ratio:auto; background:#edf5f5; }
.finance-hero-illustration img { height:auto; object-fit:contain; }

.fff-hero__support { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:32px; align-items:center; margin-top:20px; padding:16px 0 24px; border-top:1px solid var(--hero-line); }
.fff-hero .fff-hero__proof { position:relative; display:block; width:100%; min-width:0; margin:0; padding:18px 20px; border:1px solid var(--hero-line); border-radius:16px; background:#fff; box-shadow:none; backdrop-filter:none; }
.fff-hero .fff-hero__proof :is(p,small,span,dt) { font-size:13px; line-height:1.5; letter-spacing:normal; }
.fff-hero__proof.homes-payment-card > span { padding-top:.15rem; }
.fff-hero .fff-hero__proof > span { font-size:14px; }
.fff-hero__proof > strong { display:block; margin:6px 0; font-size:30px; line-height:1.15; white-space:normal; }
.fff-hero__proof > p { margin:8px 0 0; }
.fff-hero__proof small[data-example-model] { display:block; margin-top:8px; overflow-wrap:anywhere; }
.fff-hero__proof[data-example-state='error'] strong { font-size:14px; line-height:1.5; }

/* Homepage's separate non-hero preview keeps its original component rules. */
.fff-hero .finance-preview--hero { display:grid; grid-template-columns:1.1fr 1fr; gap:0 24px; }
.fff-hero .finance-preview--hero figcaption { grid-column:1/-1; margin:0 0 12px; padding-bottom:10px; font-size:14px; }
.fff-hero .finance-preview--hero .finance-preview__metric { grid-column:1; grid-row:2/4; }
.fff-hero .finance-preview--hero .finance-preview__metric strong { font-size:30px; }
.fff-hero .finance-preview--hero .finance-preview__split { grid-column:2; grid-row:2; margin:0; gap:12px; }
.fff-hero .finance-preview--hero .finance-preview__split > div { padding:0; border:0; background:none; }
.fff-hero .finance-preview--hero .finance-preview__split strong { font-size:18px; }
.fff-hero .finance-preview--hero .finance-preview__chart { grid-column:2; grid-row:3; width:120px; height:24px; margin-top:4px; }
.fff-hero .finance-preview--hero > p { grid-column:1/-1; grid-row:4; margin-top:8px; }
.fff-hero .inv-snapshot { display:grid; grid-template-columns:minmax(0,1fr) 110px; column-gap:24px; }
.fff-hero .inv-snapshot > span, .fff-hero .inv-snapshot > strong, .fff-hero .inv-snapshot > p { grid-column:1; }
.fff-hero .inv-snapshot__bars { grid-column:2; grid-row:1/4; align-self:end; display:flex; align-items:end; gap:4px; width:110px; height:32px; margin:0; }
.fff-hero .personal-snapshot__head { display:flex; justify-content:space-between; gap:12px; padding:0; margin-bottom:12px; }
.fff-hero .personal-snapshot dl { display:grid; grid-template-columns:1fr 1.45fr 1fr; gap:14px; margin:0; }
.fff-hero .personal-snapshot dl > div { display:block; padding:0; border:0; }
.fff-hero .personal-snapshot dd { margin:4px 0 0; font-size:22px; line-height:1.3; }
.fff-hero .personal-snapshot__bar { display:flex; gap:3px; height:7px; margin-top:14px; overflow:hidden; border-radius:99px; }

.fff-hero__trust { display:flex; flex-direction:column; gap:12px; width:100%; margin:0; padding:0; list-style:none; }
.fff-hero__trust .home-shell { width:100%; max-width:none; margin:0; padding:0; }
.fff-hero__trust li { display:flex; align-items:center; justify-content:flex-start; gap:8px; min-width:0; padding:0; text-align:left; font-size:13px; line-height:1.5; }
.fff-hero__trust li::before { position:static; flex-shrink:0; }
.fff-hero .personal-trust ul { display:flex; flex-direction:column; gap:12px; list-style:none; }
.fff-hero .trust-rail__inner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fff-hero .trust-rail__inner article { display:flex; align-items:flex-start; min-width:0; gap:10px; padding:0; }
.fff-hero .trust-rail__inner h2 { margin:0 0 .15rem; font-size:14px; line-height:1.4; letter-spacing:-.01em; }
.fff-hero .trust-rail__inner p { margin:0; font-size:13px; line-height:1.5; }
.fff-hero .trust-rail__mark { width:28px; height:28px; flex:0 0 28px; font-size:12px; }
.fff-hero__support--facts-only { display:block; padding-block:20px 24px; }
.fff-hero__support--facts-only .fff-hero__trust { flex-direction:row; flex-wrap:wrap; gap:16px 28px; }
/* Only the first chapter's outer anchors and transition spacing change. */
.fff-hero-next { padding-top:56px; }
.fff-hero-next > .home-shell { width:calc(100% - 80px); max-width:1240px; }

@media (min-width:1100px) {
  /* Hero action destinations must clear the independently owned fixed header. */
  .finux-home:has(.fff-hero) main > :is(#tools, #learn, #find-a-tool) { scroll-margin-top:100px; }
}
@media (max-width:1099px) {
  .finux-home:has(.fff-hero) main { padding-top:70px; }
}
@media (max-width:999px) {
  .fff-hero { padding-top:32px; }
  .fff-hero .fff-hero__layout { width:calc(100% - 64px); }
  .fff-hero__main { grid-template-columns:minmax(0,1fr); gap:20px; }
  .fff-hero__copy, .fff-hero__visual { max-width:680px; }
  .fff-hero__support { grid-template-columns:minmax(0,1fr); max-width:680px; gap:16px; margin-top:20px; padding:20px 0 24px; }
  .fff-hero__trust:not(.trust-rail), .fff-hero .personal-trust ul { flex-direction:row; flex-wrap:wrap; gap:10px 24px; }
  .fff-hero .trust-rail__inner { gap:16px 24px; }
  .fff-hero-next > .home-shell { width:calc(100% - 64px); }
}
@media (max-width:599px) {
  .fff-hero { padding-top:20px; }
  .fff-hero .fff-hero__layout { width:calc(100% - 40px); }
  .fff-hero__main { gap:16px; }
  .fff-hero__copy [class$='__actions'], .fff-hero__copy .toolsx-actions { display:grid; grid-template-columns:1fr; gap:10px; margin-top:20px; }
  .fff-hero__copy .home-button { width:100%; }
  .fff-hero__copy [class$='__note'] { margin-top:14px; }
  .fff-hero__photo { border-radius:20px; }
  .fff-hero__support { margin-top:16px; padding:0 0 20px; gap:16px; border-top:0; }
  .fff-hero .fff-hero__proof { padding:16px; }
  .fff-hero .finance-preview--hero, .fff-hero__copy .home-hero__note { display:none; }
  .fff-hero__support--facts-only, .home-hero .fff-hero__support { padding-top:16px; border-top:1px solid var(--hero-line); }
  .fff-hero .inv-snapshot { display:block; }
  .fff-hero .inv-snapshot__bars { width:110px; height:24px; margin-top:10px; }
  .fff-hero .personal-snapshot__head { margin-bottom:10px; }
  .fff-hero .personal-snapshot dl { grid-template-columns:1fr; gap:8px; }
  .fff-hero .personal-snapshot dl > div { display:flex; justify-content:space-between; align-items:baseline; gap:16px; }
  .fff-hero .personal-snapshot dd { margin:0; }
  .fff-hero .personal-snapshot__bar { margin-top:10px; }
  .fff-hero__trust:not(.trust-rail), .fff-hero .personal-trust ul { flex-direction:column; gap:8px; }
  .fff-hero .trust-rail__inner { gap:16px; }
  .fff-hero .trust-rail__inner article { gap:8px; }
  .fff-hero .trust-rail__inner h2 { margin-bottom:.1rem; }
  .fff-hero .trust-rail__mark { margin:0; }
  .fff-hero-next { padding-top:40px; }
  .fff-hero-next > .home-shell { width:calc(100% - 40px); }
}
