/* Surface ownership is explicit in every lazy-load state. Only the four approved
   environments change; protected components keep their existing modules. */
body.home.ac-bidi .ac-solutions-section.elementor-element.e-con {
  background: var(--ac-home-surface-service) 0 0 / 100% 100% no-repeat !important;
}
/* The native left artwork used inherited background geometry. Decouple it from
   the new gradient without moving or stretching its original pixels. */
body.home.ac-bidi .ac-solutions-section.elementor-element.e-con::after {
  background-position: -76px 50%;
  background-size: auto;
  background-repeat: no-repeat;
}
/* A shared edge is painted only in the existing lower About space. */
body.home.ac-bidi .ac-about-section.elementor-element.e-con {
  background-image: linear-gradient(to bottom, transparent calc(100% - var(--ac-home-about-handoff)), var(--ac-home-process-edge));
}
body.home.ac-bidi .ac-about-panel.elementor-element.e-con {
  background: linear-gradient(to top, var(--ac-home-process-edge), transparent var(--ac-home-about-handoff)), var(--ac-home-surface-about) center / cover no-repeat !important;
}
/* A decoration-only child paints behind the existing process artwork. It cannot
   alter the shared Process/Works parent or the protected Works backdrop. */
body.home.ac-bidi .ac-process-section > .ac-home-process-ground {
  position: absolute;
  inset-block: calc(-1 * var(--ac-home-process-offset)) 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--ac-home-process-ending), var(--ac-home-process-starting), var(--ac-home-surface-process);
  pointer-events: none;
  z-index: -1;
}
body.home.ac-bidi .ac-process-section .ac-home-process-heading .prelements-heading .title {
  color: var(--ac-home-text-dark) !important;
}
body.home.ac-bidi .ac-process-section .ac-home-process-heading .prelements-heading .sub-text {
  color: var(--ac-home-brand-deep) !important;
}
body.home.ac-bidi .ac-process-section .ac-home-process-heading.elementor-element .prelements-heading .title-inner .sub-text svg,
body.home.ac-bidi .ac-process-section .ac-home-process-heading.elementor-element .prelements-heading .title-inner .sub-text svg path {
  fill: var(--ac-home-brand-deep) !important;
}
body.home.ac-bidi .ac-process-section .ac-home-process-wordmark .prelements-heading .title {
  color: transparent !important;
  -webkit-text-stroke-color: var(--ac-home-line-on-light) !important;
  border-color: var(--ac-home-line-on-light) !important;
}
body.home.ac-bidi .ac-process-section .ac-home-process-rule {
  border-color: var(--ac-home-line-on-light) !important;
}
body.home.ac-bidi .ac-process-section .rs-divider,
body.home.ac-bidi .ac-process-section .rs-divider::before,
body.home.ac-bidi .ac-process-section .rs-divider::after {
  background-color: var(--ac-home-line-on-light) !important;
}
/* Replace only the team's baked bright-cyan field. Preserve its navy inner frame,
   original edge artwork, portrait cards, carousel and controls. */
body.ac-bidi .ac-home-team.elementor-element.e-con {
  background-color: #d5f1f5;
  background-image: linear-gradient(150deg, #e0f7fa 0%, #cdeff3 58%, #b2ebf2 100%) !important;
}
body.ac-bidi .ac-home-team-heading .prelements-heading .title {
  color: #0b1630 !important;
}
body.ac-bidi .ac-home-team-heading .prelements-heading .sub-text {
  color: #006064 !important;
}
body.home.ac-bidi .ac-home-team .ac-home-team-heading.elementor-element .prelements-heading .title-inner .sub-text svg,
body.home.ac-bidi .ac-home-team .ac-home-team-heading.elementor-element .prelements-heading .title-inner .sub-text svg path,
body.home.ac-bidi .ac-home-team .ac-home-team-wordmark.elementor-element .prelements-heading .title-inner .sub-text svg,
body.home.ac-bidi .ac-home-team .ac-home-team-wordmark.elementor-element .prelements-heading .title-inner .sub-text svg path {
  fill: #006064 !important;
}
body.ac-bidi .ac-home-team-wordmark .prelements-heading .sub-text {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(0, 96, 100, .55) !important;
}

/* Keep every Arabic word joined; transforms never change heading layout. */
body.rtl [data-ac-heading-motion] .ac-heading-word {
  display: inline-block;
  white-space: nowrap;
  vertical-align: baseline;
  /* Theme span accents must not recolor the newly generated visual words. */
  color: inherit !important;
}
body.home.rtl [data-ac-heading-motion].ac-motion-playing .ac-heading-word {
  will-change: transform, opacity;
}
@media (prefers-reduced-motion: reduce) {
  body.rtl [data-ac-heading-motion] .ac-heading-word {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* Color-only CTA treatment: keep native spans, movement and geometry. */
body.home.ac-bidi .ac-process-section .rs-btn :is(.rs-btn-text, .rs-icon) {
  background-color: var(--ac-home-process-action-bg) !important;
  color: var(--ac-home-process-action-text) !important;
}
body.home.ac-bidi .ac-process-section .rs-btn .rs-icon {
  color: var(--ac-home-process-action-icon) !important;
}
body.home.ac-bidi :is(.ac-process-section, .ac-home-team) .rs-btn .rs-icon :is(svg, path) {
  fill: currentColor !important;
}
body.home.ac-bidi .ac-process-section .rs-btn:is(:hover, :focus-visible) :is(.rs-btn-text, .rs-icon) {
  background-color: var(--ac-home-process-action-hover) !important;
  color: var(--ac-home-text-dark) !important;
}
body.home.ac-bidi .ac-process-section .rs-btn:focus-visible {
  outline: 2px solid var(--ac-home-surface-navy) !important;
  outline-offset: 5px !important;
}

/* One shared testimonial surface owns the cap, field and rounded handoff. */
body.home.ac-bidi {
  --ac-testimonial-surface: var(--ac-home-surface-testimonials);
}
body.home.ac-bidi .ac-news-section.elementor-element.e-con {
  background: linear-gradient(180deg, color-mix(in srgb, var(--ac-home-surface-testimonials) 24%, transparent), transparent 230px), radial-gradient(ellipse at 76% 44%, rgba(0,151,167,.13), transparent 58%), linear-gradient(145deg, #153b4c 0%, #0b1630 52%, #07022a 100%) !important;
}

/* Team: primary CTA > secondary controls > quiet decoration.
   Dim only the existing background PNG against the unchanged navy frame;
   no filter is applied to the frame's children or portraits. */
body.home.ac-bidi .ac-home-team .rs-button.style2 .rs-btn :is(.rs-btn-text, .rs-icon) {
  background-color: var(--ac-home-accent-primary) !important;
  color: var(--ac-home-text-dark) !important;
}
body.home.ac-bidi .ac-home-team .rs-button.style2 .rs-btn:is(:hover, :focus-visible) :is(.rs-btn-text, .rs-icon) {
  background-color: var(--ac-home-accent-primary-hover) !important;
}
body.home.ac-bidi .ac-home-team .rs-btn:focus-visible {
  outline: 2px solid var(--ac-home-text-light) !important;
  outline-offset: 5px !important;
}
body.home.ac-bidi .ac-home-team .swiper-btn-wrapper {
  background-color: var(--ac-home-accent-secondary) !important;
}
body.home.ac-bidi .ac-home-team .swiper-btn-wrapper :is(.swiper-button-prev, .swiper-button-next) {
  background-color: var(--ac-home-team-control-bg) !important;
  color: var(--ac-home-text-light) !important;
}
body.home.ac-bidi .ac-home-team .swiper-btn-wrapper :is(.swiper-button-prev, .swiper-button-next)::after {
  color: var(--ac-home-text-light) !important;
}
body.home.ac-bidi .ac-home-team .swiper-btn-wrapper :is(.swiper-button-prev, .swiper-button-next):is(:hover, :focus-visible) {
  background-color: var(--ac-home-accent-secondary-hover) !important;
  outline: 2px solid var(--ac-home-text-light) !important;
  outline-offset: -3px !important;
}
body.home.ac-bidi .ac-home-team :is(.rs-divider, .rs-divider::before, .rs-divider::after) {
  background-color: var(--ac-home-accent-decoration) !important;
}
body.home.ac-bidi .ac-home-team [data-id="65a80ce"] {
  background-image: linear-gradient(var(--ac-home-team-decoration-veil), var(--ac-home-team-decoration-veil)), url("https://alpha-code.net/wp-content/uploads/2026/08/W-268-px-H-242-px.png") !important;
  background-position: 0 0, left bottom;
  background-size: 100% 100%, 13% auto;
  background-repeat: no-repeat;
}
body.home.ac-bidi .ac-home-team [data-id="65a80ce"]::before {
  filter: var(--ac-home-team-decoration-filter);
  opacity: var(--ac-home-team-decoration-opacity);
}
@media (max-width: 767px) {
  body.home.ac-bidi .ac-home-team .rs-btn:focus-visible {
    outline-color: var(--ac-home-surface-navy) !important;
  }
}
/* Stories: retint the three native image layers, preserving their alpha,
   grain, source PNGs, dimensions, positioning and the section architecture. */
body.home.ac-bidi .ac-story-section.elementor-element.e-con::before {
  filter: var(--ac-home-stories-glow-filter);
  opacity: var(--ac-home-stories-glow-opacity);
}
/* Restore the native lower artwork's clarity with an Ice-Cyan tint;
   the separately approved top glow retains its existing treatment. */
body.home.ac-bidi .ac-story-section.elementor-element.e-con::after {
  filter: var(--ac-home-stories-tail-filter) !important;
  opacity: var(--ac-home-stories-circuit-opacity);
}
body.home.ac-bidi .ac-story-section [data-id="c79732f"] img {
  filter: var(--ac-home-stories-glow-filter);
  opacity: var(--ac-home-stories-light-opacity);
}
@media (max-width: 599px) {
  body.home.ac-bidi {
    --ac-home-stories-glow-opacity: .12;
    --ac-home-stories-light-opacity: .10;
    --ac-home-stories-circuit-opacity: .82;
  }
}
