.line-clamp-2, .line-clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-2 { -webkit-line-clamp: 2; }
.line-clamp-3 { -webkit-line-clamp: 3; }

@keyframes slide-in {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
.animate-slide-in { animation: slide-in 0.35s ease-out; }

/* Paleta Gato.IA — ciano + roxo + navy (logo) */
.gamma-hero {
  padding: 2rem;
  border-radius: 1.25rem;
  background: linear-gradient(135deg, #ecfeff 0%, #e9d5ff 45%, #cffafe 100%);
  border: 1px solid rgba(0, 232, 255, 0.2);
}
.dark .gamma-hero {
  background: linear-gradient(135deg, #0a0f1f 0%, #1a1035 50%, #12182e 100%);
  border-color: rgba(147, 51, 234, 0.35);
  box-shadow: 0 0 40px rgba(0, 232, 255, 0.08);
}

.gamma-card {
  display: block;
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid #e7e5e4;
  background: #fff;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.dark .gamma-card {
  background: #12182e;
  border-color: #2a3350;
}
.gamma-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(0, 232, 255, 0.18);
  border-color: #00e8ff;
}

.gamma-slide {
  margin-bottom: 1.5rem;
  padding: 1.75rem 2rem;
  border-radius: 1rem;
  background: #fff;
  border-left: 4px solid #00e8ff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}
.dark .gamma-slide {
  background: #12182e;
  border-left-color: #9333ea;
  box-shadow: 0 4px 24px rgba(0, 232, 255, 0.06);
}
.gamma-slide-text {
  line-height: 1.75;
  font-size: 1.05rem;
  color: #44403c;
}
.dark .gamma-slide-text { color: #cbd5e1; }

.gamma-chapter .gamma-hero h1 {
  color: #1c1917;
}
html.dark .gamma-chapter .gamma-hero h1 {
  color: #f5f5f4;
}
.gamma-chapter .gamma-slide-text {
  color: #44403c;
  line-height: 1.8;
}
html.dark .gamma-chapter .gamma-slide-text {
  color: #d6d3d1;
}

.brand-gradient {
  background: linear-gradient(135deg, #00e8ff 0%, #00b8d4 40%, #9333ea 100%);
}
.brand-gradient-text {
  background: linear-gradient(90deg, #00e8ff, #a855f7);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.landing-hero {
  background: linear-gradient(180deg, #ffffff 0%, #ecfeff 38%, #fafaf9 100%);
  color: #1c1917;
}
html.dark .landing-hero {
  background: linear-gradient(180deg, #0a0f1f 0%, #12182e 50%, #0a0f1f 100%);
  color: #f5f5f4;
}
html:not(.dark) .landing-hero h1,
html:not(.dark) .landing-hero h2 {
  color: #1c1917;
}
html:not(.dark) .landing-hero p {
  color: #44403c;
}
html:not(.dark) .landing-hero .text-stone-300 {
  color: #57534e;
}
html:not(.dark) .landing-hero .text-stone-400 {
  color: #57534e;
}
html:not(.dark) .landing-hero .text-stone-500 {
  color: #78716c;
}
html:not(.dark) .landing-hero .text-stone-600 {
  color: #57534e;
}
html:not(.dark) .landing-hero .text-gato-400 {
  color: #0e7490;
}
html:not(.dark) .landing-hero .qz-plan-card,
html:not(.dark) .landing-hero .bg-felino-800\/80 {
  background: #ffffff !important;
  border-color: #d6d3d1 !important;
  color: #292524;
}

.btn-primary {
  background: linear-gradient(135deg, #00e8ff, #00b8d4);
  color: #0a0f1f;
  font-weight: 600;
  transition: box-shadow 0.2s, transform 0.15s;
}
.btn-primary:hover {
  box-shadow: 0 0 24px rgba(0, 232, 255, 0.45);
  transform: translateY(-1px);
}