/* Rice Counters — scoped styles */
:where(.stats-section){
  --bg: #f7fbf5;
  --card: #ffffff;
  --text: #143016;
  --muted: #5a7a5d;
  --ring-track: #e7efe4;
  --ring-grad-1: #7ac46b;
  --ring-grad-2: #d7b15e;
  --shadow: 0 10px 30px rgba(20,48,22,.08);
  --radius: 18px;
}

.stats-section{
  padding: clamp(28px, 6vw, 72px) clamp(16px, 5vw, 48px);
  background:
    radial-gradient(1200px 800px at 20% -10%, #eaf5e7 0%, transparent 60%),
    radial-gradient(1000px 700px at 120% 10%, #fff6df 0%, transparent 60%),
    var(--bg);
  color: var(--text);
}

.stats-wrap{ max-width: 1200px; margin: 0 auto; }
.stats-header{ text-align:center; color:var(--text); margin-bottom: clamp(22px, 3vw, 32px); }
.stats-header h2{ font-size: clamp(24px, 4.2vw, 40px); line-height:1.15; margin:0 0 8px; letter-spacing:.3px; }
.stats-header p{ margin:0; color:var(--muted); font-size: clamp(14px, 2.1vw, 18px); }

.stats-grid{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2.5vw, 24px); }
@media (max-width: 900px){ .stats-grid{ grid-template-columns: 1fr; } }

.stat-card{
  position:relative; overflow:hidden; border-radius: var(--radius);
  background: linear-gradient(180deg, #ffffff, #fbfef9);
  box-shadow: var(--shadow);
  padding: clamp(18px, 2.5vw, 26px);
  display:flex; align-items:center; gap: clamp(16px, 2.5vw, 24px); isolation:isolate;
}
.stat-card::after{
  content:""; position:absolute; inset:-40% -40% auto auto; width:280px; height:280px; border-radius:50%;
  background: radial-gradient(closest-side, rgba(215,177,94,.18), transparent 62%);
  filter: blur(10px); z-index:0; transform: translate3d(0,0,0);
  animation: rc_drift 10s ease-in-out infinite alternate;
}
@keyframes rc_drift{ from{ transform:translateY(-8px)} to{ transform:translateY(8px)} }

.ring-wrap{ position:relative; width: 120px; height: 120px; flex: 0 0 120px; }
@media (max-width: 420px){ .ring-wrap{ width:96px; height:96px; flex-basis:96px; } }

.ring{ width:100%; height:100%; transform: rotate(-90deg); }
.ring circle{ fill:none; stroke-linecap: round; }
.ring-bg{ stroke: var(--ring-track); stroke-width: 12; }
.ring-progress{ stroke-width: 12; stroke-dasharray: 339.292; stroke-dashoffset: 339.292; filter: drop-shadow(0 2px 6px rgba(122,196,107,.25)); }

.stat-body{ position:relative; z-index:1; color:var(--text); }
.stat-number{ font-weight: 800; letter-spacing:.2px; font-size: clamp(28px, 6vw, 44px); line-height: 1; display:flex; align-items: baseline; gap:6px; }
.stat-number .suffix{ font-size: .6em; color: var(--muted); margin-left: 2px; }
.stat-label{ margin-top: 8px; font-size: clamp(14px, 2.3vw, 18px); color: var(--muted); }

@media (prefers-reduced-motion: reduce) {
  .stat-card::after{ animation: none; }
  .ring-progress{ transition: none !important; }
}
