.elementor .vision2{font-weight:600;font-size:60px;font-style:italic;}
.vision2{
display: inline-flex;
align-items: flex-start;
gap: 0.12em;
}

.vision2::before{
content: "“";
position: static;
flex: 0 0 auto;

color: #44a4d4;
font-size: 1.4em;
line-height: 0.9;
font-weight: 300;

transform: translateY(-0.08em)\n}.elementor .vision3{}  .vision3{
display: inline-flex;
align-items: flex-start;
gap: 0.12em;
background: linear-gradient(180deg, transparent 60%, rgba(66, 165, 210, 0.15) 60%);
}

.vision3::after {
content: "”";
position: static;
flex: 0 0 auto;

color: #44a4d4;
font-size: 1.4em;
line-height: 0.9;
font-weight: 300;

transform: translateY(-0.08em);\n}.elementor .traction{}  /* =====================================================
 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}