.rf-wrap { max-width: 1100px; margin: 0 auto; padding: 2rem 1rem 4rem; }
.rf-wrap h1 { margin: 0 0 .5rem; }
#topicFilters { margin-bottom: .5rem; }
.article-grid { margin-top: 1rem; }
.rf-controls { display: flex; flex-direction: column; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.rf-locked-wrap { position: relative; margin: 1rem 0 .5rem; border-radius: 10px; overflow: hidden; }
.rf-locked-text { padding: 1rem; background: var(--surface-2); color: transparent; text-shadow: 0 0 8px rgba(255,255,255,0.7); user-select: none; filter: blur(2px); }
.rf-locked-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 1rem; text-align: center; background: linear-gradient(to bottom, rgba(12,12,16,.3), rgba(12,12,16,.65)); }
.rf-locked-message { color: var(--text); margin: 0; }
.topic-snippet-btn { background: none; border: none; color: var(--accent); cursor: pointer; padding: 0; font-weight: 600; }

.rf-hero .lp-sub { max-width: 780px; }
.rf-hero-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.35rem; }
.rf-hero-links a,
.rf-link-list a,
.rf-level-card a,
.rf-path-card a { color: var(--accent); font-weight: 700; text-decoration: none; }
.rf-hero-links a { border: 1px solid rgba(255,255,255,.16); border-radius: 999px; padding: .55rem .85rem; background: rgba(255,255,255,.05); }
.rf-seo-section,
.rf-finder-panel { margin: 0 0 2rem; padding: 1.5rem; border: 1px solid rgba(255,255,255,.09); border-radius: 24px; background: rgba(255,255,255,.035); box-shadow: 0 18px 48px rgba(0,0,0,.18); }
.rf-seo-section h2,
.rf-section-heading h2 { margin: .25rem 0 .7rem; font-size: clamp(1.6rem, 3vw, 2.35rem); letter-spacing: -.03em; }
.rf-section-heading { max-width: 780px; margin: 0 auto 1.25rem; text-align: center; }
.rf-section-heading p,
.rf-seo-card p,
.rf-level-card p,
.rf-path-card li,
.faq-answer p { color: var(--text-2); line-height: 1.65; }
.rf-seo-grid,
.rf-level-grid,
.rf-path-grid,
.rf-link-columns { display: grid; gap: 1rem; }
.rf-seo-grid,
.rf-level-grid,
.rf-path-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rf-link-columns { grid-template-columns: 1fr 1.2fr 1.2fr; }
.rf-seo-card,
.rf-level-card,
.rf-path-card,
.rf-link-columns > div { border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 1.1rem; background: rgba(255,255,255,.04); }
.rf-seo-card h3,
.rf-level-card h3,
.rf-path-card h3,
.rf-link-columns h3 { margin: 0 0 .45rem; }
.rf-level-card span { display: inline-flex; margin-bottom: .65rem; border-radius: 999px; padding: .3rem .6rem; background: rgba(139,92,246,.16); color: var(--accent); font-weight: 800; }
.rf-path-card ol { margin: .5rem 0 1rem; padding-left: 1.2rem; }
.rf-link-list { display: flex; flex-direction: column; gap: .55rem; }
.faq-list { display: grid; gap: .75rem; }
.faq-item { border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: .9rem 1rem; background: rgba(255,255,255,.04); }
.faq-question { cursor: pointer; font-weight: 800; }
.faq-answer p { margin-bottom: 0; }

@media (max-width: 860px) {
  .rf-seo-grid,
  .rf-level-grid,
  .rf-path-grid,
  .rf-link-columns { grid-template-columns: 1fr; }
  .rf-seo-section,
  .rf-finder-panel { padding: 1.1rem; }
}
