.elementor-8 .elementor-element.elementor-element-fec6423{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;--margin-top:-3px;--margin-bottom:-3px;--margin-left:-3px;--margin-right:-3px;}.elementor-8 .elementor-element.elementor-element-fec6423:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-fec6423 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://chinesewojak.xyz/wp-content/uploads/2025/08/assw-scaled.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-fec6423, .elementor-8 .elementor-element.elementor-element-fec6423::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-7df50f8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--background-transition:0.3s;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-7df50f8.e-con{--align-self:center;}.elementor-8 .elementor-element.elementor-element-c24d28c .elementor-button{font-family:"Reggae One", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;background-color:#A3150B;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-8 .elementor-element.elementor-element-2c2ddc0 .elementor-button{font-family:"Reggae One", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;background-color:#A3150B;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-8 .elementor-element.elementor-element-055aae0 .elementor-button{font-family:"Reggae One", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;background-color:#A3150B;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-8 .elementor-element.elementor-element-9a2d1b5{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--background-transition:0.3s;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-fb0e67d{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-fb0e67d.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-f454077 img{width:85%;}.elementor-8 .elementor-element.elementor-element-319841a{text-align:center;}.elementor-8 .elementor-element.elementor-element-319841a .elementor-heading-title{color:#FFFFFF;font-family:"Ravi Prakash", Sans-serif;font-size:40px;font-weight:400;}.elementor-8 .elementor-element.elementor-element-374fcae.elementor-element{--align-self:center;}.elementor-8 .elementor-element.elementor-element-374fcae .elementor-button{font-family:"Reggae One", Sans-serif;font-weight:500;fill:#FFFFFF;color:#FFFFFF;background-color:#A3150B;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-8 .elementor-element.elementor-element-b127c54 img{width:40%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-bf3d52a{left:30.041px;}body.rtl .elementor-8 .elementor-element.elementor-element-bf3d52a{right:30.041px;}.elementor-8 .elementor-element.elementor-element-bf3d52a{top:734px;}.elementor-8 .elementor-element.elementor-element-bf3d52a img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-6a01037{left:525px;}body.rtl .elementor-8 .elementor-element.elementor-element-6a01037{right:525px;}.elementor-8 .elementor-element.elementor-element-6a01037{top:631px;}.elementor-8 .elementor-element.elementor-element-6a01037 img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-743fcba{left:341px;}body.rtl .elementor-8 .elementor-element.elementor-element-743fcba{right:341px;}.elementor-8 .elementor-element.elementor-element-743fcba{top:608px;}.elementor-8 .elementor-element.elementor-element-743fcba img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-8ca2a1d{left:-234px;}body.rtl .elementor-8 .elementor-element.elementor-element-8ca2a1d{right:-234px;}.elementor-8 .elementor-element.elementor-element-8ca2a1d{top:769px;}.elementor-8 .elementor-element.elementor-element-8ca2a1d img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-10c956d{left:755px;}body.rtl .elementor-8 .elementor-element.elementor-element-10c956d{right:755px;}.elementor-8 .elementor-element.elementor-element-10c956d{top:769px;}.elementor-8 .elementor-element.elementor-element-10c956d img{width:22%;}.elementor-8 .elementor-element.elementor-element-3d393bb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-3d393bb:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-3d393bb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://chinesewojak.xyz/wp-content/uploads/2025/08/2-scaled.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-3d393bb, .elementor-8 .elementor-element.elementor-element-3d393bb::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-4f5a018{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--background-transition:0.3s;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-ee9c763{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-4e267d2{--display:flex;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#FFFFFF;--border-color:#FFFFFF;--border-radius:10px 10px 10px 10px;}.elementor-8 .elementor-element.elementor-element-4e267d2:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-4e267d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#A3150B;}.elementor-8 .elementor-element.elementor-element-4e267d2, .elementor-8 .elementor-element.elementor-element-4e267d2::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-08f9303 > .elementor-widget-container{padding:15px 15px 0px 15px;}.elementor-8 .elementor-element.elementor-element-08f9303{text-align:center;}.elementor-8 .elementor-element.elementor-element-08f9303 .elementor-heading-title{color:#FFFFFF;font-family:"Ravi Prakash", Sans-serif;font-size:25px;font-weight:400;}.elementor-8 .elementor-element.elementor-element-ef8be9a > .elementor-widget-container{padding:0px 0px 15px 0px;}.elementor-8 .elementor-element.elementor-element-ef8be9a.elementor-element{--align-self:center;}.elementor-8 .elementor-element.elementor-element-ef8be9a .elementor-button{font-family:"Reggae One", Sans-serif;font-weight:500;fill:#A3150B;color:#A3150B;background-color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-8 .elementor-element.elementor-element-123097c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;--margin-top:-2px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-123097c:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-123097c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://chinesewojak.xyz/wp-content/uploads/2025/08/3-scaled.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-123097c, .elementor-8 .elementor-element.elementor-element-123097c::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-01b12f0{--display:flex;--background-transition:0.3s;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-d22654e img{width:85%;}.elementor-8 .elementor-element.elementor-element-b738497{text-align:center;}.elementor-8 .elementor-element.elementor-element-b738497 .elementor-heading-title{color:#FFFFFF;font-family:"Ravi Prakash", Sans-serif;font-size:40px;font-weight:400;}.elementor-8 .elementor-element.elementor-element-8891ebe{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-82537af{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;--background-transition:0.3s;--margin-top:-2px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-82537af:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-82537af > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://chinesewojak.xyz/wp-content/uploads/2025/08/4-scaled.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-82537af, .elementor-8 .elementor-element.elementor-element-82537af::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-0dc06ef{--display:flex;--background-transition:0.3s;--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-9a9bdc2 img{width:76%;}.elementor-8 .elementor-element.elementor-element-6643c5b{--display:flex;--background-transition:0.3s;border-style:solid;--border-style:solid;border-width:2px 2px 2px 2px;--border-top-width:2px;--border-right-width:2px;--border-bottom-width:2px;--border-left-width:2px;border-color:#FFFFFF;--border-color:#FFFFFF;--border-radius:10px 10px 10px 10px;}.elementor-8 .elementor-element.elementor-element-6643c5b:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-6643c5b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#A3150B;}.elementor-8 .elementor-element.elementor-element-6643c5b, .elementor-8 .elementor-element.elementor-element-6643c5b::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-6643c5b.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-2a3b9c3 > .elementor-widget-container{padding:15px 15px 0px 15px;}.elementor-8 .elementor-element.elementor-element-2a3b9c3{text-align:center;}.elementor-8 .elementor-element.elementor-element-2a3b9c3 .elementor-heading-title{color:#FFFFFF;font-family:"Ravi Prakash", Sans-serif;font-size:25px;font-weight:400;}.elementor-8 .elementor-element.elementor-element-46d31b8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-443b921 > .elementor-widget-container{padding:0px 0px 15px 0px;}.elementor-8 .elementor-element.elementor-element-443b921.elementor-element{--align-self:center;}.elementor-8 .elementor-element.elementor-element-443b921 .elementor-button{font-family:"Reggae One", Sans-serif;font-weight:500;fill:#A3150B;color:#A3150B;background-color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-8 .elementor-element.elementor-element-e5e1464 > .elementor-widget-container{padding:0px 0px 15px 0px;}.elementor-8 .elementor-element.elementor-element-e5e1464.elementor-element{--align-self:center;}.elementor-8 .elementor-element.elementor-element-e5e1464 .elementor-button{font-family:"Reggae One", Sans-serif;font-weight:500;fill:#A3150B;color:#A3150B;background-color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:5px 5px 5px 5px;}.elementor-8 .elementor-element.elementor-element-72d784c{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-60854c5 > .elementor-widget-container{margin:0px 0px -28px 0px;}.elementor-8 .elementor-element.elementor-element-60854c5 img{width:36%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-7399b23{left:30.041px;}body.rtl .elementor-8 .elementor-element.elementor-element-7399b23{right:30.041px;}.elementor-8 .elementor-element.elementor-element-7399b23{top:734px;}.elementor-8 .elementor-element.elementor-element-7399b23 img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-73111e3{left:525px;}body.rtl .elementor-8 .elementor-element.elementor-element-73111e3{right:525px;}.elementor-8 .elementor-element.elementor-element-73111e3{top:631px;}.elementor-8 .elementor-element.elementor-element-73111e3 img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-8594042{left:341px;}body.rtl .elementor-8 .elementor-element.elementor-element-8594042{right:341px;}.elementor-8 .elementor-element.elementor-element-8594042{top:608px;}.elementor-8 .elementor-element.elementor-element-8594042 img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-d82cc12{left:-234px;}body.rtl .elementor-8 .elementor-element.elementor-element-d82cc12{right:-234px;}.elementor-8 .elementor-element.elementor-element-d82cc12{top:769px;}.elementor-8 .elementor-element.elementor-element-d82cc12 img{width:22%;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-e65194c{left:755px;}body.rtl .elementor-8 .elementor-element.elementor-element-e65194c{right:755px;}.elementor-8 .elementor-element.elementor-element-e65194c{top:769px;}.elementor-8 .elementor-element.elementor-element-e65194c img{width:22%;}.elementor-8 .elementor-element.elementor-element-0d7fd33{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-0d7fd33:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-0d7fd33 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#A3150B;}.elementor-8 .elementor-element.elementor-element-0d7fd33, .elementor-8 .elementor-element.elementor-element-0d7fd33::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-a891080{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-f981684 > .elementor-widget-container{padding:15px 15px 0px 15px;}.elementor-8 .elementor-element.elementor-element-f981684{text-align:center;}.elementor-8 .elementor-element.elementor-element-f981684 .elementor-heading-title{color:#FFFFFF;font-family:"Ravi Prakash", Sans-serif;font-size:25px;font-weight:400;}@media(min-width:768px){.elementor-8 .elementor-element.elementor-element-fb0e67d{--width:100%;}.elementor-8 .elementor-element.elementor-element-6643c5b{--width:79.091%;}}@media(max-width:767px){.elementor-8 .elementor-element.elementor-element-c24d28c .elementor-button{font-size:9px;padding:9px 9px 9px 9px;}.elementor-8 .elementor-element.elementor-element-2c2ddc0 .elementor-button{font-size:9px;padding:9px 9px 9px 9px;}.elementor-8 .elementor-element.elementor-element-055aae0 .elementor-button{font-size:9px;padding:9px 9px 9px 9px;}.elementor-8 .elementor-element.elementor-element-f454077 img{width:100%;}.elementor-8 .elementor-element.elementor-element-319841a .elementor-heading-title{font-size:20px;}.elementor-8 .elementor-element.elementor-element-374fcae .elementor-button{font-size:12px;}.elementor-8 .elementor-element.elementor-element-b127c54 img{width:96%;}.elementor-8 .elementor-element.elementor-element-08f9303 .elementor-heading-title{font-size:20px;}.elementor-8 .elementor-element.elementor-element-b738497 .elementor-heading-title{font-size:20px;}.elementor-8 .elementor-element.elementor-element-2a3b9c3 .elementor-heading-title{font-size:20px;}.elementor-8 .elementor-element.elementor-element-60854c5 img{width:100%;}}/* Start custom CSS for image, class: .elementor-element-f454077 *//* --- Cegah geser horizontal --- */
body { overflow-x: hidden; }

/* --- Class utama --- */
.float-updown1 {
  animation: upDown 5s ease-in-out infinite;
  display: inline-block;
  will-change: transform;
}

/* --- Variasi kecepatan opsional --- */
.float-slow { animation-duration: 6s; }
.float-fast { animation-duration: 1.5s; }

/* --- Keyframes --- */
@keyframes upDown {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-20px); } /* naik */
  100% { transform: translateY(0); }     /* turun */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-b127c54 *//* --- Cegah geser horizontal --- */
body { overflow-x: hidden; }

/* --- Class utama --- */
.float-updown {
  animation: upDown 3s ease-in-out infinite;
  display: inline-block;
  will-change: transform;
}

/* --- Variasi kecepatan opsional --- */
.float-slow { animation-duration: 6s; }
.float-fast { animation-duration: 1.5s; }

/* --- Keyframes --- */
@keyframes upDown {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-20px); } /* naik */
  100% { transform: translateY(0); }     /* turun */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-bf3d52a *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-6a01037 *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-743fcba *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-8ca2a1d *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-10c956d *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-2ebce74 *//* Efek Geleng-Geleng */
.shake {
  animation: shakeHead 1.2s ease-in-out infinite;
  display: inline-block;
  transform-origin: center center; /* titik rotasi di tengah */
}

/* Keyframes Geleng */
@keyframes shakeHead {
  0%   { transform: rotate(0deg); }
  15%  { transform: rotate(5deg); }
  30%  { transform: rotate(-5deg); }
  45%  { transform: rotate(4deg); }
  60%  { transform: rotate(-4deg); }
  75%  { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-5a5eb7c *//* Efek Glow Api Gelap */
.glow-fire {
  animation: fireGlow 2.5s ease-in-out infinite;
  display: inline-block;
  filter: drop-shadow(0 0 6px rgba(255, 100, 0, 0.8))
          drop-shadow(0 0 12px rgba(255, 80, 0, 0.6))
          drop-shadow(0 0 20px rgba(255, 50, 0, 0.4));
}

/* Animasi berdenyut smooth */
@keyframes fireGlow {
  0% {
    filter: drop-shadow(0 0 4px rgba(255, 80, 0, 0.8))
            drop-shadow(0 0 10px rgba(255, 60, 0, 0.6))
            drop-shadow(0 0 16px rgba(255, 40, 0, 0.4));
  }
  50% {
    filter: drop-shadow(0 0 8px rgba(255, 120, 0, 1))
            drop-shadow(0 0 18px rgba(255, 90, 0, 0.8))
            drop-shadow(0 0 28px rgba(255, 70, 0, 0.6));
  }
  100% {
    filter: drop-shadow(0 0 4px rgba(255, 80, 0, 0.8))
            drop-shadow(0 0 10px rgba(255, 60, 0, 0.6))
            drop-shadow(0 0 16px rgba(255, 40, 0, 0.4));
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-d22654e *//* Efek Glow Api Gelap */
.glow-fire {
  animation: fireGlow 2.5s ease-in-out infinite;
  display: inline-block;
  filter: drop-shadow(0 0 6px rgba(255, 100, 0, 0.8))
          drop-shadow(0 0 12px rgba(255, 80, 0, 0.6))
          drop-shadow(0 0 20px rgba(255, 50, 0, 0.4));
}

/* Animasi berdenyut smooth */
@keyframes fireGlow {
  0% {
    filter: drop-shadow(0 0 4px rgba(255, 80, 0, 0.8))
            drop-shadow(0 0 10px rgba(255, 60, 0, 0.6))
            drop-shadow(0 0 16px rgba(255, 40, 0, 0.4));
  }
  50% {
    filter: drop-shadow(0 0 8px rgba(255, 120, 0, 1))
            drop-shadow(0 0 18px rgba(255, 90, 0, 0.8))
            drop-shadow(0 0 28px rgba(255, 70, 0, 0.6));
  }
  100% {
    filter: drop-shadow(0 0 4px rgba(255, 80, 0, 0.8))
            drop-shadow(0 0 10px rgba(255, 60, 0, 0.6))
            drop-shadow(0 0 16px rgba(255, 40, 0, 0.4));
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-9a9bdc2 *//* Efek Glow Api Gelap */
.glow-fire {
  animation: fireGlow 2.5s ease-in-out infinite;
  display: inline-block;
  filter: drop-shadow(0 0 6px rgba(255, 100, 0, 0.8))
          drop-shadow(0 0 12px rgba(255, 80, 0, 0.6))
          drop-shadow(0 0 20px rgba(255, 50, 0, 0.4));
}

/* Animasi berdenyut smooth */
@keyframes fireGlow {
  0% {
    filter: drop-shadow(0 0 4px rgba(255, 80, 0, 0.8))
            drop-shadow(0 0 10px rgba(255, 60, 0, 0.6))
            drop-shadow(0 0 16px rgba(255, 40, 0, 0.4));
  }
  50% {
    filter: drop-shadow(0 0 8px rgba(255, 120, 0, 1))
            drop-shadow(0 0 18px rgba(255, 90, 0, 0.8))
            drop-shadow(0 0 28px rgba(255, 70, 0, 0.6));
  }
  100% {
    filter: drop-shadow(0 0 4px rgba(255, 80, 0, 0.8))
            drop-shadow(0 0 10px rgba(255, 60, 0, 0.6))
            drop-shadow(0 0 16px rgba(255, 40, 0, 0.4));
  }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-60854c5 *//* Cegah geser horizontal */
body { overflow-x: hidden; }

/* 1) PING-PONG: bolak-balik di dalam container */
.walk-pingpong {
  animation: walkPing 3s ease-in-out infinite;
  display: inline-block;
  will-change: transform;
}
.walk-slow { animation-duration: 5s; }
.walk-fast { animation-duration: 1.5s; }

@keyframes walkPing {
  0%   { transform: translateX(0) translateY(0); }
  25%  { transform: translateX(25px) translateY(-2px); }  /* sedikit bob biar kayak langkah */
  50%  { transform: translateX(50px) translateY(0); }
  75%  { transform: translateX(25px) translateY(-2px); }
  100% { transform: translateX(0) translateY(0); }
}

/* 2) LOOP: jalan terus satu arah (seperti conveyor) */
/* Pakai pada track yang lebih lebar dari viewport (misal display:flex dengan item duplikat) */
.walk-track {
  position: relative;
  overflow: hidden;
}
.walk-loop {
  display: inline-block;
  animation: walkLoop 8s linear infinite;
  will-change: transform;
  /* optional jarak antar item kalau berbaris */
  margin-right: 40px;
}

@keyframes walkLoop {
  0%   { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

/* Versi arah sebaliknya */
.walk-loop.reverse { animation-name: walkLoopRev; }
@keyframes walkLoopRev {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Hormati preferensi pengguna */
@media (prefers-reduced-motion: reduce) {
  .walk-pingpong, .walk-loop { animation: none; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-7399b23 *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-73111e3 *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-8594042 *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-d82cc12 *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-e65194c *//* --- BASE: cegah geser kanan-kiri --- */
body { overflow-x: hidden; }

/* --- UTIL: wrapper opsional biar animasi aman di dalam area --- */
.fly-wrap { position: relative; overflow: hidden; }

/* --- CLASS UTAMA: tempel ke elemen yang mau melayang --- */
.fly-wind {
  --dur: 10s;         /* durasi total */
  --delay: 0s;        /* jeda mulai */
  --ampX: 40px;       /* amplitudo goyangan horizontal (angin) */
  --lift: -120vh;     /* jarak naik, negatif = ke atas */
  --tilt: 6deg;       /* sedikit miring biar natural */
  --fadeHold: 65%;    /* kapan mulai fade out */
  animation:
    drift var(--dur) ease-in-out var(--delay) infinite,
    riseFade var(--dur) linear var(--delay) infinite,
    tilt var(--dur) ease-in-out var(--delay) infinite;
  display: inline-block;
  will-change: transform, opacity;
}

/* --- VARIASI CEPAT/LAMBAT (opsional) --- */
.fly-slow  { --dur: 16s; --ampX: 55px; }
.fly-fast  { --dur: 7s;  --ampX: 30px; }
.fly-mini  { --lift: -70vh; }
.fly-max   { --lift: -180vh; }

/* --- ARAH ANGIN (opsional, pilih salah satu) --- */
.wind-left  { --ampX: -1 * var(--ampX); }
.wind-right { /* default ke kanan */ }

/* --- RANDOM LEZAT: beda-beda di banyak elemen --- */
.fly-wind:nth-child(3n)   { --delay: .8s;  --ampX: 60px; --tilt: 10deg; }
.fly-wind:nth-child(4n)   { --delay: 1.6s; --ampX: 35px; --tilt: 4deg;  }
.fly-wind:nth-child(5n)   { --delay: .3s;  --ampX: 50px; --tilt: 7deg;  }
.fly-wind:nth-child(7n+2) { --delay: 2s;   --ampX: 70px; --tilt: 12deg; }

/* --- KEYFRAMES --- */
@keyframes drift {
  0%   { transform: translateX(0); }
  25%  { transform: translateX(calc(var(--ampX) * .6)); }
  50%  { transform: translateX(calc(var(--ampX) * -1)); }
  75%  { transform: translateX(calc(var(--ampX) * .8)); }
  100% { transform: translateX(0); }
}

@keyframes riseFade {
  0%   { transform: translateY(0); opacity: 0; }
  10%  { opacity: 1; }
  /* naik terus, tahan terlihat, lalu hilang lembut */
  60%  { transform: translateY(calc(var(--lift) * .65)); opacity: 1; }
  var(--fadeHold) { opacity: 1; } /* placeholder var, diabaikan browser saat compile */
  100% { transform: translateY(var(--lift)); opacity: 0; }
}

/* Sedikit rotasi biar natural */
@keyframes tilt {
  0%   { rotate: 0deg; }
  50%  { rotate: var(--tilt); }
  100% { rotate: 0deg; }
}

/* --- MODE HEMAT GERAK --- */
@media (prefers-reduced-motion: reduce) {
  .fly-wind { animation: none; opacity: 1; }
}/* End custom CSS */