
* { box-sizing: border-box; font-family: 'Mont', 'Montserrat', sans-serif; margin: 0; padding: 0; }

.rh-cp-stat { width: 100%; background: #ffffff; }
.rh-cp-stat-wrap { max-width: 1600px; margin: 0 auto; padding: 56px 80px; }

.rh-cp-h2 { font-size: clamp(20px, 2.4vw, 28px); font-weight: 600; color: #262626; line-height: 1.2; border-top: 3px solid #BFD8B3; padding: 20px 0 0 0; margin: 0 0 24px 0; }
.rh-cp-p { font-size: 16px; font-weight: 600; color: #464646; line-height: 1.75; margin: 0 0 20px 0; display: block; max-width: 880px; }

.rh-cp-stat-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; margin: 28px 0 0; }
.rh-cp-stat-card { border-radius: 18px; padding: 0; overflow: hidden; border: 1px solid #ECECEC; }
.rh-cp-stat-head { padding: 26px 24px 22px; }
.rh-cp-stat-num { font-size: 34px; font-weight: 700; line-height: 1; display: block; }
.rh-cp-stat-title { font-size: 14px; font-weight: 600; display: block; margin: 8px 0 0 0; opacity: 0.85; }
.rh-cp-stat-body { background: #ffffff; padding: 22px 24px 24px; }
.rh-cp-stat-text { font-size: 13px; font-weight: 600; color: #585858; line-height: 1.6; display: block; }
.rh-cp-stat-source { font-size: 11px; font-weight: 600; display: block; margin: 14px 0 0 0; line-height: 1.5; }

.rh-tone-a .rh-cp-stat-head { background: #262626; }
.rh-tone-a .rh-cp-stat-num, .rh-tone-a .rh-cp-stat-title { color: #ffffff; }
.rh-tone-a .rh-cp-stat-source { color: #8aa17e; }

.rh-tone-b .rh-cp-stat-head { background: #DFECD9; }
.rh-tone-b .rh-cp-stat-num { color: #3f4f38; }
.rh-tone-b .rh-cp-stat-title { color: #4a5a43; }
.rh-tone-b .rh-cp-stat-source { color: #6f8a63; }

.rh-tone-c .rh-cp-stat-head { background: #BFD8B3; }
.rh-tone-c .rh-cp-stat-num { color: #2c3a26; }
.rh-tone-c .rh-cp-stat-title { color: #36452f; }
.rh-tone-c .rh-cp-stat-source { color: #5a7350; }

@media (max-width: 1180px) {
  .rh-cp-stat-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 960px) {
  .rh-cp-stat-wrap { padding-left: 40px; padding-right: 40px; }
}
@media (max-width: 600px) {
  .rh-cp-stat-wrap { padding: 40px 20px; }
  .rh-cp-stat-grid { grid-template-columns: 1fr; }
}
