/* ============================================
   HOME CTA (mini hero)
============================================ */
.home-cta {
  position: relative;
  background: #c6b7e2; /* same lilac as hero */
  padding: 3rem 1.5rem;
  margin: 2rem auto;
  text-align: center;
  overflow: visible;
}

.home-cta h3 {
  position: relative;
  z-index: 2;
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  color: #4b3f5c;
}

  display: block;
  width: 50px;
  height: 3px;
  margin: 0.5rem auto 0;
  background: linear-gradient(90deg, #dbc8a9 25%, rgba(219,200,169,0) 50%, #dbc8a9 75%);
  background-size: 200% 100%;
  animation: slideLine 2s linear infinite;
  border-radius: 2px;
}

@keyframes slideLine {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.cta-tab {
  position: relative;
  display: inline-block;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  color: #5f5648;
  background-color: #f2ede4; /* fallback color */
  padding: 0.65rem 1.5rem;
  border-radius: 999px;
  overflow: hidden;       /* ensures animation stays inside button */
  transition: transform 0.2s ease;
  background-image: linear-gradient(
    90deg,
    #dbc8a9 20%,
    #f2ede4 40%,
    #dbc8a9 60%
  );
  background-size: 200% 100%;
  animation: moveGradient 3s linear infinite;
}

.cta-tab:hover {
  transform: translateY(-1px);
background-image: none;
  background-color: #dbc8a9; /* matches top tabs hover color */

}

@keyframes moveGradient {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ============================================
   FOOTER
============================================ */
footer {
  text-align: center;
  padding: 1rem;
  font-size: 0.9rem;
  color: #666;
}