.metrics-section {
  position: relative;
  padding: 120px 0 112px;
  overflow: hidden;
  background: linear-gradient(180deg, #f8fbff 0%, #edf6ff 100%);
  color: #17233b;
}

.metrics-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(48% 80% at 50% 0%, rgba(125, 190, 255, .2), transparent 72%);
}

.metrics-wrap {
  position: relative;
  width: min(1180px, calc(100% - 64px));
  margin: 0 auto;
}

.metrics-header {
  max-width: 660px;
  margin-bottom: 42px;
}

.metrics-kicker {
  margin: 0 0 14px;
  color: #1769e8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.metrics-header h2 {
  margin: 0 0 18px;
  font-family: Manrope, sans-serif;
  font-size: clamp(40px, 5vw, 68px);
  line-height: .98;
  letter-spacing: -.065em;
}

.metrics-header p {
  max-width: 560px;
  margin: 0;
  color: #687d98;
  font-size: 17px;
  line-height: 1.55;
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.metric-card {
  min-width: 0;
  padding: 28px 28px 22px;
  border: 1px solid rgba(176, 205, 233, .82);
  border-radius: 22px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 16px 42px rgba(39, 102, 183, .08), inset 0 1px 0 rgba(255, 255, 255, .9);
  backdrop-filter: blur(12px);
}

.metric-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.metric-card h3 {
  max-width: 190px;
  margin: 0;
  color: #243b5d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.metric-trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: none;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(23, 105, 232, .2);
  border-radius: 999px;
  color: #1769e8;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.metric-card-down .metric-trend {
  color: #187c69;
  border-color: rgba(37, 137, 104, .22);
  background: rgba(37, 137, 104, .06);
}

.metric-value {
  margin-top: 28px;
  color: #10264a;
  font-family: Manrope, sans-serif;
  font-size: clamp(42px, 5vw, 64px);
  font-weight: 800;
  letter-spacing: -.075em;
  line-height: .9;
}

.metric-value span {
  margin-left: 5px;
  color: #6d83a2;
  font-family: Onest, sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: -.02em;
}

.metric-note {
  min-height: 38px;
  margin: 12px 0 22px;
  color: #6d83a2;
  font-size: 12px;
  line-height: 1.45;
}

.metric-chart {
  height: 120px;
  padding-top: 14px;
  border-top: 1px solid rgba(176, 205, 233, .52);
}

.metric-chart-svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.metric-grid-line {
  stroke: rgba(109, 131, 162, .2);
  stroke-dasharray: 3 6;
  stroke-width: 1;
}

.metric-area {
  fill: rgba(23, 105, 232, .1);
  opacity: 0;
  transform-origin: center bottom;
}

.metric-card-down .metric-area {
  fill: rgba(37, 137, 104, .12);
}

.metric-line {
  fill: none;
  stroke: #1769e8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  stroke-dasharray: 420;
  stroke-dashoffset: 420;
}

.metric-card-down .metric-line {
  stroke: #258968;
}

.metric-point {
  fill: #fff;
  stroke: #1769e8;
  stroke-width: 3;
  opacity: 0;
}

.metric-card-down .metric-point {
  stroke: #258968;
}

.metrics-section.is-visible .metric-line {
  animation: metricsLineDraw 1.35s cubic-bezier(.22, .61, .36, 1) forwards;
}

.metrics-section.is-visible .metric-area {
  animation: metricsAreaRise .85s ease-out .2s forwards;
}

.metrics-section.is-visible .metric-point {
  animation: metricsPointIn .35s ease-out 1.1s forwards;
}

.metrics-footnote {
  margin: 22px 0 0;
  color: #7890ad;
  font-size: 11px;
}

@keyframes metricsLineDraw {
  to { stroke-dashoffset: 0; }
}

@keyframes metricsAreaRise {
  from { opacity: 0; transform: scaleY(.1); }
  to { opacity: 1; transform: scaleY(1); }
}

@keyframes metricsPointIn {
  from { opacity: 0; transform: scale(.5); transform-origin: center; }
  to { opacity: 1; transform: scale(1); transform-origin: center; }
}

@media (max-width: 850px) {
  .metrics-section { padding: 88px 0 84px; }
  .metrics-wrap { width: min(100% - 40px, 680px); }
  .metrics-grid { grid-template-columns: 1fr; gap: 14px; }
  .metric-card { padding: 24px 22px 20px; }
  .metric-card h3 { max-width: none; }
  .metric-note { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .metrics-section.is-visible .metric-line,
  .metrics-section.is-visible .metric-area,
  .metrics-section.is-visible .metric-point {
    animation: none;
  }

  .metric-line { stroke-dashoffset: 0; }
  .metric-area, .metric-point { opacity: 1; }
}

/* Metrics refresh: editorial hierarchy, luminous glass cards, and clearer data framing. */
.metrics-section {
  padding: 132px 0 118px;
  isolation: isolate;
  background: radial-gradient(55% 75% at 10% 0%, rgba(104, 166, 255, .52), transparent 72%), radial-gradient(45% 70% at 92% 100%, rgba(83, 202, 173, .2), transparent 70%), linear-gradient(135deg, #d5e7fc 0%, #f5faff 50%, #e1f2ef 100%);
}

.metrics-section::before {
  z-index: -2;
  opacity: .32;
  background-image: linear-gradient(rgba(74, 126, 192, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(74, 126, 192, .07) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

.metrics-section::after {
  z-index: -1;
  top: -180px;
  right: -130px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(84, 157, 255, .2), rgba(84, 157, 255, 0) 68%);
  filter: blur(8px);
}

.metrics-wrap { width: min(1240px, calc(100% - 64px)); }

.metrics-header {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .72fr);
  align-items: end;
  max-width: 980px;
  gap: 72px;
  margin-bottom: 48px;
}

.metrics-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 18px;
  color: #1a6ee8;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.metrics-kicker::before { content: ""; width: 24px; height: 1px; background: currentColor; opacity: .55; }

.metrics-header h2 {
  max-width: 620px;
  margin: 0;
  color: #122a52;
  font-size: clamp(44px, 6vw, 76px);
  line-height: .96;
  letter-spacing: -.072em;
}

.metrics-header p { max-width: 420px; margin: 0 0 4px; color: #60799c; font-size: 16px; line-height: 1.62; }
.metrics-header .metrics-kicker { max-width: none; margin: 0 0 18px; color: #1a6ee8; font-size: 11px; line-height: 1; }
.metrics-header .metrics-kicker { display: none; }
.metrics-grid { gap: 18px; }

.metric-card {
  min-height: 426px;
  padding: 28px 28px 24px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .88);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .64), rgba(236, 245, 255, .34) 55%, rgba(255, 255, 255, .48));
  box-shadow: 0 24px 58px rgba(44, 104, 177, .16), inset 0 1px 0 rgba(255, 255, 255, .98), inset 0 -1px 0 rgba(155, 195, 235, .22);
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.metric-card::before { height: 2px; background: linear-gradient(90deg, rgba(30, 115, 238, .95), rgba(115, 183, 255, .34)); }
.metric-card::after { right: -76px; bottom: -112px; width: 230px; height: 230px; background: radial-gradient(circle, rgba(67, 139, 239, .22), transparent 68%); }
.metric-card:hover, .metric-card:focus-within { transform: translateY(-7px); border-color: rgba(104, 177, 255, .92); box-shadow: 0 30px 72px rgba(44, 104, 177, .23), inset 0 1px 0 #fff; }
.metric-card-down::before { background: linear-gradient(90deg, #258d77, #66c5a9); }
.metric-card-down::after { background: radial-gradient(circle, rgba(37, 141, 119, .16), transparent 68%); }

.metric-card-index { display: block; margin-bottom: 24px; color: #88a3c4; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.metric-card h3 { max-width: 205px; color: #203d67; font-weight: 700; }
.metric-trend { border-color: rgba(255, 255, 255, .9); background: rgba(255, 255, 255, .42); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75); }
.metric-card-down .metric-trend { border-color: rgba(255, 255, 255, .86); background: rgba(229, 250, 243, .5); }
.metric-value { margin-top: 34px; color: #102d59; font-size: clamp(52px, 5.2vw, 72px); }
.metric-value span { color: #6b86aa; font-size: 18px; }
.metric-note { margin: 14px 0 24px; color: #6b86aa; }
.metric-chart { height: 128px; padding-top: 15px; border-top-color: rgba(255, 255, 255, .68); }
.metric-grid-line { stroke: rgba(109, 139, 177, .2); stroke-dasharray: 3 7; }
.metric-line { stroke-width: 3.2; }

.metrics-section.is-visible .metric-card { animation: metricsCardIn .65s cubic-bezier(.22, .61, .36, 1); }
.metrics-section.is-visible .metric-card:nth-child(2) { animation-delay: .08s; }
.metrics-section.is-visible .metric-card:nth-child(3) { animation-delay: .16s; }

@keyframes metricsCardIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.metrics-footnote { display: flex; align-items: center; gap: 8px; color: #7892b3; }
.metrics-footnote::before { content: ""; width: 7px; height: 7px; border: 1px solid #75a7dd; border-radius: 50%; box-shadow: 0 0 0 3px rgba(117, 167, 221, .12); }

@media (max-width: 950px) {
  .metrics-header { grid-template-columns: 1fr; gap: 18px; }
  .metrics-header p { max-width: 560px; }
  .metrics-grid { grid-template-columns: 1fr; gap: 16px; }
  .metric-card { min-height: 0; }
  .metric-card h3 { max-width: none; }
}

@media (max-width: 850px) {
  .metrics-section { padding: 96px 0 88px; }
  .metrics-wrap { width: min(100% - 40px, 680px); }
  .metrics-header { margin-bottom: 34px; }
  .metric-card { padding: 25px 23px 21px; }
}

@media (max-width: 520px) {
  .metrics-section { padding: 82px 0 76px; }
  .metrics-wrap { width: calc(100% - 32px); }
  .metrics-header h2 { font-size: clamp(42px, 13vw, 60px); }
  .metrics-header p { font-size: 15px; }
  .metric-card-index { margin-bottom: 18px; }
  .metric-value { margin-top: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .metrics-section.is-visible .metric-card { animation: none; }
  .metric-card:hover, .metric-card:focus-within { transform: none; }
}
