/* 03｜首頁 AI 標誌環繞動效 */

/* Four AI service labels orbit clockwise, then converge into the center logo.
   Page-scoped to Elementor page 66 and the AI visual shown in the supplied screenshot. */
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea {
  --ai-orbit-radius: clamp(112px, 25vw, 176px);
  --ai-orbit-diagonal: clamp(79px, 17.7vw, 124px);
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}

/* The screenshot identifies 4940df19 as the service-label container. */
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Keep the uploaded logo still and above the moving labels. */
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-11b54825 {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 3 !important;
  transform: translate(-50%, -50%) !important;
}

:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor {
  --ai-orbit-delay: 0s;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  display: inline-flex !important;
  width: max-content !important;
  max-width: 42vw !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 5px 7px 8px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0;
  transform: translate(-50%, calc(-50% - var(--ai-orbit-radius))) scale(.82);
  animation: em-ai-orbit-to-logo 12s linear infinite;
  animation-delay: var(--ai-orbit-delay);
  pointer-events: none !important;
  white-space: nowrap;
}

:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(1) { --ai-orbit-delay: 0s; }
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(2) { --ai-orbit-delay: -3s; }
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(3) { --ai-orbit-delay: -6s; }
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(4) { --ai-orbit-delay: -9s; }

:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor p {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  color: #4d5964 !important;
  font-size: clamp(10px, .8vw, 12px) !important;
  font-weight: 500 !important;
  letter-spacing: .045em;
  line-height: 1.4 !important;
  white-space: nowrap;
  text-shadow: 0 0 12px rgba(230, 0, 18, .1);
}

/* A moving hairline and point make the words read as data in motion. */
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor::before {
  position: absolute;
  bottom: 2px;
  left: 15px;
  width: calc(100% - 20px);
  height: 1px;
  background: linear-gradient(90deg, rgba(230, 0, 18, .7), rgba(230, 0, 18, .18) 62%, transparent);
  content: "";
  opacity: .62;
  transform: scaleX(.48);
  transform-origin: left center;
  animation: em-ai-orbit-scan 2.8s ease-in-out infinite;
  animation-delay: var(--ai-orbit-delay);
}
:is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor::after {
  position: absolute;
  top: 50%;
  left: 2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--em-brand-red);
  box-shadow: 0 0 0 3px rgba(230, 0, 18, .08), 0 0 10px rgba(230, 0, 18, .26);
  content: "";
  transform: translateY(-50%);
}

@keyframes em-ai-orbit-to-logo {
  0% { opacity: 0; transform: translate(-50%, calc(-50% - var(--ai-orbit-radius))) scale(.82); }
  5% { opacity: .95; transform: translate(-50%, calc(-50% - var(--ai-orbit-radius))) scale(1); }
  12.5% { opacity: .95; transform: translate(calc(-50% + var(--ai-orbit-diagonal)), calc(-50% - var(--ai-orbit-diagonal))) scale(1); }
  25% { opacity: .92; transform: translate(calc(-50% + var(--ai-orbit-radius)), -50%) scale(.98); }
  37.5% { opacity: .9; transform: translate(calc(-50% + var(--ai-orbit-diagonal)), calc(-50% + var(--ai-orbit-diagonal))) scale(.96); }
  50% { opacity: .88; transform: translate(-50%, calc(-50% + var(--ai-orbit-radius))) scale(.94); }
  62.5% { opacity: .85; transform: translate(calc(-50% - var(--ai-orbit-diagonal)), calc(-50% + var(--ai-orbit-diagonal))) scale(.92); }
  75% { opacity: .82; transform: translate(calc(-50% - var(--ai-orbit-radius)), -50%) scale(.9); }
  82% { opacity: .78; transform: translate(calc(-50% - var(--ai-orbit-diagonal)), calc(-50% - var(--ai-orbit-diagonal))) scale(.84); }
  88% { opacity: .72; transform: translate(-50%, calc(-50% - 78px)) scale(.72); }
  94% { opacity: .18; transform: translate(-50%, -50%) scale(.35); filter: blur(1px); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(.18); filter: blur(2px); }
}

@keyframes em-ai-orbit-scan {
  0%, 22% { opacity: .22; transform: scaleX(.22); }
  58% { opacity: .85; transform: scaleX(1); }
  84%, 100% { opacity: .25; transform: scaleX(.35); }
}

@media (max-width: 767px) {
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea {
    --ai-orbit-radius: clamp(100px, 31vw, 128px);
    --ai-orbit-diagonal: clamp(71px, 22vw, 91px);
  }
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor {
    max-width: 44vw !important;
    padding-left: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor,
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor::before {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(1) { transform: translate(-50%, calc(-50% - var(--ai-orbit-radius))) !important; }
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(2) { transform: translate(calc(-50% + var(--ai-orbit-radius)), -50%) !important; }
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(3) { transform: translate(-50%, calc(-50% + var(--ai-orbit-radius))) !important; }
  :is(.elementor-66, body.em-design-home .site-content > .ast-container :is([data-elementor-type="wp-page"],[data-elementor-type="wp-post"])) .elementor-element-72a62bea > .elementor-element-4940df19 > .elementor-widget-text-editor:nth-of-type(4) { transform: translate(calc(-50% - var(--ai-orbit-radius)), -50%) !important; }
}

