:root{
  --ts-grad-1: linear-gradient(135deg,#7c3aed 0%, #06b6d4 100%);
  --ts-grad-2: linear-gradient(135deg,#ef4444 0%, #f59e0b 100%);
  --ts-grad-3: linear-gradient(135deg,#22c55e 0%, #3b82f6 100%);
  --ts-grad-4: linear-gradient(135deg,#f43f5e 0%, #8b5cf6 100%);
  --ts-grad-muted: linear-gradient(135deg,#f8fafc 0%, #eef2ff 100%);
  --ts-card-bg: rgba(255,255,255,0.7);
  --ts-shadow: 0 10px 30px rgba(17,24,39,0.12);
}
.ts-gradient-1{ background-image: var(--ts-grad-1); color: #fff; }
.ts-gradient-2{ background-image: var(--ts-grad-2); color: #111827; }
.ts-gradient-3{ background-image: var(--ts-grad-3); color: #fff; }
.ts-gradient-muted{ background-image: var(--ts-grad-muted); }
.ts-section{ padding: 60px 0; border-radius: 24px; }
.reveal{ opacity:0; transform: translateY(20px); transition: all .8s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible{ opacity:1; transform:none; }
.reveal-up{ opacity:0; transform: translateY(24px); }
.reveal-left{ opacity:0; transform: translateX(-40px); }
.reveal-right{ opacity:0; transform: translateX(40px); }
.reveal-up.is-visible,
.reveal-left.is-visible,
.reveal-right.is-visible{ opacity:1; transform:none; }
a.wp-element-button.ts-btn-gradient{
  background-image: var(--ts-grad-4);
  color: #fff !important;
  box-shadow: var(--ts-shadow);
  border-radius: 14px;
  transition: transform .2s ease, box-shadow .2s ease;
}
a.wp-element-button.ts-btn-gradient:hover{ transform: translateY(-2px); box-shadow: 0 16px 40px rgba(17,24,39,.18); }
.ts-card{
  background: var(--ts-card-bg);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: 20px;
  padding: 20px;
  box-shadow: var(--ts-shadow);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ts-card:hover{ transform: translateY(-6px); box-shadow: 0 20px 44px rgba(17,24,39,.18); }
.ts-slider{
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 16px;
  padding-bottom: 10px;
}
.ts-slide{ min-width: 80%; scroll-snap-align: center; }
.ts-slider::-webkit-scrollbar{ height:8px; }
.ts-slider::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:10px; }
.ts-slider-controls{ display:flex; gap:12px; justify-content:center; margin-top:12px; }
.ts-slider-btn{
  border:1px solid #e5e7eb;
  background:#fff;
  border-radius:12px;
  padding:8px 14px;
  cursor:pointer;
  box-shadow: var(--ts-shadow);
}