/* ============================================================
   WealthMap /features page — layers on wealthmap-redesign.css
   ============================================================ */

.ft-container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }

/* ── Hero ── */
.ft-hero { padding: var(--s-96) 0 var(--s-48); text-align: center; }
.ft-hero .section-eyebrow { display: block; margin-bottom: var(--s-16); }
.ft-title {
  font-family: "Geist", sans-serif; font-size: var(--t-40); font-weight: 600;
  line-height: 1.03; letter-spacing: -0.04em; color: var(--text);
  max-width: 820px; margin: 0 auto;
}
@media (min-width: 720px) { .ft-title { font-size: var(--t-64); } }
.ft-title em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 500; color: var(--accent-bright); }
.ft-sub { margin: var(--s-24) auto 0; max-width: 620px; font-size: var(--t-18); line-height: 1.55; color: var(--text-2); }

/* ── Stats strip ── */
.ft-stats { padding: var(--s-32) 0 var(--s-64); }
.ft-stats-grid {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--s-24);
  padding-top: var(--s-32); padding-bottom: var(--s-32);
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
}
@media (max-width: 860px) { .ft-stats-grid { grid-template-columns: repeat(3, 1fr); gap: var(--s-32); } }
@media (max-width: 460px) { .ft-stats-grid { grid-template-columns: repeat(2, 1fr); } }
.ft-stat { text-align: center; display: flex; flex-direction: column; gap: var(--s-4); }
.ft-stat-num {
  font-family: "Geist", sans-serif; font-size: var(--t-40); font-weight: 700;
  letter-spacing: -0.04em; line-height: 1;
  background: linear-gradient(180deg, var(--text), var(--accent-bright));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.ft-stat-lbl { font-size: var(--t-13); color: var(--text-3); line-height: 1.3; }

/* ── Feature sections ── */
.ft-sec { padding: var(--s-96) 0; }
.ft-sec--alt { background: var(--bg-elevated); }
.ft-sec-head { max-width: 720px; margin: 0 auto var(--s-48); text-align: center; }
.ft-sec-eyebrow {
  font-family: "Geist Mono", ui-monospace, monospace; font-size: var(--t-12);
  font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--accent-bright); margin-bottom: var(--s-12);
}
.ft-sec-title {
  font-family: "Geist", sans-serif; font-size: var(--t-32); font-weight: 600;
  letter-spacing: -0.03em; line-height: 1.08; color: var(--text);
}
@media (min-width: 720px) { .ft-sec-title { font-size: var(--t-40); } }
.ft-sec-sub { margin-top: var(--s-16); font-size: var(--t-16); line-height: 1.6; color: var(--text-2); }

.ft-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s-16);
  max-width: 1080px; margin: 0 auto;
}
@media (max-width: 860px) { .ft-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .ft-grid { grid-template-columns: 1fr; } }

.ft-card {
  padding: var(--s-24); border-radius: 14px;
  background: var(--bg-card); box-shadow: inset 0 0 0 1px rgba(250,249,245,0.05);
  transition: background var(--d-fast) var(--ease);
}
.ft-sec--alt .ft-card { background: var(--bg-card); }
.ft-card:hover { background: var(--bg-card-2); }
.ft-card h3 { font-size: var(--t-16); font-weight: 600; color: var(--text); margin-bottom: var(--s-8); letter-spacing: -0.012em; }
.ft-card p { font-size: var(--t-14); line-height: 1.55; color: var(--text-3); }

.ft-cta-inline { text-align: center; margin-top: var(--s-32); }

/* ── Final CTA ── */
.ft-final { padding: var(--s-128) 0; border-top: 1px solid var(--border); text-align: center; }
.ft-final-inner { max-width: 640px; }
.ft-final-title {
  font-family: "Geist", sans-serif; font-size: var(--t-32); font-weight: 600;
  letter-spacing: -0.035em; line-height: 1.05; color: var(--text); margin-bottom: var(--s-12);
}
@media (min-width: 720px) { .ft-final-title { font-size: var(--t-48); } }
.ft-final-title em { font-family: "Instrument Serif", serif; font-style: italic; font-weight: 500; color: var(--accent-bright); }
.ft-final-sub { font-size: var(--t-15); color: var(--text-2); margin-bottom: var(--s-32); }
.ft-final .app-badge { display: inline-block; }
.ft-final-link { margin-top: var(--s-24); }
