/* V44.1.1 service-ecosystem CTA readability and interaction refinement. */
.ecosystem-copy a,
.ecosystem-copy button {
  position: relative;
  overflow: hidden;
  min-height: 50px;
  margin: 0 -10px;
  padding: 15px 12px 10px;
  border-radius: 10px;
  font-size: clamp(16px, 1.05vw, 18px);
  font-weight: 800;
  letter-spacing: .025em;
  text-shadow: 0 1px 0 rgba(255,255,255,.72);
  transition: transform .22s ease, color .22s ease, background .22s ease, box-shadow .22s ease, text-shadow .22s ease;
}

.ecosystem-copy a::before,
.ecosystem-copy button::before {
  content: "";
  position: absolute;
  inset: 1px auto 1px -38%;
  width: 27%;
  pointer-events: none;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
  opacity: 0;
}

.ecosystem-copy a:hover,
.ecosystem-copy button:hover,
.ecosystem-copy a:focus-visible,
.ecosystem-copy button:focus-visible {
  color: #6f211f;
  background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(201,151,84,.18));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(113,54,36,.14), 0 9px 18px rgba(76,43,25,.15);
  text-shadow: 0 1px 0 #fff, 0 5px 12px rgba(111,33,31,.2);
  transform: translateY(-3px);
  outline: none;
}

.ecosystem-copy a:hover::before,
.ecosystem-copy button:hover::before,
.ecosystem-copy a:focus-visible::before,
.ecosystem-copy button:focus-visible::before {
  opacity: 1;
  animation: ecosystemCtaShine .72s ease forwards;
}

.ecosystem-copy a b,
.ecosystem-copy button b {
  transition: transform .22s ease;
}

.ecosystem-copy a:hover b,
.ecosystem-copy button:hover b,
.ecosystem-copy a:focus-visible b,
.ecosystem-copy button:focus-visible b {
  transform: translate(3px,-2px) scale(1.08);
}

.ecosystem-copy a:active,
.ecosystem-copy button:active {
  transform: translateY(0) scale(.985);
  box-shadow: inset 0 3px 8px rgba(76,43,25,.16);
}

.ecosystem-ai .ecosystem-copy a {
  text-shadow: 0 1px 0 rgba(0,0,0,.46);
}

.ecosystem-ai .ecosystem-copy a:hover,
.ecosystem-ai .ecosystem-copy a:focus-visible {
  color: #ffe1a0;
  background: linear-gradient(135deg, rgba(225,184,111,.17), rgba(255,255,255,.045));
  box-shadow: inset 0 1px 0 rgba(255,225,160,.22), 0 10px 24px rgba(0,0,0,.25);
  text-shadow: 0 0 12px rgba(255,205,112,.38);
}

@keyframes ecosystemCtaShine {
  from { left: -38%; }
  to { left: 118%; }
}

@media (hover: none) {
  .ecosystem-copy a,
  .ecosystem-copy button {
    background: linear-gradient(135deg, rgba(255,255,255,.52), rgba(201,151,84,.1));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 5px 12px rgba(76,43,25,.1);
  }
  .ecosystem-ai .ecosystem-copy a {
    background: linear-gradient(135deg, rgba(225,184,111,.12), rgba(255,255,255,.03));
  }
}

@media (prefers-reduced-motion: reduce) {
  .ecosystem-copy a,
  .ecosystem-copy button,
  .ecosystem-copy a b,
  .ecosystem-copy button b {
    transition: none;
  }
  .ecosystem-copy a::before,
  .ecosystem-copy button::before {
    display: none;
  }
}

@media (max-width: 640px) {
  .ecosystem-copy a,
  .ecosystem-copy button {
    min-height: 48px;
    font-size: 16px;
  }
}
