/* Elevate design tokens — shared across all pages */
:root {
  --elev-radius-sm: 8px;
  --elev-radius-md: 12px;
  --elev-radius-lg: 16px;
  --elev-radius-xl: 20px;

  --elev-shadow-sm: 0 4px 14px rgba(7, 24, 63, 0.06);
  --elev-shadow-md: 0 10px 30px rgba(7, 24, 63, 0.1);
  --elev-shadow-lg: 0 18px 48px rgba(7, 24, 63, 0.14);
  --elev-shadow-hover: 0 14px 36px rgba(8, 117, 233, 0.14);

  --elev-space-section: 80px;
  --elev-space-section-sm: 56px;

  --elev-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --elev-ease-in-out: cubic-bezier(0.45, 0, 0.15, 1);
  --elev-duration-fast: 0.2s;
  --elev-duration-med: 0.35s;

  --elev-focus-ring: 0 0 0 3px rgba(8, 117, 233, 0.35);
  --elev-focus-ring-offset: 0 0 0 2px #fff, 0 0 0 5px rgba(8, 117, 233, 0.4);
}

/* Token mapping — high-traffic shared components */
.custom-btn,
.custom-outline-btn,
.cta-btn,
.green-btn,
.green-outline-btn,
.nav-btn {
  border-radius: var(--elev-radius-md);
  transition:
    transform var(--elev-duration-fast) var(--elev-ease-out),
    box-shadow var(--elev-duration-fast) var(--elev-ease-out),
    background-color var(--elev-duration-fast) var(--elev-ease-out),
    color var(--elev-duration-fast) var(--elev-ease-out),
    border-color var(--elev-duration-fast) var(--elev-ease-out);
}

.service-card,
.compact-card,
.large-card,
.stats-card,
.logo-card {
  border-radius: var(--elev-radius-lg);
  box-shadow: var(--elev-shadow-sm);
  transition:
    transform var(--elev-duration-med) var(--elev-ease-out),
    box-shadow var(--elev-duration-med) var(--elev-ease-out);
}

.section-heading {
  margin-bottom: 2.5rem;
}

.final-cta,
.consult-cta,
.enp-cta-section,
.volpg-cta-section,
.crmnp-cta-section,
.brdnp-cta-section,
.grantnp-bottom-cta,
.dnrpg-donor-cta-section {
  border-radius: var(--elev-radius-xl);
}
