/* Shared visual system for the four primary buyer-path service pages. */
.flagship-service-page {
  --flagship-accent: #69b7df;
  --flagship-accent-soft: rgba(105, 183, 223, 0.2);
}

.people-analytics-page { --flagship-accent: #6fb8e4; --flagship-accent-soft: rgba(111, 184, 228, 0.2); }
.customer-market-page { --flagship-accent: #69c9bd; --flagship-accent-soft: rgba(105, 201, 189, 0.2); }
.data-science-page { --flagship-accent: #9c9ee8; --flagship-accent-soft: rgba(156, 158, 232, 0.2); }
.ai-strategy-page { --flagship-accent: #e7a16f; --flagship-accent-soft: rgba(231, 161, 111, 0.2); }

.flagship-service-page .flagship-service-hero {
  min-height: clamp(500px, 60vh, 560px);
  margin: 24px 16px;
  padding: clamp(78px, 9vw, 96px) 20px clamp(68px, 8vw, 84px);
  opacity: 1 !important;
  transform: none !important;
  background:
    radial-gradient(680px 300px at 82% 28%, var(--flagship-accent-soft), transparent 68%),
    linear-gradient(135deg, #081929 0%, #0d2941 56%, #12384d 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 18px 44px rgba(13, 27, 42, 0.14);
}

.flagship-service-page .flagship-service-hero::before {
  height: 38%;
  background: linear-gradient(180deg, rgba(3, 13, 24, 0.28), transparent);
}

.flagship-service-page .flagship-service-hero .hero-content {
  width: min(100%, 920px);
  max-width: 920px;
}

/* Critical service context must render on the first frame and without JS. */
.flagship-service-page .flagship-service-hero,
.flagship-service-page .flagship-service-hero .hero-content,
.flagship-service-page .flagship-service-hero .hero-content > *,
.flagship-service-page .flagship-service-hero [data-fade] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
}

.flagship-service-page .flagship-service-hero h1 {
  max-width: 880px;
  margin: 0 auto 0.65rem;
  color: #fff;
  background: none;
  -webkit-text-fill-color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.25);
}

.flagship-service-page .flagship-service-hero .tagline {
  max-width: 760px;
  margin: 0 auto 1.55rem;
  color: #e4edf4;
}

.flagship-service-eyebrow {
  margin: 0 auto 0.75rem !important;
  color: var(--flagship-accent) !important;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.flagship-service-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.flagship-service-page .flagship-service-hero .cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.75rem 1.35rem;
  color: #0b2d4f;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.9);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.14);
}

.flagship-service-page .flagship-service-hero .cta-button:hover,
.flagship-service-page .flagship-service-hero .cta-button:focus-visible {
  color: #071a2c;
  background: #f3f8fb;
  border-color: var(--flagship-accent);
}

.flagship-service-page .flagship-service-hero .cta-button::before,
.flagship-service-page .flagship-service-hero .cta-button::after {
  display: none;
}

.flagship-service-page .flagship-service-hero .flagship-service-secondary {
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: none;
}

.flagship-service-page .flagship-service-hero .flagship-service-secondary:hover,
.flagship-service-page .flagship-service-hero .flagship-service-secondary:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, 0.13);
}

@media (max-width: 768px) {
  .flagship-service-page .flagship-service-hero {
    min-height: 500px;
    margin: 16px 10px 22px;
    padding: 68px 16px 58px;
  }

  .flagship-service-page .flagship-service-hero .hero-content {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .flagship-service-page .flagship-service-hero {
    min-height: 540px;
    padding: 58px 16px 50px;
  }

  .flagship-service-actions {
    width: 100%;
    flex-direction: column;
  }

  .flagship-service-page .flagship-service-hero .cta-button {
    width: 100%;
    box-sizing: border-box;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .flagship-service-page .flagship-service-hero,
  .flagship-service-page .flagship-service-hero * {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}
