.elementor-8 .elementor-element.elementor-element-8ea843d{--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-8ea843d, .elementor-8 .elementor-element.elementor-element-8ea843d::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-6e8ed60{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-1cf7c81{z-index:2;}.elementor-8 .elementor-element.elementor-element-bd2c933{--display:flex;--background-transition:0.3s;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-d779699{--grid-template-columns:repeat(0, auto);--icon-size:25px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-widget-container{text-align:center;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-social-icon{background-color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:#1e72b4;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-social-icon i{color:#1e72b4;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-social-icon svg{fill:#1e72b4;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-icon{border-radius:100px 100px 100px 100px;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-social-icon:hover{background-color:#043d71;border-color:#b7f9fb;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-social-icon:hover i{color:#b7f9fb;}.elementor-8 .elementor-element.elementor-element-d779699 .elementor-social-icon:hover svg{fill:#b7f9fb;}.elementor-8 .elementor-element.elementor-element-ccd8a34{--display:flex;--background-transition:0.3s;--margin-top:0px;--margin-bottom:300px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-b247754 img{width:60%;}.elementor-8 .elementor-element.elementor-element-9eecb04{--display:flex;--background-transition:0.3s;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--z-index:1;}.elementor-8 .elementor-element.elementor-element-7e4447f{--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:-200px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-7e4447f:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-7e4447f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ollaf.xyz/wp-content/uploads/2025/12/W2.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-7e4447f, .elementor-8 .elementor-element.elementor-element-7e4447f::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-03430c4{--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:250px;--margin-bottom:200px;--margin-left:0px;--margin-right:0px;--z-index:1;}.elementor-8 .elementor-element.elementor-element-dd60715{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-dd60715.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-dc81c8b{text-align:center;}.elementor-8 .elementor-element.elementor-element-dc81c8b .elementor-heading-title{color:#043d71;font-family:"Spicy Rice", Sans-serif;font-size:65px;font-weight:600;}.elementor-8 .elementor-element.elementor-element-5830279{--display:flex;--background-transition:1.1s;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:#edf2fc;--border-color:#edf2fc;--border-radius:10px 10px 10px 10px;}.elementor-8 .elementor-element.elementor-element-5830279:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-5830279 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(205deg, #b7f9fb 0%, #1e72b4 100%);}.elementor-8 .elementor-element.elementor-element-5830279:hover{background-color:transparent;background-image:linear-gradient(106deg, #b5c7f7 0%, #CCDAF4 100%);}.elementor-8 .elementor-element.elementor-element-5830279, .elementor-8 .elementor-element.elementor-element-5830279::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-d00ee01 > .elementor-widget-container{padding:10px 10px 0px 10px;}.elementor-8 .elementor-element.elementor-element-d00ee01{text-align:center;}.elementor-8 .elementor-element.elementor-element-d00ee01 .elementor-heading-title{color:#043d71;font-family:"Baloo 2", Sans-serif;font-size:27px;font-weight:100;line-height:32px;}.elementor-8 .elementor-element.elementor-element-5114f5c > .elementor-widget-container{padding:0px 0px 10px 0px;}.elementor-8 .elementor-element.elementor-element-5114f5c .elementor-button{font-family:"Baloo 2", Sans-serif;font-size:18px;font-weight:100;line-height:32px;fill:#043d71;color:#043d71;background-color:#b7f9fb;border-style:solid;border-width:2px 2px 2px 2px;border-color:#043d71;border-radius:100px 100px 100px 100px;padding:4px 10px 4px 10px;}.elementor-8 .elementor-element.elementor-element-5114f5c .elementor-button:hover, .elementor-8 .elementor-element.elementor-element-5114f5c .elementor-button:focus{color:#b7f9fb;background-color:#043d71;border-color:#b7f9fb;}.elementor-8 .elementor-element.elementor-element-5114f5c .elementor-button:hover svg, .elementor-8 .elementor-element.elementor-element-5114f5c .elementor-button:focus svg{fill:#b7f9fb;}.elementor-8 .elementor-element.elementor-element-78fa735{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-59cfafb > .elementor-widget-container{margin:-30px -30px -30px -30px;}.elementor-8 .elementor-element.elementor-element-59cfafb img{width:100%;}.elementor-8 .elementor-element.elementor-element-a51d6e2{--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:-250px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-a51d6e2:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-a51d6e2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ollaf.xyz/wp-content/uploads/2025/12/W1.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-a51d6e2, .elementor-8 .elementor-element.elementor-element-a51d6e2::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-7fce7e8{--display:flex;--background-transition:0.3s;--margin-top:200px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-4a1ef4d{text-align:center;}.elementor-8 .elementor-element.elementor-element-4a1ef4d .elementor-heading-title{color:#043d71;font-family:"Spicy Rice", Sans-serif;font-size:65px;font-weight:600;}.elementor-8 .elementor-element.elementor-element-1f2b3b1 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-8 .elementor-element.elementor-element-1f2b3b1{text-align:center;}.elementor-8 .elementor-element.elementor-element-1f2b3b1 .elementor-heading-title{color:#FFFFFF;font-family:"Baloo 2", Sans-serif;font-size:27px;font-weight:100;line-height:32px;text-shadow:1px 1px 0px #013C6E;}.elementor-8 .elementor-element.elementor-element-4fd6738{--display:flex;--background-transition:0.3s;--margin-top:0px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--z-index:1;}.elementor-8 .elementor-element.elementor-element-e77258c{--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:-200px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-e77258c:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-e77258c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ollaf.xyz/wp-content/uploads/2025/12/W4.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-e77258c, .elementor-8 .elementor-element.elementor-element-e77258c::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-ab15196{--display:flex;--background-transition:0.3s;--margin-top:200px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-b7a5a2b{text-align:center;}.elementor-8 .elementor-element.elementor-element-b7a5a2b .elementor-heading-title{color:#043d71;font-family:"Spicy Rice", Sans-serif;font-size:65px;font-weight:600;}.elementor-8 .elementor-element.elementor-element-785767b > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-8 .elementor-element.elementor-element-785767b{text-align:center;}.elementor-8 .elementor-element.elementor-element-785767b .elementor-heading-title{color:#FFFFFF;font-family:"Baloo 2", Sans-serif;font-size:27px;font-weight:100;line-height:32px;text-shadow:1px 1px 0px #013C6E;}.elementor-8 .elementor-element.elementor-element-86e0781{--display:flex;--background-transition:0.3s;--margin-top:0px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--z-index:1;}.elementor-8 .elementor-element.elementor-element-b2040b4{--display:flex;--background-transition:0.3s;--z-index:1;}.elementor-8 .elementor-element.elementor-element-d0407c0 > .elementor-widget-container{--e-transform-rotateZ:39deg;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-d0407c0{left:-321px;}body.rtl .elementor-8 .elementor-element.elementor-element-d0407c0{right:-321px;}.elementor-8 .elementor-element.elementor-element-d0407c0{top:-487px;}.elementor-8 .elementor-element.elementor-element-d0407c0 img{width:55%;}.elementor-8 .elementor-element.elementor-element-de83450 > .elementor-widget-container{--e-transform-rotateZ:-50deg;}body:not(.rtl) .elementor-8 .elementor-element.elementor-element-de83450{right:-310px;}body.rtl .elementor-8 .elementor-element.elementor-element-de83450{left:-310px;}.elementor-8 .elementor-element.elementor-element-de83450{top:-598px;}.elementor-8 .elementor-element.elementor-element-de83450 img{width:55%;}.elementor-8 .elementor-element.elementor-element-8fb697c{--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:-200px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-8fb697c:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-8fb697c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ollaf.xyz/wp-content/uploads/2025/12/W3.png");background-position:top center;background-repeat:no-repeat;background-size:cover;}.elementor-8 .elementor-element.elementor-element-8fb697c, .elementor-8 .elementor-element.elementor-element-8fb697c::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-cee8590{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--background-transition:0.3s;--margin-top:200px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8 .elementor-element.elementor-element-3a8f9d3{text-align:center;}.elementor-8 .elementor-element.elementor-element-3a8f9d3 .elementor-heading-title{color:#043d71;font-family:"Spicy Rice", Sans-serif;font-size:65px;font-weight:600;}.elementor-8 .elementor-element.elementor-element-82edd10 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-8 .elementor-element.elementor-element-82edd10{text-align:center;}.elementor-8 .elementor-element.elementor-element-82edd10 .elementor-heading-title{color:#FFFFFF;font-family:"Baloo 2", Sans-serif;font-size:27px;font-weight:100;line-height:32px;text-shadow:1px 1px 0px #013C6E;}.elementor-8 .elementor-element.elementor-element-b16e11a{--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:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-0b951dd{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-0b951dd.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-04963d7 > .elementor-widget-container{margin:-70px -70px -70px -70px;}.elementor-8 .elementor-element.elementor-element-04963d7 img{width:100%;}.elementor-8 .elementor-element.elementor-element-4bae9e8{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-e5143be{--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-e5143be:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-e5143be > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(151deg, #043d71 0%, #b7f9fb 100%);}.elementor-8 .elementor-element.elementor-element-e5143be, .elementor-8 .elementor-element.elementor-element-e5143be::before{--border-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-4e6a2b7{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-7f909df > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-8 .elementor-element.elementor-element-7f909df{text-align:center;}.elementor-8 .elementor-element.elementor-element-7f909df .elementor-heading-title{color:#FFFFFF;font-family:"Baloo 2", Sans-serif;font-size:17px;font-weight:100;line-height:32px;text-shadow:1px 1px 0px #013C6E;}@media(min-width:768px){.elementor-8 .elementor-element.elementor-element-dd60715{--width:64.948%;}.elementor-8 .elementor-element.elementor-element-0b951dd{--width:30.206%;}}@media(max-width:767px){.elementor-8 .elementor-element.elementor-element-d779699{--icon-size:18px;}.elementor-8 .elementor-element.elementor-element-b247754 img{width:95%;}.elementor-8 .elementor-element.elementor-element-dc81c8b .elementor-heading-title{font-size:40px;}.elementor-8 .elementor-element.elementor-element-d00ee01 .elementor-heading-title{font-size:18px;line-height:1.2em;}.elementor-8 .elementor-element.elementor-element-5114f5c .elementor-button{font-size:15px;}.elementor-8 .elementor-element.elementor-element-59cfafb > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-8 .elementor-element.elementor-element-4a1ef4d .elementor-heading-title{font-size:40px;}.elementor-8 .elementor-element.elementor-element-1f2b3b1 .elementor-heading-title{font-size:18px;line-height:1.3em;}.elementor-8 .elementor-element.elementor-element-b7a5a2b .elementor-heading-title{font-size:40px;}.elementor-8 .elementor-element.elementor-element-785767b .elementor-heading-title{font-size:18px;line-height:1.3em;}.elementor-8 .elementor-element.elementor-element-3a8f9d3 .elementor-heading-title{font-size:40px;}.elementor-8 .elementor-element.elementor-element-82edd10 .elementor-heading-title{font-size:18px;line-height:1.3em;}.elementor-8 .elementor-element.elementor-element-04963d7 > .elementor-widget-container{margin:0px 0px 0px 0px;}}/* Start custom CSS for image, class: .elementor-element-b247754 *//* Terapkan ke elemen gambar dengan class .ollaf-float */
.ollaf-float {
    animation: ollafFloat 4.5s ease-in-out infinite,
               ollafDrift 9s ease-in-out infinite;
    display: inline-block;
    will-change: transform;
}

/* Gerakan naik turun lembut */
@keyframes ollafFloat {
    0%   { transform: translateY(0px); }
    50%  { transform: translateY(-8px); }
    100% { transform: translateY(0px); }
}

/* Gerakan goyang kiri-kanan + sedikit rotasi */
@keyframes ollafDrift {
    0%   { transform: translateX(0px) rotate(0deg); }
    25%  { transform: translateX(4px) rotate(1deg); }
    50%  { transform: translateX(-4px) rotate(-1deg); }
    75%  { transform: translateX(2px) rotate(1deg); }
    100% { transform: translateX(0px) rotate(0deg); }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8ea843d */html, body {
    overflow-x: hidden !important;  /* hanya blok pergeseran horizontal */
    overflow-y: auto !important;    /* scroll normal ke bawah */
}/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-59cfafb *//* ------------------------------
   Shared helper (soft GPU hint)
   ------------------------------ */
.ollaf-effect {
  will-change: transform, opacity, filter;
  backface-visibility: hidden;
}

/* 1) ✨ Slow Rotate — efek berputar pelan */
.ollaf-rotate.ollaf-effect {
  animation: ollafRotate 18s linear infinite;
}
@keyframes ollafRotate {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 2) 🎵 Pulse — mengikuti irama, lembut */
.ollaf-pulse.ollaf-effect {
  animation: ollafPulse 2.4s ease-in-out infinite;
}
@keyframes ollafPulse {
  0%   { transform: scale(1); opacity: 1; }
  25%  { transform: scale(1.03); opacity: 0.98; }
  50%  { transform: scale(0.98); opacity: 0.96; }
  75%  { transform: scale(1.02); opacity: 0.99; }
  100% { transform: scale(1); opacity: 1; }
}

/* 3) 🌬 Wind Tilt — miring serupa tertiup angin (loop halus) */
.ollaf-wind.ollaf-effect {
  transform-origin: 50% 60%;
  animation: ollafWind 7s ease-in-out infinite;
}
@keyframes ollafWind {
  0%   { transform: rotate(0deg) translateX(0); }
  20%  { transform: rotate(-2deg) translateX(-6px); }
  40%  { transform: rotate(1.6deg) translateX(4px); }
  60%  { transform: rotate(-1.2deg) translateX(-3px); }
  80%  { transform: rotate(0.8deg) translateX(2px); }
  100% { transform: rotate(0deg) translateX(0); }
}

/* 4) ⛄ Balloon Float — melayang seperti balon (lebih vertical) */
.ollaf-balloon.ollaf-effect {
  animation: ollafBalloon 6.5s ease-in-out infinite;
}
@keyframes ollafBalloon {
  0%   { transform: translateY(0) scale(1); }
  30%  { transform: translateY(-14px) scale(1.02); }
  60%  { transform: translateY(-6px) scale(0.995); }
  100% { transform: translateY(0) scale(1); }
}

/* 5) 🔥 Jelly Stretch — kartun, stretch & squash */
.ollaf-jelly.ollaf-effect {
  transform-origin: 50% 60%;
  animation: ollafJelly 1.1s cubic-bezier(.25,.9,.2,1) infinite;
}
@keyframes ollafJelly {
  0%   { transform: scale3d(1,1,1); }
  30%  { transform: scale3d(1.12,0.84,1); }
  45%  { transform: scale3d(0.9,1.08,1); }
  60%  { transform: scale3d(1.06,0.96,1); }
  100% { transform: scale3d(1,1,1); }
}

/* 6) 💎 Glow Shimmer — soft glow + moving highlight */
.ollaf-glow.ollaf-effect {
  position: relative;
  transition: filter .25s ease;
  animation: ollafGlowPulse 3.8s ease-in-out infinite;
  filter: drop-shadow(0 6px 18px rgba(30,114,180,0.12));
}
@keyframes ollafGlowPulse {
  0%   { filter: drop-shadow(0 6px 18px rgba(30,114,180,0.06)); transform: translateZ(0); }
  50%  { filter: drop-shadow(0 12px 30px rgba(30,114,180,0.16)) saturate(1.02); transform: translateY(-2px); }
  100% { filter: drop-shadow(0 6px 18px rgba(30,114,180,0.06)); transform: translateZ(0); }
}

/* ------------------------------
   Optional: combine helpers for subtle variety
   Example utility classes (not required)
   ------------------------------ */
/* Slightly slower variants */
.ollaf-slow { animation-duration: calc(var(--anim, 1) * 1.6) !important; }
.ollaf-fast { animation-duration: calc(var(--anim, 1) * 0.6) !important; }

/* Ensure images don't overly blur on mobile */
.ollaf-effect img, .ollaf-effect { backface-visibility: hidden; -webkit-backface-visibility: hidden; }/* End custom CSS */
/* Start custom CSS for image, class: .elementor-element-04963d7 *//* ------------------------------
   Shared helper (soft GPU hint)
   ------------------------------ */
.ollaf-effect {
  will-change: transform, opacity, filter;
  backface-visibility: hidden;
}

/* 1) ✨ Slow Rotate — efek berputar pelan */
.ollaf-rotate.ollaf-effect {
  animation: ollafRotate 18s linear infinite;
}
@keyframes ollafRotate {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 2) 🎵 Pulse — mengikuti irama, lembut */
.ollaf-pulse.ollaf-effect {
  animation: ollafPulse 2.4s ease-in-out infinite;
}
@keyframes ollafPulse {
  0%   { transform: scale(1); opacity: 1; }
  25%  { transform: scale(1.03); opacity: 0.98; }
  50%  { transform: scale(0.98); opacity: 0.96; }
  75%  { transform: scale(1.02); opacity: 0.99; }
  100% { transform: scale(1); opacity: 1; }
}

/* 3) 🌬 Wind Tilt — miring serupa tertiup angin (loop halus) */
.ollaf-wind.ollaf-effect {
  transform-origin: 50% 60%;
  animation: ollafWind 7s ease-in-out infinite;
}
@keyframes ollafWind {
  0%   { transform: rotate(0deg) translateX(0); }
  20%  { transform: rotate(-2deg) translateX(-6px); }
  40%  { transform: rotate(1.6deg) translateX(4px); }
  60%  { transform: rotate(-1.2deg) translateX(-3px); }
  80%  { transform: rotate(0.8deg) translateX(2px); }
  100% { transform: rotate(0deg) translateX(0); }
}

/* 4) ⛄ Balloon Float — melayang seperti balon (lebih vertical) */
.ollaf-balloon.ollaf-effect {
  animation: ollafBalloon 6.5s ease-in-out infinite;
}
@keyframes ollafBalloon {
  0%   { transform: translateY(0) scale(1); }
  30%  { transform: translateY(-14px) scale(1.02); }
  60%  { transform: translateY(-6px) scale(0.995); }
  100% { transform: translateY(0) scale(1); }
}

/* 5) 🔥 Jelly Stretch — kartun, stretch & squash */
.ollaf-jelly.ollaf-effect {
  transform-origin: 50% 60%;
  animation: ollafJelly 1.1s cubic-bezier(.25,.9,.2,1) infinite;
}
@keyframes ollafJelly {
  0%   { transform: scale3d(1,1,1); }
  30%  { transform: scale3d(1.12,0.84,1); }
  45%  { transform: scale3d(0.9,1.08,1); }
  60%  { transform: scale3d(1.06,0.96,1); }
  100% { transform: scale3d(1,1,1); }
}

/* 6) 💎 Glow Shimmer — soft glow + moving highlight */
.ollaf-glow.ollaf-effect {
  position: relative;
  transition: filter .25s ease;
  animation: ollafGlowPulse 3.8s ease-in-out infinite;
  filter: drop-shadow(0 6px 18px rgba(30,114,180,0.12));
}
@keyframes ollafGlowPulse {
  0%   { filter: drop-shadow(0 6px 18px rgba(30,114,180,0.06)); transform: translateZ(0); }
  50%  { filter: drop-shadow(0 12px 30px rgba(30,114,180,0.16)) saturate(1.02); transform: translateY(-2px); }
  100% { filter: drop-shadow(0 6px 18px rgba(30,114,180,0.06)); transform: translateZ(0); }
}

/* ------------------------------
   Optional: combine helpers for subtle variety
   Example utility classes (not required)
   ------------------------------ */
/* Slightly slower variants */
.ollaf-slow { animation-duration: calc(var(--anim, 1) * 1.6) !important; }
.ollaf-fast { animation-duration: calc(var(--anim, 1) * 0.6) !important; }

/* Ensure images don't overly blur on mobile */
.ollaf-effect img, .ollaf-effect { backface-visibility: hidden; -webkit-backface-visibility: hidden; }/* End custom CSS */