/* ===================================================================
   Access Funding Network — home.css
   Homepage-only sections. Depends on tokens.css + main.css.
   =================================================================== */

/* Hero */
.afn-home-hero {
  background:
    radial-gradient(1100px 520px at 80% -15%, var(--afn-tint) 0%, rgba(232,243,238,0) 62%),
    var(--afn-surface);
  padding: 4.5rem 0 4rem;
}
.afn-home-hero__inner { max-width: 760px; }
.afn-home-hero h1 { margin: 1rem 0 1rem; }
.afn-home-hero__sub { font-size: var(--afn-fs-lg); color: var(--afn-muted); margin-bottom: 1.75rem; max-width: 56ch; }
.afn-home-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.afn-home-hero__assure { font-size: var(--afn-fs-sm); color: var(--afn-faint); margin: 0; }
.afn-home-hero__assure strong { color: var(--afn-muted); font-weight: 600; }

/* Funding options grid */
.afn-fund-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.afn-fund-card {
  display: block; background: var(--afn-card); border: 1px solid var(--afn-border);
  border-radius: var(--afn-radius-lg); padding: 1.5rem; text-decoration: none;
  transition: border-color .14s ease, transform .08s ease, box-shadow .14s ease;
}
.afn-fund-card:hover { border-color: var(--afn-primary); box-shadow: var(--afn-shadow-md); text-decoration: none; transform: translateY(-2px); }
.afn-fund-card__ic { width: 44px; height: 44px; border-radius: 12px; background: var(--afn-tint); color: var(--afn-primary); display: grid; place-items: center; margin-bottom: 1rem; }
.afn-fund-card h3 { font-size: var(--afn-fs-lg); margin-bottom: 0.4rem; }
.afn-fund-card p { color: var(--afn-muted); font-size: var(--afn-fs-sm); margin: 0 0 0.85rem; }
.afn-fund-card__link { color: var(--afn-primary); font-weight: 600; font-size: var(--afn-fs-sm); display: inline-flex; align-items: center; gap: 0.35rem; }

/* Value props */
.afn-values { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem 2.5rem; }
.afn-value { display: flex; gap: 0.9rem; align-items: flex-start; }
.afn-value__ic { color: var(--afn-primary); flex: none; margin-top: 2px; }
.afn-value h3 { font-size: var(--afn-fs-base); margin: 0 0 0.2rem; }
.afn-value p { color: var(--afn-muted); font-size: var(--afn-fs-sm); margin: 0; }

/* Who we help */
.afn-who { background: var(--afn-card); border: 1px solid var(--afn-border); border-radius: var(--afn-radius-lg); padding: 2.25rem; text-align: center; }
.afn-who__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin-top: 1.5rem; }
.afn-chip { background: var(--afn-tint); color: var(--afn-primary-darker); font-size: var(--afn-fs-sm); font-weight: 600; padding: 0.5rem 1rem; border-radius: var(--afn-radius-pill); }
.afn-who__note { margin-top: 1.5rem; font-size: var(--afn-fs-sm); color: var(--afn-muted); }

/* FAQ accordion */
.afn-faq { max-width: 760px; margin: 0 auto; }
.afn-faq__item { border-bottom: 1px solid var(--afn-border); }
.afn-faq__q {
  width: 100%; background: none; border: none; cursor: pointer; font-family: inherit;
  text-align: left; font-size: var(--afn-fs-base); font-weight: 600; color: var(--afn-ink);
  padding: 1.25rem 2.5rem 1.25rem 0; position: relative; line-height: 1.4;
}
.afn-faq__q::after { content: "+"; position: absolute; right: 0.25rem; top: 1.1rem; font-size: 1.5rem; font-weight: 400; color: var(--afn-primary); transition: transform .2s; }
.afn-faq__item.is-open .afn-faq__q::after { content: "\2013"; }
.afn-faq__a { max-height: 0; overflow: hidden; transition: max-height .25s ease; }
.afn-faq__a p { color: var(--afn-muted); font-size: var(--afn-fs-sm); margin: 0 0 1.25rem; max-width: 64ch; }
.afn-faq__item.is-open .afn-faq__a { max-height: 320px; }

/* CTA band */
.afn-cta-band { background: var(--afn-primary); color: #fff; text-align: center; padding: 3.5rem 1.5rem; }
.afn-cta-band h2 { color: #fff; margin-bottom: 0.5rem; }
.afn-cta-band p { color: #C9E6DB; font-size: var(--afn-fs-lg); margin-bottom: 1.75rem; }

@media (max-width: 860px) {
  .afn-fund-grid { grid-template-columns: 1fr; }
  .afn-values { grid-template-columns: 1fr; gap: 1.25rem; }
  .afn-who { padding: 1.5rem; }
}
