.ff-hero { background: linear-gradient(180deg, var(--ff-color-ink) 0%, #1a2333 100%); color: var(--ff-color-text-on-dark); padding: var(--ff-space-16) 0 var(--ff-space-12); text-align: center; }
.ff-hero__inner { max-width: 760px; margin: 0 auto; }
.ff-hero__eyebrow { font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--ff-color-gold); margin-bottom: var(--ff-space-3); }
.ff-hero__title { color: var(--ff-color-text-on-dark); margin-bottom: var(--ff-space-4); }
.ff-hero__subtitle { color: var(--ff-color-text-on-dark-muted); font-size: 1.1rem; max-width: 560px; margin: 0 auto var(--ff-space-8); }
.ff-hero__search { display: flex; gap: var(--ff-space-2); max-width: 600px; margin: 0 auto; }
.ff-hero__search input { flex: 1; padding: 0.9rem 1.1rem; border: none; border-radius: var(--ff-radius-sm); font-size: 1rem; font-family: var(--ff-font-body); }
.ff-hero__search input:focus { outline: 3px solid var(--ff-color-gold); }
.ff-hero__secondary-cta { display: inline-block; margin-top: var(--ff-space-4); color: var(--ff-color-gold); font-weight: 700; }
.ff-hero__stats { display: flex; justify-content: center; gap: var(--ff-space-8); flex-wrap: wrap; list-style: none; margin: var(--ff-space-12) 0 0; padding: 0; font-size: 0.92rem; color: var(--ff-color-text-on-dark-muted); }
.ff-hero__stats strong { color: var(--ff-color-text-on-dark); }
.ff-browse { padding: var(--ff-space-16) 0; }
.ff-browse__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ff-space-6); }
.ff-browse-card { display: block; background: var(--ff-color-surface); border: 1px solid var(--ff-color-border); border-radius: var(--ff-radius-lg); padding: var(--ff-space-6); box-shadow: var(--ff-shadow-sm); transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease; }
.ff-browse-card:hover { transform: translateY(-3px); box-shadow: var(--ff-shadow-md); border-color: var(--ff-color-accent); }
.ff-browse-card__icon { font-size: 2rem; display: block; margin-bottom: var(--ff-space-3); }
.ff-browse-card__title { font-size: 1.05rem; margin-bottom: var(--ff-space-2); }
.ff-browse-card__desc { font-size: 0.88rem; color: var(--ff-color-text-muted); margin-bottom: var(--ff-space-3); }
.ff-browse-card__count { display: inline-block; font-size: 0.78rem; font-weight: 700; color: var(--ff-color-accent); background: var(--ff-color-accent-soft); padding: 0.2rem 0.6rem; border-radius: 999px; }
.ff-browse__below-widgets { margin-top: var(--ff-space-8); }
.ff-claim-promo { background: var(--ff-color-accent); color: #fff; padding: var(--ff-space-10, 2.5rem) 0; }
.ff-claim-promo__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--ff-space-6); flex-wrap: wrap; }
.ff-claim-promo__text h2 { color: #fff; margin-bottom: var(--ff-space-2); }
.ff-claim-promo__text p { color: rgba(255,255,255,0.85); margin: 0; max-width: 520px; }
.ff-claim-promo .ff-btn--accent { background: #fff; color: var(--ff-color-accent); border-color: #fff; flex-shrink: 0; }
.ff-claim-promo .ff-btn--accent:hover { background: var(--ff-color-ink); color: #fff; border-color: var(--ff-color-ink); }
.ff-news-feed { padding: var(--ff-space-16) 0; }
.ff-news-feed__empty { color: var(--ff-color-text-muted); }
.ff-incentives { background: var(--ff-color-ink); padding: var(--ff-space-12) 0; }
.ff-incentives__inner { display: flex; align-items: center; gap: var(--ff-space-6); flex-wrap: wrap; }
.ff-incentives__icon { font-size: 2.5rem; flex-shrink: 0; }
.ff-incentives__text { flex: 1; min-width: 260px; }
.ff-incentives__text h2 { color: var(--ff-color-text-on-dark); margin-bottom: var(--ff-space-2); }
.ff-incentives__text p { color: var(--ff-color-text-on-dark-muted); margin: 0; max-width: 620px; }
@media (max-width: 980px) { .ff-browse__grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px) {
	.ff-hero__search { flex-direction: column; }
	.ff-browse__grid { grid-template-columns: 1fr; }
	.ff-hero__stats { gap: var(--ff-space-4); justify-content: flex-start; text-align: left; }
	.ff-claim-promo__inner, .ff-incentives__inner { text-align: center; justify-content: center; }
}
