/**
 * Shared CTA and reveal behavior for service templates.
 */

.ai-service-cta {
  background: linear-gradient(180deg,var(--ai-color-white) 0%,#f6f7fa 100%);
  padding: 64px 0 88px;
}

.ai-service-cta__inner {
  align-items: center;
  background: linear-gradient(135deg,#182151 0%,#35308a 100%);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  box-shadow: 0 24px 55px rgba(25,33,81,.18);
  color: var(--ai-color-white);
  display: flex;
  justify-content: space-between;
  min-height: 215px;
  overflow: hidden;
  padding: 43px 50px;
  position: relative;
}

.ai-service-cta__inner::after {
  background: rgba(255,255,255,.055);
  border-radius: 50%;
  content: "";
  height: 300px;
  position: absolute;
  right: -95px;
  top: -165px;
  width: 300px;
}

.ai-service-cta .ai-eyebrow {
  color: #c8ceff;
  margin-bottom: 12px;
}

.ai-service-cta h2 {
  font-size: clamp(30px,3.15vw,43px);
  line-height: 1.08;
  margin: 0;
  max-width: 680px;
}

.ai-button {
  align-items: center;
  background: var(--ai-color-white);
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 99px;
  box-shadow: 0 10px 24px rgba(8,13,40,.2);
  color: var(--ai-blue);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: var(--ai-type-label-size);
  font-weight: 600;
  gap: 12px;
  padding: 15px 21px;
  text-decoration: none;
  transition: box-shadow .2s ease,transform .2s ease;
}

.ai-button:hover, .ai-button:focus-visible {
  box-shadow: 0 14px 30px rgba(8,13,40,.28);
  transform: translateY(-2px);
}

.ai-button .ai-icon {
  height: 18px;
  width: 18px;
}

.ai-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease,transform .7s ease;
}

.ai-reveal.is-visible {
  opacity: 1;
  transform: none;
}
