.elementor-618 .elementor-element.elementor-element-bf67040{--display:flex;--min-height:100vh;--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;--gap:20px 0px;--row-gap:20px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-7591dc8 > .elementor-widget-container{--e-transform-rotateZ:15deg;margin:-415px 0px 0px 500px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-7591dc8.elementor-element{--align-self:flex-start;--order:99999 /* order end hack */;}.elementor-618 .elementor-element.elementor-element-7591dc8{z-index:2;text-align:right;}.elementor-618 .elementor-element.elementor-element-7591dc8 img{width:29%;}.elementor-618 .elementor-element.elementor-element-5c15c72{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:1;--e-transform-transition-duration:400ms;text-align:left;}.elementor-618 .elementor-element.elementor-element-5c15c72 > .elementor-widget-container:hover{--e-transform-translateX:5px;}.elementor-618 .elementor-element.elementor-element-5c15c72 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:200px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-5c15c72.elementor-element{--align-self:center;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-618 .elementor-element.elementor-element-5c15c72 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:4.6rem;font-weight:600;text-transform:none;font-style:normal;letter-spacing:-5px;}.elementor-618 .elementor-element.elementor-element-32f96a3{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:1;text-align:left;}.elementor-618 .elementor-element.elementor-element-32f96a3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-32f96a3.elementor-element{--align-self:center;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-618 .elementor-element.elementor-element-32f96a3 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:2.6rem;font-weight:200;text-transform:none;font-style:italic;letter-spacing:-3px;}.elementor-618 .elementor-element.elementor-element-05db30d{--display:flex;--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:200px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-61f5f4a{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:1;--e-transform-transition-duration:300ms;text-align:left;}.elementor-618 .elementor-element.elementor-element-61f5f4a > .elementor-widget-container:hover{--e-transform-translateX:5px;}.elementor-618 .elementor-element.elementor-element-61f5f4a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-61f5f4a.elementor-element{--align-self:center;--order:99999 /* order end hack */;--flex-grow:0;--flex-shrink:0;}.elementor-618 .elementor-element.elementor-element-61f5f4a .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:1rem;font-weight:500;text-transform:none;letter-spacing:-0.8px;}.elementor-618 .elementor-element.elementor-element-f974269{--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;--gap:8px 0px;--row-gap:8px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-618 .elementor-element.elementor-element-f974269:not(.elementor-motion-effects-element-type-background), .elementor-618 .elementor-element.elementor-element-f974269 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-618 .elementor-element.elementor-element-eee904d{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(3, 1fr);--gap:20px 20px;--row-gap:20px;--column-gap:20px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-8651e0c{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-4ff339d{text-align:center;}.elementor-618 .elementor-element.elementor-element-4ff339d .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-8d0fd53 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-27830ff{--display:flex;}.elementor-618 .elementor-element.elementor-element-bba30c3 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-37bc2dd{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-618 .elementor-element.elementor-element-2fd3377{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-5bcd765{text-align:center;}.elementor-618 .elementor-element.elementor-element-5bcd765 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-5cf7125 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-13aeb02{--display:flex;}.elementor-618 .elementor-element.elementor-element-da2c592 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-88d1b08{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-618 .elementor-element.elementor-element-963e1f8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-7c3ea43{text-align:center;}.elementor-618 .elementor-element.elementor-element-7c3ea43 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-2bdfb58 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-56c81a0{--display:flex;}.elementor-618 .elementor-element.elementor-element-112b8ed .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-08efb29{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-618 .elementor-element.elementor-element-a785d08{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-5567d58{text-align:center;}.elementor-618 .elementor-element.elementor-element-5567d58 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-743c910 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-cc746fd{--display:flex;}.elementor-618 .elementor-element.elementor-element-7246099 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-a3d4ba3{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-618 .elementor-element.elementor-element-5ca8553{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-39307af{text-align:center;}.elementor-618 .elementor-element.elementor-element-39307af .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-c3a33d4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-ac3c06a{--display:flex;}.elementor-618 .elementor-element.elementor-element-a263d19 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-cc64478{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-618 .elementor-element.elementor-element-c02c589{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-618 .elementor-element.elementor-element-1b2e73f{text-align:center;}.elementor-618 .elementor-element.elementor-element-1b2e73f .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:10px;text-transform:none;letter-spacing:0px;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-831dbc2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-f48f30d{--display:flex;}.elementor-618 .elementor-element.elementor-element-68f5383 .elementor-heading-title{font-family:"Wix Madefor Display", Sans-serif;color:#FFFFFFAB;}.elementor-618 .elementor-element.elementor-element-6de36de{font-family:"IBM Plex Mono", Sans-serif;font-size:12px;}.elementor-618 .elementor-element.elementor-element-2c4f2b2 .elementor-button{background-color:#FFFFFF;font-family:"Helvetica", Sans-serif;font-size:16px;font-weight:400;letter-spacing:0px;fill:#2F2F2F;color:#2F2F2F;border-style:solid;border-width:1px 1px 1px 1px;border-color:#000000;border-radius:100px 100px 100px 100px;padding:14px 18px 14px 18px;}.elementor-618 .elementor-element.elementor-element-2c4f2b2 .elementor-button:hover, .elementor-618 .elementor-element.elementor-element-2c4f2b2 .elementor-button:focus{background-color:#FF5500;}.elementor-618 .elementor-element.elementor-element-2c4f2b2 > .elementor-widget-container{margin:10px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-2c4f2b2.elementor-element{--align-self:center;}.elementor-618 .elementor-element.elementor-element-2c4f2b2 .elementor-button-content-wrapper{flex-direction:row;}.elementor-618 .elementor-element.elementor-element-2c4f2b2 .elementor-button .elementor-button-content-wrapper{gap:6px;}.elementor-618 .elementor-element.elementor-element-15f42fe{--display:flex;--min-height:61vh;--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;--gap:20px 0px;--row-gap:20px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:40px;}.elementor-618 .elementor-element.elementor-element-d3c6b51{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:1;text-align:left;}.elementor-618 .elementor-element.elementor-element-d3c6b51 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:100px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-d3c6b51.elementor-element{--align-self:center;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-618 .elementor-element.elementor-element-d3c6b51 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:4.6rem;font-weight:600;text-transform:none;font-style:normal;letter-spacing:-5px;}.elementor-618 .elementor-element.elementor-element-ba2b3cc{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;z-index:1;text-align:left;}.elementor-618 .elementor-element.elementor-element-ba2b3cc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-ba2b3cc.elementor-element{--align-self:center;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}.elementor-618 .elementor-element.elementor-element-ba2b3cc .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:2.8rem;font-weight:300;text-transform:none;font-style:italic;letter-spacing:-3px;}@media(max-width:1024px){.elementor-618 .elementor-element.elementor-element-bf67040{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:180px;--padding-bottom:0px;--padding-left:32px;--padding-right:32px;}.elementor-618 .elementor-element.elementor-element-f974269{--gap:20px 0px;--row-gap:20px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:32px;--padding-right:32px;}.elementor-618 .elementor-element.elementor-element-eee904d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-618 .elementor-element.elementor-element-15f42fe{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:180px;--padding-bottom:0px;--padding-left:32px;--padding-right:32px;}}@media(min-width:768px){.elementor-618 .elementor-element.elementor-element-bf67040{--content-width:1400px;}.elementor-618 .elementor-element.elementor-element-f974269{--content-width:1400px;}.elementor-618 .elementor-element.elementor-element-15f42fe{--content-width:1400px;}}@media(max-width:767px){.elementor-618 .elementor-element.elementor-element-bf67040{--min-height:100vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:90px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-618 .elementor-element.elementor-element-5c15c72 > .elementor-widget-container{margin:46% 0% 0% -43%;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-5c15c72{--container-widget-width:415px;--container-widget-flex-grow:0;width:var( --container-widget-width, 415px );max-width:415px;}.elementor-618 .elementor-element.elementor-element-5c15c72 .elementor-heading-title{font-size:2.2rem;letter-spacing:-2.2px;}.elementor-618 .elementor-element.elementor-element-32f96a3 > .elementor-widget-container{margin:46% 0% 0% -43%;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-32f96a3{--container-widget-width:415px;--container-widget-flex-grow:0;width:var( --container-widget-width, 415px );max-width:415px;}.elementor-618 .elementor-element.elementor-element-32f96a3 .elementor-heading-title{font-size:2.2rem;letter-spacing:-2.2px;}.elementor-618 .elementor-element.elementor-element-61f5f4a > .elementor-widget-container{margin:46% 0% 0% -43%;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-61f5f4a{--container-widget-width:415px;--container-widget-flex-grow:0;width:var( --container-widget-width, 415px );max-width:415px;}.elementor-618 .elementor-element.elementor-element-61f5f4a .elementor-heading-title{font-size:2.2rem;letter-spacing:-2.2px;}.elementor-618 .elementor-element.elementor-element-f974269{--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-618 .elementor-element.elementor-element-eee904d{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-618 .elementor-element.elementor-element-2c4f2b2 .elementor-button{font-size:14px;}.elementor-618 .elementor-element.elementor-element-15f42fe{--min-height:100vh;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:90px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-618 .elementor-element.elementor-element-d3c6b51 > .elementor-widget-container{margin:46% 0% 0% -43%;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-d3c6b51{--container-widget-width:415px;--container-widget-flex-grow:0;width:var( --container-widget-width, 415px );max-width:415px;}.elementor-618 .elementor-element.elementor-element-d3c6b51 .elementor-heading-title{font-size:2.2rem;letter-spacing:-2.2px;}.elementor-618 .elementor-element.elementor-element-ba2b3cc > .elementor-widget-container{margin:46% 0% 0% -43%;padding:0px 0px 0px 0px;}.elementor-618 .elementor-element.elementor-element-ba2b3cc{--container-widget-width:415px;--container-widget-flex-grow:0;width:var( --container-widget-width, 415px );max-width:415px;}.elementor-618 .elementor-element.elementor-element-ba2b3cc .elementor-heading-title{font-size:2.2rem;letter-spacing:-2.2px;}}/* Start custom CSS for image, class: .elementor-element-7591dc8 *//* ====== REALISTIC WATER FLOATING ANIMATION ====== */

/* Natural water movement - irregular timing and subtle bounces */
.float-natural {
    animation: float-natural 6.2s ease-in-out infinite;
}

@keyframes float-natural {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    12% {
        transform: translateY(-3px) rotate(0.2deg);
    }
    23% {
        transform: translateY(-1px) rotate(-0.1deg);
    }
    35% {
        transform: translateY(-6px) rotate(0.3deg);
    }
    44% {
        transform: translateY(-8px) rotate(0deg);
    }
    58% {
        transform: translateY(-4px) rotate(-0.2deg);
    }
    71% {
        transform: translateY(-7px) rotate(0.1deg);
    }
    84% {
        transform: translateY(-2px) rotate(-0.1deg);
    }
    92% {
        transform: translateY(-1px) rotate(0deg);
    }
    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

/* Gentle water bobbing - very subtle and realistic */
.float-bob {
    animation: float-bob 8.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
}

@keyframes float-bob {
    0% {
        transform: translateY(0px);
    }
    8% {
        transform: translateY(-2px);
    }
    15% {
        transform: translateY(-1px);
    }
    28% {
        transform: translateY(-4px);
    }
    41% {
        transform: translateY(-6px);
    }
    52% {
        transform: translateY(-3px);
    }
    63% {
        transform: translateY(-5px);
    }
    76% {
        transform: translateY(-2px);
    }
    89% {
        transform: translateY(-1px);
    }
    100% {
        transform: translateY(0px);
    }
}

/* Realistic water drift - longer cycle, very natural */
.float-drift {
    animation: float-drift 11.3s ease-in-out infinite;
}

@keyframes float-drift {
    0% {
        transform: translateY(0px) translateX(0px) rotate(0deg);
    }
    9% {
        transform: translateY(-2px) translateX(0.5px) rotate(0.1deg);
    }
    18% {
        transform: translateY(-4px) translateX(0px) rotate(-0.1deg);
    }
    29% {
        transform: translateY(-1px) translateX(-0.3px) rotate(0deg);
    }
    38% {
        transform: translateY(-6px) translateX(0.2px) rotate(0.2deg);
    }
    47% {
        transform: translateY(-8px) translateX(0px) rotate(0deg);
    }
    56% {
        transform: translateY(-3px) translateX(-0.4px) rotate(-0.1deg);
    }
    67% {
        transform: translateY(-5px) translateX(0.1px) rotate(0.1deg);
    }
    78% {
        transform: translateY(-2px) translateX(0px) rotate(0deg);
    }
    87% {
        transform: translateY(-1px) translateX(0.2px) rotate(-0.1deg);
    }
    95% {
        transform: translateY(-0.5px) translateX(0px) rotate(0deg);
    }
    100% {
        transform: translateY(0px) translateX(0px) rotate(0deg);
    }
}

/* Subtle water motion - barely noticeable but realistic */
.float-water-subtle {
    animation: float-water-subtle 7.8s ease-in-out infinite;
}

@keyframes float-water-subtle {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
    }
    14% {
        transform: translateY(-1.5px) rotate(0.05deg);
    }
    32% {
        transform: translateY(-3px) rotate(-0.08deg);
    }
    48% {
        transform: translateY(-4px) rotate(0.1deg);
    }
    65% {
        transform: translateY(-2px) rotate(-0.05deg);
    }
    83% {
        transform: translateY(-1px) rotate(0.03deg);
    }
}

/* Organic floating - completely irregular pattern */
.float-organic {
    animation: float-organic-1 9.4s ease-in-out infinite,
               float-organic-2 13.7s ease-in-out infinite;
}

@keyframes float-organic-1 {
    0%, 100% {
        transform: translateY(0px);
    }
    23% {
        transform: translateY(-3px);
    }
    56% {
        transform: translateY(-6px);
    }
    78% {
        transform: translateY(-2px);
    }
}

@keyframes float-organic-2 {
    0%, 100% {
        transform: rotate(0deg) translateX(0px);
    }
    31% {
        transform: rotate(0.15deg) translateX(0.3px);
    }
    67% {
        transform: rotate(-0.1deg) translateX(-0.2px);
    }
}

/* ====== END REALISTIC FLOATING ANIMATIONS ====== */


/* ====== HOW TO USE IN ELEMENTOR ====== */

/* STEP 1: Add this CSS to Elementor > Site Settings > Custom CSS */

/* STEP 2: Add one of these classes to your image: */
/* - float-natural (irregular timing, small bounces) */
/* - float-bob (gentle bobbing, very subtle) */
/* - float-drift (long cycle with slight horizontal drift) */
/* - float-water-subtle (barely noticeable, most realistic) */
/* - float-organic (completely irregular, dual animations) */

/* STEP 3: Select image > Advanced > CSS Classes > Add class name */

/* RECOMMENDED FOR REALISTIC WATER: */
/* - Use "float-water-subtle" for barely noticeable movement */
/* - Use "float-natural" for small realistic bounces */
/* - Use "float-drift" for most realistic with slight drift */

/* PRO TIP: Multiple images */
/* Give different images different classes for varied movement */
/* Add animation-delay to stagger timing: */

.elementor-618 .elementor-element.elementor-element-7591dc8 {
    animation-delay: 2s; /* Starts 2 seconds later */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-5c15c72 */.texter {
     mix-blend-mode: difference;
  transition: mix-blend-mode 0.5s ease;
}

/* Adjust the blend mode on scroll */
.scrolled .texter {
  mix-blend-mode: normal;
}
.storyteller {
  color: #FF5500; /* or any color you want */
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-32f96a3 */.mumbai-text {
  font-family: "Times New Roman", Times, serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-61f5f4a */.mumbai-text {
  font-family: "Times New Roman", Times, serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8651e0c *//* Import Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

/* ===== FORCE SHARP EDGES ===== */
.grid-item,
.elementor .grid-item,
.elementor-element .grid-item,
div.grid-item,
.grid-item img,
.elementor .grid-item img,
div.grid-item img,
.grid-overlay,
.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  border-radius: 0 !important;
}

/* ===== GRID CONTAINER - NO GLASSMORPHISM ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.grid-item:hover {
  cursor: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* FORCE CURSOR HIDING ON EVERYTHING INSIDE GRID ITEMS */
.grid-item,
.grid-item *,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after,
.grid-item:hover,
.grid-item:hover *,
.grid-item a,
.grid-item a:hover,
.grid-item img,
.grid-item img:hover,
.grid-item div,
.grid-item div:hover,
.grid-item span,
.grid-item span:hover {
  cursor: none !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
  will-change: transform !important;
  cursor: none !important;
  transform-origin: center center !important;
}

.grid-item:hover img {
  transform: scale(1.15) !important;
}

/* ===== ELEMENTOR COMPATIBILITY ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* Hide cursor on all grid item children */
.grid-item *,
.grid-item a,
.grid-item img,
.grid-item div {
  cursor: none !important;
}

/* ===== FLAG STYLING - NO GLASSMORPHISM ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: #000000 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 4px 10px !important;
  border-radius: 3px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  opacity: 0.9 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
  cursor: none !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY SYSTEM - ENHANCED SPECIFICITY ===== */
.grid-overlay,
.grid-item .grid-overlay,
div.grid-item .grid-overlay,
.elementor .grid-item .grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.85) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  cursor: none !important;
}

.grid-item:hover .grid-overlay,
div.grid-item:hover .grid-overlay,
.elementor .grid-item:hover .grid-overlay,
.grid-item:hover > .grid-overlay {
  opacity: 1 !important;
  display: flex !important;
  visibility: visible !important;
}

/* ===== TITLE STYLING ===== */
.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: none !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: none !important;
  transition: none !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: none !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

/* ===== DESCRIPTION - CLEAN WHITE TEXT ON DARK OVERLAY ===== */
.overlay-description,
.grid-item .overlay-description,
.grid-overlay .overlay-description,
div.overlay-description {
  color: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  max-width: 80% !important;
  text-align: center !important;
  position: relative !important;
  z-index: 25 !important;
  transform: none !important;
  transition: none !important;
  
  /* CLEAN TEXT - NO BACKGROUND NEEDED */
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  opacity: 1 !important;
  cursor: none !important;
}

/* Extra specificity for stubborn cases */
.grid-item:hover .overlay-description,
.grid-overlay:hover .overlay-description {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Remove text animations completely */
.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: none !important;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
    padding: 10px 16px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 3px 8px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
    padding: 8px 14px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 3px 6px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2fd3377 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-963e1f8 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a785d08 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5ca8553 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c02c589 *//* ===== GRID CONTAINER SETUP ===== */
.grid-item {
  position: relative !important;
  overflow: hidden !important;
  cursor: default !important;
  transform-style: preserve-3d !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  transition: all 0.3s ease !important;
}

.grid-item:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transform: translateY(-5px) !important;
}

/* ===== IMAGE STYLING ===== */
.grid-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 18px !important;
  transition: filter 0.4s ease, transform 0.4s ease !important;
  will-change: filter, transform !important;
}

.grid-item:hover img {
  filter: blur(8px) !important;
  transform: scale(1.02) !important;
}

/* ===== ELEMENTOR OVERRIDES ===== */
.grid-item .elementor-widget-html {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10 !important;
  pointer-events: none !important;
}

.grid-item .elementor-widget-html .elementor-widget-container {
  height: 100% !important;
  position: relative !important;
}

/* Remove Elementor backgrounds */
.grid-item .elementor-element,
.grid-item .elementor-widget,
.grid-item .elementor-widget-container,
.grid-item .elementor-section,
.grid-item .elementor-column,
.grid-item .elementor-container,
.grid-item::before,
.grid-item::after,
.grid-item *::before,
.grid-item *::after {
  background: transparent !important;
}

/* ===== FLAG STYLING ===== */
.grid-flag {
  position: absolute !important;
  top: 15px !important;
  right: 15px !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  padding: 3px 8px !important;
  border-radius: 10px !important;
  font: 600 8px/1 sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  z-index: 15 !important;
  backdrop-filter: blur(10px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  transition: opacity 0.4s ease, transform 0.4s ease !important;
}

.grid-item:hover .grid-flag {
  opacity: 0 !important;
  transform: translateX(100%) !important;
}

/* ===== OVERLAY AND TEXT ===== */
.grid-overlay {
  position: absolute !important;
  inset: 2px !important;
  background: rgba(0, 0, 0, 0.8) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  opacity: 0 !important;
  padding: 20px !important;
  z-index: 5 !important;
  border-radius: 18px !important;
  pointer-events: none !important;
  transition: opacity 0.4s ease !important;
}

.grid-item:hover .grid-overlay {
  opacity: 1 !important;
}

.overlay-title {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fedd0b !important;
  font: 600 24px/1 sans-serif !important;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
  cursor: pointer !important;
  z-index: 20 !important;
  padding-top: 30px !important;
  transform: translateY(25px) !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s !important;
}

.overlay-title a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  color: inherit !important;
  cursor: pointer !important;
  gap: 15px !important;
  padding-top: 30px !important;
}

.overlay-description {
  color: #ffffff !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 14px !important;
  line-height: 1 !important;
  max-width: 80% !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8) !important;
  text-align: center !important;
  position: relative !important;
  z-index: 1 !important;
  transform: translateY(30px) !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s !important;
}

.grid-item:hover .overlay-title,
.grid-item:hover .overlay-description {
  transform: translateY(0) !important;
}

/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 768px) {
  .grid-item {
    transform: none !important;
  }
  
  .grid-overlay {
    opacity: 0 !important;
  }
  
  .grid-item:hover .grid-overlay,
  .grid-item:active .grid-overlay {
    opacity: 1 !important;
  }
  
  .overlay-title {
    font-size: 20px !important;
    padding-top: 20px !important;
  }
  
  .overlay-title a {
    padding-top: 20px !important;
    gap: 10px !important;
  }
  
  .overlay-description {
    font-size: 14px !important;
  }
  
  .grid-flag {
    top: 10px !important;
    right: 10px !important;
    font-size: 7px !important;
    padding: 2px 6px !important;
  }
}

@media (max-width: 480px) {
  .overlay-title {
    font-size: 18px !important;
    padding-top: 15px !important;
  }
  
  .overlay-title a {
    padding-top: 15px !important;
    gap: 8px !important;
  }
  
  .overlay-description {
    font-size: 12px !important;
  }
  
  .grid-flag {
    top: 8px !important;
    right: 8px !important;
    font-size: 6px !important;
    padding: 2px 5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-d3c6b51 */.texter {
     mix-blend-mode: difference;
  transition: mix-blend-mode 0.5s ease;
}

/* Adjust the blend mode on scroll */
.scrolled .texter {
  mix-blend-mode: normal;
}/* End custom CSS */