/* Régua de degradê, rótulos, número em destaque, fonte, callout e citação */
.gradient-rule { display: block; width: 72px; height: var(--rule-height); border: 0; border-radius: var(--radius-pill); background: var(--wp-gradient); }
.gradient-rule--full { width: 100%; }
.gradient-rule--vertical { width: var(--rule-height); height: 72px; background: var(--wp-gradient-vertical); }

.section-label {
  margin-bottom: var(--space-2);
  font: var(--fw-semibold) var(--fs-eyebrow)/1.3 var(--font-body);
  letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--text-secondary);
}
.section-label--accent { color: var(--accent-text); }
.section-head > .gradient-rule { margin-top: var(--space-4); }
.section-head > p { margin-top: var(--space-4); }

.stat { display: grid; gap: var(--space-1); align-content: start; }
.stat__value { font: var(--fw-bold) var(--stat-size, 2rem)/1 var(--font-display); letter-spacing: var(--ls-heading); color: var(--accent-text); }
.stat--lg { --stat-size: clamp(2.5rem, 1.6rem + 3vw, 3.5rem); }
.stat__label { color: var(--text-body); }
.stat__source { color: var(--text-secondary); font-size: var(--fs-caption); font-style: italic; }

.source-note { margin: var(--space-6) 0 0; padding-top: var(--space-3); border-top: 1px solid var(--border-subtle); font-size: var(--fs-caption); color: var(--text-secondary); }
.source-note strong { font-weight: var(--fw-semibold); text-transform: uppercase; letter-spacing: var(--ls-label); }

.callout {
  --_c: var(--wp-purple);
  max-width: var(--measure-text); padding: var(--space-5);
  border-left: 4px solid var(--_c); border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: color-mix(in srgb, var(--_c) 8%, var(--wp-white));
  color: var(--wp-ink);
}
.callout > * + * { margin-top: var(--space-2); }
.callout > :last-child { margin-bottom: 0; }
.callout__kicker { font: var(--fw-semibold) var(--fs-label)/1.2 var(--font-body); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--_c); }
.callout--action { --_c: var(--wp-teal-dark); }
.callout--attention { --_c: #8A4A17; background: color-mix(in srgb, var(--wp-orange) 10%, var(--wp-white)); }

.quote-block { max-width: 46ch; margin: 0; }
.quote-block::before { content: ''; display: block; width: 72px; height: var(--rule-height); margin-bottom: var(--space-5); border-radius: var(--radius-pill); background: var(--wp-gradient); }
.quote-block blockquote { margin: 0; font: var(--fw-semibold) clamp(1.25rem, 1.05rem + 0.9vw, 1.5rem)/1.4 var(--font-display); letter-spacing: var(--ls-heading); color: var(--text-heading); }
.quote-block figcaption { margin-top: var(--space-4); font: var(--fw-semibold) var(--fs-label)/1.4 var(--font-body); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--text-secondary); }
