/* /for-institutions - aggregate read + program-scale interventions. shared.css = chrome. */

/* ---- aggregate read stats ------------------------------------------------- */
.fi-read { background: var(--color-surface-default); padding-block: var(--bdri-space-8); }
@media (min-width: 760px) { .fi-read { padding-block: var(--bdri-space-9); } }
.fi-stats { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--bdri-space-4); }
.fi-stat {
  background: var(--color-surface-subtle); border: var(--bw-divider) solid var(--color-border-subtle);
  border-top: var(--bw-accent) solid var(--color-accent-primary);
  border-radius: var(--radius-card); padding: var(--bdri-space-6);
}
.fi-stat__n { font-family: var(--bdri-text-display-family); font-size: clamp(2.5rem, 5vw, 3.5rem); font-weight: var(--bdri-text-display-weight); line-height: 1; letter-spacing: var(--bdri-track-tight); color: var(--color-text-default); }
.fi-stat__l { margin-top: var(--bdri-space-3); font-size: var(--bdri-size-body-lg); font-weight: var(--bdri-weight-semibold); line-height: var(--bdri-lh-snug); }
.fi-stat__d { margin-top: var(--bdri-space-2); font-size: var(--bdri-size-small); color: var(--color-text-muted); line-height: var(--bdri-lh-relaxed); }
@media (min-width: 760px) { .fi-stats { grid-template-columns: repeat(3, minmax(0,1fr)); } }

/* ---- programs ------------------------------------------------------------- */
.fi-programs { background: var(--color-surface-subtle); border-block: var(--bw-divider) solid var(--color-border-subtle); padding-block: var(--bdri-space-8); }
@media (min-width: 760px) { .fi-programs { padding-block: var(--bdri-space-9); } }
.fi-prog-grid { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--bdri-space-4); }
.fi-prog {
  display: grid; grid-template-columns: auto 1fr; gap: var(--bdri-space-4); align-items: start;
  background: var(--color-surface-default); border: var(--bw-divider) solid var(--color-border-subtle);
  border-radius: var(--radius-card); padding: var(--bdri-space-6);
}
.fi-prog__num { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-pill); background: var(--color-accent-graphic); color: var(--color-text-default); font-family: var(--bdri-font-mono); font-size: var(--bdri-size-small); font-weight: var(--bdri-weight-semibold); grid-row: 1 / span 3; }
.fi-prog__head { font-family: var(--bdri-text-h3-family); font-size: var(--bdri-size-body-lg); font-weight: var(--bdri-weight-semibold); line-height: var(--bdri-lh-snug); }
.fi-prog__goal { margin-top: var(--bdri-space-2); font-weight: var(--bdri-weight-semibold); color: var(--color-accent-primary); font-size: var(--bdri-size-small); }
.fi-prog__mech { margin-top: var(--bdri-space-2); color: var(--color-text-subtle); line-height: var(--bdri-lh-relaxed); font-size: var(--bdri-size-small); }
@media (min-width: 860px) { .fi-prog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--bdri-space-5); } }

/* ---- soft-line CTA (dark) ------------------------------------------------- */
.fi-cta {
  position: relative; overflow: hidden;
  background:
    radial-gradient(90% 120% at 8% 100%, color-mix(in srgb, var(--color-accent-primary) 16%, transparent) 0%, transparent 60%),
    var(--color-surface-default);
  border-top: var(--bw-accent) solid var(--color-accent-primary);
}
.fi-cta__inner { display: grid; gap: var(--bdri-space-6); padding-block: var(--bdri-space-8); align-items: center; }
.fi-cta__title { font-family: var(--bdri-text-h2-family); font-size: var(--bdri-text-h2-size); font-weight: var(--bdri-text-h2-weight); line-height: var(--bdri-text-h2-lh); letter-spacing: var(--bdri-text-h2-tracking); margin-block: var(--bdri-space-3) var(--bdri-space-4); text-wrap: balance; }
.fi-cta__body { color: var(--color-text-subtle); font-size: var(--bdri-size-body-lg); line-height: var(--bdri-lh-loose); max-width: var(--measure-narrow); }
.fi-cta__actions { display: flex; flex-wrap: wrap; gap: var(--bdri-space-3); }
@media (min-width: 860px) { .fi-cta__inner { grid-template-columns: minmax(0,1fr) auto; gap: var(--bdri-space-8); padding-block: var(--bdri-space-9); } }

@media (max-width: 640px) { .section-title, .fi-cta__title { font-size: var(--bdri-size-h3); } }
