/* TLC CTA banner */
.tlc-cta {
  position: relative;
  overflow: hidden;
  background: var(--tlc-navy);
  padding: 6rem 1.5rem;
}
.tlc-cta__inner { position: relative; z-index: 1; margin: 0 auto; max-width: 48rem; text-align: center; }

.tlc-cta__heading {
  margin: 1.25rem 0 0;
  font-family: var(--tlc-font-display);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 500;
  color: var(--tlc-ivory);
}
.tlc-cta__word { display: inline-block; margin-right: 0.28em; }
.tlc-cta__word:last-child { margin-right: 0; }

.tlc-cta__rule {
  margin: 1.75rem auto 0;
  height: 1px;
  max-width: 11.25rem;
  background: linear-gradient(to right, transparent, color-mix(in srgb, var(--tlc-brass) 40%, transparent), transparent);
  transform-origin: center;
}
.tlc-cta__rule.is-in {
  opacity: 1;
  animation: tlc-scalex 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}
@keyframes tlc-scalex { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.tlc-cta__body { margin: 1.5rem 0 0; font-size: 1rem; color: var(--tlc-fog); }

.tlc-cta__actions {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
@media (min-width: 640px) { .tlc-cta__actions { flex-direction: row; } }
.tlc-cta__actions .tlc-btn { padding: 1rem 2rem; }

.tlc-cta__phone { gap: 0.5rem; }
.tlc-cta__phone-icon { position: relative; z-index: 10; display: inline-flex; color: var(--tlc-ivory); }
.tlc-cta__phone:hover .tlc-cta__phone-icon { animation: tlc-wobble 0.4s ease; }
@keyframes tlc-wobble {
  0% { transform: rotate(0); }
  30% { transform: rotate(-14deg); }
  60% { transform: rotate(10deg); }
  100% { transform: rotate(0); }
}
