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

.tc-section{
  padding: clamp(28px,6vw,72px) clamp(16px,5vw,48px);
  background:
    radial-gradient(1000px 700px at 120% 0%, #fff6df 0%, transparent 60%),
    radial-gradient(1200px 800px at -10% 10%, #eaf5e7 0%, transparent 60%),
    var(--bg);
  color: var(--text);
}
.tc-wrap{max-width:1100px;margin:0 auto}
.tc-head{ text-align:center; margin-bottom: clamp(18px,3vw,28px)}
.tc-head h2{ margin:0 0 8px; font-size: clamp(22px,4.5vw,36px); letter-spacing:.2px }
.tc-head p{ margin:0; color:var(--muted) }

.tc-viewport{ position:relative; overflow:hidden; border-radius: var(--radius); }
.tc-track{ display:flex; transition: transform .6s cubic-bezier(.22,.61,.36,1); will-change: transform; touch-action: pan-y; }
.tc-slide{ flex: 0 0 100%; padding: clamp(10px,2.2vw,16px) }
.t-card{
  height:100%; display:grid; grid-template-columns: 84px 1fr; gap:14px;
  background: linear-gradient(180deg,#fff,#fbfef9);
  border: 1px solid #eef2ea; border-radius: var(--radius); box-shadow: var(--shadow);
  padding: clamp(16px,2.5vw,22px); position:relative; overflow:hidden; isolation:isolate;
}
.t-card::after{
  content:""; position:absolute; inset:auto -30% -30% auto; width:240px; height:240px; border-radius:50%;
  background: radial-gradient(closest-side, rgba(215,177,94,.16), transparent 60%); filter: blur(8px);
  z-index:0; transform: translate3d(0,0,0); animation: tc_drift 10s ease-in-out infinite alternate;
}
@keyframes tc_drift{ from{ transform:translateY(-6px)} to{ transform:translateY(6px)} }

.avatar{ width:84px; height:84px; border-radius:50%; display:block; border:2px solid #f0f5ee; box-shadow: 0 6px 16px rgba(0,0,0,.06) }
.t-body{ z-index:1 }
.quote{ margin:0 0 10px; color:#1b361e; font-size: clamp(15px,2.2vw,18px); line-height:1.5 }
.who{ color:#2a472e; font-weight:800; display:flex; flex-wrap:wrap; gap:8px; align-items:center }
.who small{ color:var(--muted); font-weight:600 }
.stars{ display:inline-flex; gap:3px; margin-left:auto }
.stars svg{ width:16px; height:16px; fill:#f5b301 }

.tc-nav{
  position:absolute; top:50%; transform: translateY(-50%);
  width:42px; height:42px; border-radius:50%; border:0; cursor:pointer;
  display:grid; place-items:center; color:#fff;
  background: linear-gradient(135deg, var(--ring-grad-1), var(--ring-grad-2));
  box-shadow: 0 10px 22px rgba(122,196,107,.35);
}
.tc-nav[disabled]{opacity:.5; cursor:not-allowed}
.tc-nav.prev{ left:10px }
.tc-nav.next{ right:10px }
.tc-nav svg{ width:18px; height:18px; }

.tc-dots{ display:flex; gap:8px; justify-content:center; margin-top:12px }
.tc-dot{ width:8px; height:8px; border-radius:50%; background:#cfe1ca; border:0; cursor:pointer; }
.tc-dot[aria-selected="true"]{ background: linear-gradient(90deg,var(--ring-grad-1),var(--ring-grad-2)) }

@media (prefers-reduced-motion: reduce){
  .tc-track{ transition: none }
  .t-card::after{ animation: none }
}
