/* ═══════════════════════════════════════════════════
   AEO / GEO blocks — designed to match report.css tokens
   ═══════════════════════════════════════════════════ */

/* Visually-hidden but available to crawlers + screen readers */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}

/* ───────── Key Findings (TL;DR) ───────── */
.findings {
  padding: 80px 0 40px;
  background: var(--report-bg);
  border-bottom: 1px solid var(--ff-border-subtle);
}
.findings__label {
  font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase;
  font-weight: 600; color: var(--ff-orange-500); margin-bottom: 16px;
}
.findings__title {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700; letter-spacing: -0.02em;
  color: var(--ff-fg-1); margin: 0 0 32px;
  text-wrap: balance;
}
.findings__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
  list-style: none; padding: 0; margin: 0 0 28px;
  counter-reset: findings;
}
@media (max-width: 860px) { .findings__list { grid-template-columns: 1fr; } }
.findings__item {
  position: relative;
  padding: 22px 24px 22px 64px;
  background: var(--report-bg-card);
  border: 1px solid var(--ff-border-subtle);
  border-radius: var(--ff-radius-lg);
  counter-increment: findings;
}
.findings__item::before {
  content: counter(findings, decimal-leading-zero);
  position: absolute; top: 22px; left: 22px;
  font-size: 14px; font-weight: 700;
  color: var(--ff-orange-500);
  font-variant-numeric: tabular-nums;
}
.findings__stat {
  display: block;
  font-size: 22px; font-weight: 800; color: white;
  letter-spacing: -0.02em; line-height: 1.2;
  margin-bottom: 6px;
}
.findings__stat .hl { color: var(--ff-orange-500); }
.findings__desc {
  font-size: 14px; line-height: 1.5; color: var(--ff-fg-2);
  margin: 0;
}
.findings__source {
  display: block; margin-top: 8px;
  font-size: 12px; color: var(--ff-fg-3);
  letter-spacing: 0.02em;
}

/* ───────── FAQ ───────── */
.faq {
  padding: 100px 0;
  background: var(--report-bg);
  border-top: 1px solid var(--ff-border-subtle);
}
.faq__label {
  font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase;
  font-weight: 600; color: var(--ff-orange-500); margin-bottom: 16px;
}
.faq__title {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 700; letter-spacing: -0.02em;
  color: var(--ff-fg-1); margin: 0 0 40px;
  text-wrap: balance;
}
.faq__list { display: flex; flex-direction: column; gap: 12px; }
.faq__item {
  background: var(--report-bg-card);
  border: 1px solid var(--ff-border-subtle);
  border-radius: var(--ff-radius-lg);
  padding: 22px 28px;
  transition: border-color 180ms ease;
}
.faq__item[open] { border-color: rgba(242,101,35,0.35); }
.faq__item summary {
  list-style: none;
  cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  font-size: 18px; font-weight: 600; color: var(--ff-fg-1);
  letter-spacing: -0.01em;
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after {
  content: "+";
  font-size: 24px; font-weight: 400;
  color: var(--ff-orange-500);
  transition: transform 200ms ease;
  flex-shrink: 0;
}
.faq__item[open] summary::after { content: "−"; }
.faq__answer {
  margin: 14px 0 0;
  font-size: 16px; line-height: 1.65;
  color: var(--ff-fg-2);
}
.faq__answer p { margin: 0 0 10px; }
.faq__answer p:last-child { margin-bottom: 0; }

/* ───────── Glossary ───────── */
.glossary {
  padding: 80px 0 100px;
  background: var(--report-bg);
}
.glossary__label {
  font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase;
  font-weight: 600; color: var(--ff-orange-500); margin-bottom: 16px;
}
.glossary__title {
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700; letter-spacing: -0.02em;
  color: var(--ff-fg-1); margin: 0 0 32px;
  text-wrap: balance;
}
.glossary__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
  margin: 0;
}
@media (max-width: 860px) { .glossary__list { grid-template-columns: 1fr; } }
.glossary__list dt {
  font-size: 16px; font-weight: 700; color: var(--ff-orange-500);
  letter-spacing: -0.01em;
}
.glossary__list dd {
  margin: 6px 0 0;
  font-size: 14px; line-height: 1.6; color: var(--ff-fg-2);
}
