.elementor .traction1{}  /* =====================================================
 Traction Floating Soft Orbs
 ฟุ้งนุ่ม / ไม่มีเส้นขอบ / Responsive
===================================================== */

.traction {
position: relative;
overflow: hidden;
isolation: isolate;
}

/* วงฟุ้งซ้ายบน */
.traction::before {
content: "";
position: absolute;
left: 15%;
top: 20%;

width: clamp(260px, 42vw, 620px);
aspect-ratio: 1 / 1;

border-radius: 50%;

background: radial-gradient(
  circle,
  rgba(66, 165, 210, 0.16) 0%,
  rgba(66, 165, 210, 0.11) 28%,
  rgba(66, 165, 210, 0.06) 48%,
  rgba(66, 165, 210, 0.025) 68%,
  rgba(66, 165, 210, 0) 88%
);

filter: blur(18px);
transform: translate(-50%, -50%);
pointer-events: none;
z-index: -1;

animation: traction-orb-left 4s ease-in-out infinite alternate;
}

/* วงฟุ้งขวาล่าง */
.traction::after {
content: "";
position: absolute;
left: 85%;
top: 80%;

width: clamp(300px, 48vw, 720px);
aspect-ratio: 1 / 1;

border-radius: 50%;

background: radial-gradient(
  circle,
  rgba(141, 174, 255, 0.13) 0%,
  rgba(141, 174, 255, 0.09) 30%,
  rgba(141, 174, 255, 0.05) 50%,
  rgba(141, 174, 255, 0.022) 70%,
  rgba(141, 174, 255, 0) 90%
);

filter: blur(22px);
transform: translate(-50%, -50%);
pointer-events: none;
z-index: -1;

animation: traction-orb-right 4s ease-in-out infinite alternate;
}

/* กัน content โดนพื้นหลังทับ */
.traction > * {
position: relative;
z-index: 1;
}

/* วงซ้ายลอย */
@keyframes traction-orb-left {
0% {
  transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(1);
}

50% {
  transform: translate(-50%, -50%) translate3d(5%, -4%, 0) scale(1.06);
}

100% {
  transform: translate(-50%, -50%) translate3d(-4%, 5%, 0) scale(0.98);
}
}

/* วงขวาลอย */
@keyframes traction-orb-right {
0% {
  transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(1);
}

50% {
  transform: translate(-50%, -50%) translate3d(-5%, 4%, 0) scale(1.05);
}

100% {
  transform: translate(-50%, -50%) translate3d(4%, -5%, 0) scale(0.97);
}
}

/* Tablet */
@media (max-width: 1024px) {
.traction::before {
  left: 8%;
  top: 18%;
  width: clamp(240px, 58vw, 520px);
  filter: blur(16px);
}

.traction::after {
  left: 92%;
  top: 82%;
  width: clamp(260px, 64vw, 580px);
  filter: blur(18px);
}
}

/* Mobile */
@media (max-width: 767px) {
.traction::before {
  left: 0%;
  top: 16%;
  width: clamp(220px, 85vw, 420px);
  opacity: 0.85;
  filter: blur(14px);
}

.traction::after {
  left: 100%;
  top: 84%;
  width: clamp(240px, 95vw, 460px);
  opacity: 0.8;
  filter: blur(16px);
}\n}.elementor .site_cta:hover,.elementor .site_cta:focus-visible{color:var(--white);background-color:var(--primary);}.elementor .site_cta{color:var(--primary);}