/* Homepage (T-92, front-page.php). Loads only there, after design-components.css. */
.fb-ds-v01.fb-home { background: var(--fb-color-page); padding-bottom: var(--fb-space-12); font-size: var(--fb-text-body); }
.fb-home :where(h1, h2, h3, p, ul, ol, figure) { margin: 0; }
.fb-home :where(ul, ol) { list-style: none; padding: 0; }

.fb-ds-v01 .fbds-home-section { display: grid; gap: var(--fb-space-6); padding-block: var(--fb-space-12) 0; }
.fb-ds-v01 .fbds-home-section > * { min-width: 0; }
.fb-ds-v01 .fbds-home-section > h2 { text-align: center; }
.fb-ds-v01 .fbds-home-center { text-align: center; }
.fb-ds-v01 .fbds-home-subhead { text-align: center; font-size: var(--fb-text-lg); margin-top: var(--fb-space-2); }

/* Hero */
.fb-ds-v01 .fbds-home-hero { padding: 0; border: 0; border-radius: 0; }
.fb-ds-v01 .fbds-home-hero__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--fb-space-12); align-items: center; padding-block: var(--fb-space-16); }
.fb-ds-v01 .fbds-home-hero__copy { display: grid; gap: var(--fb-space-4); justify-items: start; }
.fb-ds-v01 .fbds-home-hero h1 { line-height: 1.08; }
.fb-ds-v01 .fbds-home-hero__lead { font-size: var(--fb-text-lg); line-height: 1.4; }
.fb-ds-v01 .fbds-home-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fb-space-3) var(--fb-space-5); margin-top: var(--fb-space-2); }
.fb-ds-v01 .fbds-home-hero__cta p { font-size: var(--fb-text-sm); }
.fb-ds-v01 .fbds-home-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fb-space-3); }
.fb-ds-v01 .fbds-home-stats li { display: grid; gap: var(--fb-space-1); align-content: start; padding: var(--fb-space-5); border: 1px solid var(--fb-color-on-navy-line); border-radius: var(--fb-radius-card); background: var(--fb-color-on-navy-surface); }
.fb-ds-v01 .fbds-home-stats strong { color: var(--fb-color-on-result); font-size: clamp(1.75rem, 1.4rem + 1.1vw, 2.25rem); line-height: 1.1; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.fb-ds-v01 .fbds-home-stats span { color: var(--fb-color-on-navy-muted); font-size: var(--fb-text-sm); line-height: 1.4; }

/* Steps */
.fb-ds-v01 .fbds-home-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--fb-space-4); }
.fb-ds-v01 .fbds-home-steps li { display: grid; gap: var(--fb-space-2); align-content: start; padding: var(--fb-space-6); border: 1px solid var(--fb-color-border); border-radius: var(--fb-radius-card); background: var(--fb-color-surface); }
.fb-ds-v01 .fbds-home-steps h3 { font-size: var(--fb-text-xs); font-weight: var(--fb-weight-bold); letter-spacing: 0.1em; text-transform: uppercase; color: var(--fb-color-action); }
.fb-ds-v01 .fbds-home-steps strong { font-size: var(--fb-text-lg); line-height: 1.25; color: var(--fb-color-heading); }
.fb-ds-v01 .fbds-home-steps p:last-child { color: var(--fb-color-muted); font-size: var(--fb-text-md); }

/* Categories */
.fb-ds-v01 .fbds-home-cats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--fb-space-3); }
.fb-ds-v01 .fbds-home-cats a { display: grid; gap: var(--fb-space-2); justify-items: center; height: 100%; padding: var(--fb-space-5) var(--fb-space-3); border: 1px solid var(--fb-color-border); border-radius: var(--fb-radius-card); background: var(--fb-color-surface); text-align: center; text-decoration: none; transition: border-color var(--fb-duration-fast) var(--fb-ease), box-shadow var(--fb-duration-fast) var(--fb-ease); }
.fb-ds-v01 .fbds-home-cats a:hover { border-color: var(--fb-color-action); box-shadow: var(--fb-shadow-hover); }
.fb-ds-v01 .fbds-home-cats img { display: block; width: 72px; height: 72px; object-fit: contain; }
.fb-ds-v01 .fbds-home-cats h3 { font-size: var(--fb-text-md); line-height: 1.3; }

/* Who's behind */
.fb-ds-v01 .fbds-home-who { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 18rem); gap: var(--fb-space-8); align-items: center; padding: var(--fb-space-8); border: 1px solid var(--fb-color-border); border-radius: var(--fb-radius-card); background: var(--fb-color-surface); }
.fb-ds-v01 .fbds-home-who__copy { display: grid; gap: var(--fb-space-4); justify-items: start; }
.fb-ds-v01 .fbds-home-who figure { display: grid; gap: var(--fb-space-2); }
.fb-ds-v01 .fbds-home-who img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: var(--fb-radius-card); }
.fb-ds-v01 .fbds-home-who figcaption { color: var(--fb-color-muted); font-size: var(--fb-text-sm); text-align: center; }

/* Lead magnet */
.fb-ds-v01 .fbds-home-lead { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fb-space-8); align-items: center; padding: var(--fb-space-8); border-radius: var(--fb-radius-feature); background: var(--fb-color-result-bg); color: var(--fb-color-on-navy-muted); }
.fb-ds-v01 .fbds-home-lead > * { display: grid; gap: var(--fb-space-3); min-width: 0; }
.fb-ds-v01 .fbds-home-lead h2 { color: var(--fb-color-on-result); }
.fb-ds-v01 .fbds-home-lead__note { font-size: var(--fb-text-xs); }
.fb-ds-v01 .fbds-home-lead iframe { max-width: 100%; }

@media (max-width: 64rem) {
  .fb-ds-v01 .fbds-home-hero__inner, .fb-ds-v01 .fbds-home-who, .fb-ds-v01 .fbds-home-lead { grid-template-columns: 1fr; }
  .fb-ds-v01 .fbds-home-hero__inner { gap: var(--fb-space-8); padding-block: var(--fb-space-12); }
  .fb-ds-v01 .fbds-home-who figure { order: -1; width: 100%; max-width: 16rem; justify-self: center; }
  .fb-ds-v01 .fbds-home-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 48rem) {
  .fb-ds-v01 .fbds-home-section { padding-block-start: var(--fb-space-8); }
  .fb-ds-v01 .fbds-home-steps { grid-template-columns: 1fr; }
  .fb-ds-v01 .fbds-home-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fb-ds-v01 :is(.fbds-home-who, .fbds-home-lead) { padding: var(--fb-space-5); }
}
