.elementor-121 .elementor-element.elementor-element-86e43af{--display:flex;--min-height:200px;--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;border-style:solid;--border-style:solid;border-width:1px 0px 1px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );}.elementor-121 .elementor-element.elementor-element-2736e61{--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:stretch;border-style:solid;--border-style:solid;border-width:0px 1px 0px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:1px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );}.elementor-121 .elementor-element.elementor-element-50d3e84{--display:flex;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-9315153{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 0px 1px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:1px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );}.elementor-121 .elementor-element.elementor-element-2e9ae18{--display:flex;--min-height:12rem;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--gap:2rem 2rem;--row-gap:2rem;--column-gap:2rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:1.5rem;--padding-bottom:1.5rem;--padding-left:1.5rem;--padding-right:1.5rem;}.elementor-121 .elementor-element.elementor-element-7cae363{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-cf65799 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:0.9rem;font-weight:400;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-3f4fba2{--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:flex-start;--align-items:stretch;--gap:1rem 1rem;--row-gap:1rem;--column-gap:1rem;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-121 .elementor-element.elementor-element-7b0d9a6{width:var( --container-widget-width, 2.2rem );max-width:2.2rem;--container-widget-width:2.2rem;--container-widget-flex-grow:0;}.elementor-121 .elementor-element.elementor-element-7b0d9a6 img{width:100%;}.elementor-121 .elementor-element.elementor-element-4fad78c{width:var( --container-widget-width, 6rem );max-width:6rem;--container-widget-width:6rem;--container-widget-flex-grow:0;}.elementor-121 .elementor-element.elementor-element-4fad78c img{width:100%;}.elementor-121 .elementor-element.elementor-element-58ec96a{width:var( --container-widget-width, 6rem );max-width:6rem;--container-widget-width:6rem;--container-widget-flex-grow:0;}.elementor-121 .elementor-element.elementor-element-58ec96a img{width:100%;}.elementor-121 .elementor-element.elementor-element-b7367c2{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-028ab6c{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-a0f5b15{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -4px) 0px;}.elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-a0f5b15 .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-a0f5b15.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-a0f5b15 .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-a0f5b15 .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-0e2146a .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-0e2146a .elementor-heading-title a:hover, .elementor-121 .elementor-element.elementor-element-0e2146a .elementor-heading-title a:focus{color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-97490ff{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-1beff70{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-74cf7fa{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -5px) 0px;}.elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-74cf7fa .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-74cf7fa.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-74cf7fa .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-74cf7fa .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-69a821e .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-69a821e .elementor-heading-title a:hover, .elementor-121 .elementor-element.elementor-element-69a821e .elementor-heading-title a:focus{color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-63def56{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-cf1f716{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-e1be20e{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -6px) 0px;}.elementor-121 .elementor-element.elementor-element-e1be20e.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-e1be20e .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-e1be20e.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-e1be20e .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-e1be20e .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-b8c09b3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-b8c09b3 .elementor-heading-title a:hover, .elementor-121 .elementor-element.elementor-element-b8c09b3 .elementor-heading-title a:focus{color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-d8831c9{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-82f1410{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-dfa21d8{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -5px) 0px;}.elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-dfa21d8 .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-dfa21d8.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-dfa21d8 .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-dfa21d8 .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-40e8afb .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-40e8afb .elementor-heading-title a:hover, .elementor-121 .elementor-element.elementor-element-40e8afb .elementor-heading-title a:focus{color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-d8293e4{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-b623823{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-18528c7{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -6px) 0px;}.elementor-121 .elementor-element.elementor-element-18528c7.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-18528c7 .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-18528c7.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-18528c7 .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-18528c7 .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-b2ddfed .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-b2ddfed .elementor-heading-title a:hover, .elementor-121 .elementor-element.elementor-element-b2ddfed .elementor-heading-title a:focus{color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-88f05fe{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;border-style:solid;--border-style:solid;border-width:0px 0px 0px 1px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:1px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );}.elementor-121 .elementor-element.elementor-element-3d3bcac{--display:flex;--min-height:12rem;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:2rem 2rem;--row-gap:2rem;--column-gap:2rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:1.5rem;--padding-bottom:1.5rem;--padding-left:1.5rem;--padding-right:1.5rem;}.elementor-121 .elementor-element.elementor-element-95c5700{--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:flex-start;--align-items:center;--gap:0.5rem 0.5rem;--row-gap:0.5rem;--column-gap:0.5rem;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-121 .elementor-element.elementor-element-6241257 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:0.9rem;font-weight:400;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-f2cc704{width:var( --container-widget-width, 1.2rem );max-width:1.2rem;margin:-7px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:1.2rem;--container-widget-flex-grow:0;}.elementor-121 .elementor-element.elementor-element-f2cc704 img{width:1.2rem;height:1.2rem;object-fit:cover;object-position:center center;}.elementor-121 .elementor-element.elementor-element-a2b3f55{--display:flex;}.elementor-121 .elementor-element.elementor-element-a6ec2cf{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-1a0b5ca{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-7bc6e96{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -3px) 0px;}.elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-7bc6e96 .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-stacked .elementor-icon{background-color:#5E5D59;}.elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-default .elementor-icon{color:#5E5D59;border-color:#5E5D59;}.elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-default .elementor-icon svg{fill:#5E5D59;}.elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-7bc6e96.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-7bc6e96 .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-7bc6e96 .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-fb777da .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-3042821{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-5883a4a{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-81d0c6a{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -5px) 0px;}.elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-81d0c6a .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-stacked .elementor-icon{background-color:#141413;}.elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-default .elementor-icon{color:#141413;border-color:#141413;}.elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-default .elementor-icon svg{fill:#141413;}.elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-81d0c6a.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-81d0c6a .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-81d0c6a .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-dcc4d6a .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-0f7ee97{--display:flex;--min-height:3.2rem;--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-6bae233{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-eec496a{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -6px) 0px;}.elementor-121 .elementor-element.elementor-element-eec496a.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-eec496a .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-eec496a.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-eec496a .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-eec496a .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-9c9b75d .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-c65c71a{--display:flex;--min-height:3.2rem;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-640e57a );--border-color:var( --e-global-color-640e57a );--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-121 .elementor-element.elementor-element-68ce319{--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:flex-start;--align-items:center;--gap:0.75rem 0.75rem;--row-gap:0.75rem;--column-gap:0.75rem;}.elementor-121 .elementor-element.elementor-element-c757266{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -6px) 0px;}.elementor-121 .elementor-element.elementor-element-c757266.elementor-element{--align-self:flex-start;}.elementor-121 .elementor-element.elementor-element-c757266 .elementor-icon-wrapper{text-align:start;}.elementor-121 .elementor-element.elementor-element-c757266.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-c757266.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-c757266.elementor-view-default .elementor-icon{color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-c757266.elementor-view-framed .elementor-icon, .elementor-121 .elementor-element.elementor-element-c757266.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-c757266.elementor-view-stacked .elementor-icon:hover{background-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-c757266.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-c757266.elementor-view-default .elementor-icon:hover{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-c757266.elementor-view-framed .elementor-icon:hover, .elementor-121 .elementor-element.elementor-element-c757266.elementor-view-default .elementor-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-121 .elementor-element.elementor-element-c757266 .elementor-icon{font-size:1.4rem;}.elementor-121 .elementor-element.elementor-element-c757266 .elementor-icon svg{height:1.4rem;}.elementor-121 .elementor-element.elementor-element-3bf7504 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:500;line-height:1.2em;color:var( --e-global-color-text );}.elementor-121 .elementor-element.elementor-element-4a4cb78{--display:flex;--min-height:3.2rem;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;--padding-top:0.75rem;--padding-bottom:0.75rem;--padding-left:0.75rem;--padding-right:0.75rem;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-121 .elementor-element.elementor-element-50d3e84{--width:50%;}.elementor-121 .elementor-element.elementor-element-9315153{--width:25%;}.elementor-121 .elementor-element.elementor-element-028ab6c{--width:6.8rem;}.elementor-121 .elementor-element.elementor-element-1beff70{--width:7.8rem;}.elementor-121 .elementor-element.elementor-element-cf1f716{--width:8rem;}.elementor-121 .elementor-element.elementor-element-82f1410{--width:6rem;}.elementor-121 .elementor-element.elementor-element-b623823{--width:7.2rem;}.elementor-121 .elementor-element.elementor-element-88f05fe{--width:25%;}.elementor-121 .elementor-element.elementor-element-1a0b5ca{--width:6rem;}.elementor-121 .elementor-element.elementor-element-5883a4a{--width:6.6rem;}.elementor-121 .elementor-element.elementor-element-6bae233{--width:8rem;}.elementor-121 .elementor-element.elementor-element-68ce319{--width:8rem;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for container, class: .elementor-element-86e43af */.ascii-animation {
    position: relative !important;
    overflow: hidden !important;
  }

  /* The animation wrapper */
  .ascii-animation .ascii-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
  }

  /* Fade edges into white */
  .ascii-animation .ascii-bg .ascii-fade-top {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 55%;
    background: linear-gradient(to bottom, #FFFFFF 30%, transparent 100%);
    z-index: 2;
  }
  .ascii-animation .ascii-bg .ascii-fade-bottom {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 12%;
    background: linear-gradient(to top, #FFFFFF 0%, transparent 100%);
    z-index: 2;
  }
  .ascii-animation .ascii-bg .ascii-fade-left {
    position: absolute;
    top: 0; left: 0; bottom: 0;
    width: 6%;
    background: linear-gradient(to right, #FFFFFF 0%, transparent 100%);
    z-index: 2;
  }
  .ascii-animation .ascii-bg .ascii-fade-right {
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 6%;
    background: linear-gradient(to left, #FFFFFF 0%, transparent 100%);
    z-index: 2;
  }

  /* ASCII canvas */
  .ascii-animation .ascii-bg pre {
    font-family: 'SF Mono', 'Fira Code', 'Cascadia Code', 'Consolas', 'Courier New', monospace;
    font-size: clamp(5px, 0.75vw, 9px);
    line-height: 1.2;
    color: #C2703A;
    white-space: pre;
    margin: 0;
    padding: 0;
    user-select: none;
    -webkit-user-select: none;
    opacity: 0.45;
    letter-spacing: 0.5px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
  }

  /* Variant: subtle */
  .ascii-animation-subtle .ascii-bg pre {
    opacity: 0.25;
  }

  /* Keep all Elementor content on top */
  .ascii-animation > .elementor-widget-wrap,
  .ascii-animation > .e-con-inner,
  .ascii-animation > .elementor-element {
    position: relative;
    z-index: 5;
  }
</style>

<script>
(function () {
  'use strict';

  // ─── CONFIG ────────────────────────────────────────────
  var CHARS = [' ', '.', '\u00B7', ':', '-', '+', '=', 'X', '#'];
  var TARGET_CLASS = 'ascii-animation';

  function getConfig(el) {
    return {
      cols: el.classList.contains('ascii-animation-dense') ? 180 : 150,
      rows: el.classList.contains('ascii-animation-dense') ? 36 : 30,
      speed: el.classList.contains('ascii-animation-slow') ? 0.012 : 0.022,
      opacity: el.classList.contains('ascii-animation-subtle') ? 0.25 : 0.45,
    };
  }

  // Generate column silhouette profile
  function generateColumns(cols) {
    var data = [];
    for (var i = 0; i < cols; i++) {
      var x = i / cols;
      var peak1 = Math.exp(-Math.pow((x - 0.25) * 4.5, 2)) * 0.6;
      var peak2 = Math.exp(-Math.pow((x - 0.45) * 5, 2)) * 1.0;
      var peak3 = Math.exp(-Math.pow((x - 0.65) * 4, 2)) * 0.9;
      var peak4 = Math.exp(-Math.pow((x - 0.12) * 6, 2)) * 0.35;
      var peak5 = Math.exp(-Math.pow((x - 0.82) * 5, 2)) * 0.55;
      var peak6 = Math.exp(-Math.pow((x - 0.95) * 7, 2)) * 0.3;
      var base = 0.06 + Math.sin(x * 14) * 0.025;
      var height = base + peak1 + peak2 + peak3 + peak4 + peak5 + peak6;
      var noise = (Math.random() - 0.5) * 0.07;

      data.push({
        maxHeight: Math.min(1, height + noise),
        phase: Math.random() * Math.PI * 2,
        speed: 0.25 + Math.random() * 0.35,
        flickerRate: 0.4 + Math.random() * 1.8,
      });
    }
    return data;
  }

  // Initialize animation on a single container
  function initAnimation(container) {
    if (container.dataset.asciiInit === 'true') return;
    container.dataset.asciiInit = 'true';

    var cfg = getConfig(container);
    var columns = generateColumns(cfg.cols);
    var time = 0;
    var rafId = null;

    // Build DOM
    var wrapper = document.createElement('div');
    wrapper.className = 'ascii-bg';

    var fadeTop = document.createElement('div');
    fadeTop.className = 'ascii-fade-top';
    var fadeBottom = document.createElement('div');
    fadeBottom.className = 'ascii-fade-bottom';
    var fadeLeft = document.createElement('div');
    fadeLeft.className = 'ascii-fade-left';
    var fadeRight = document.createElement('div');
    fadeRight.className = 'ascii-fade-right';

    var pre = document.createElement('pre');
    pre.style.opacity = cfg.opacity;

    wrapper.appendChild(fadeTop);
    wrapper.appendChild(fadeBottom);
    wrapper.appendChild(fadeLeft);
    wrapper.appendChild(fadeRight);
    wrapper.appendChild(pre);

    // Insert as FIRST child so it's behind everything
    container.insertBefore(wrapper, container.firstChild);

    function renderFrame() {
      var lines = [];
      for (var row = 0; row < cfg.rows; row++) {
        var line = '';
        var rowOp = Math.min(1, 0.2 + (row / cfg.rows) * 0.9);

        for (var col = 0; col < cfg.cols; col++) {
          var cd = columns[col];
          var nRow = 1 - row / cfg.rows;
          var animH = cd.maxHeight * (0.85 + 0.15 * Math.sin(time * cd.speed + cd.phase));

          if (nRow > animH) {
            line += ' ';
            continue;
          }

          var depth = (animH - nRow) / animH;
          var flicker = 0.5 + 0.5 * Math.sin(time * cd.flickerRate + col * 0.3 + row * 0.2 + cd.phase);
          var edgeFade = nRow > animH - 0.06 ? (animH - nRow) / 0.06 : 1;
          var intensity = Math.min(1, depth * 1.5 * flicker * edgeFade);
          var charIdx = Math.floor(intensity * (CHARS.length - 1));

          if (intensity < 0.25 && Math.random() > 0.3) {
            line += ' ';
          } else {
            line += CHARS[Math.min(charIdx, CHARS.length - 1)];
          }
        }
        lines.push('<span style="opacity:' + rowOp.toFixed(2) + '">' + line + '</span>');
      }
      pre.innerHTML = lines.join('\n');
    }

    function animate() {
      time += cfg.speed;
      renderFrame();
      rafId = requestAnimationFrame(animate);
    }

    // Only animate when visible (performance)
    var observer = new IntersectionObserver(
      function (entries) {
        entries.forEach(function (entry) {
          if (entry.isIntersecting) {
            if (!rafId) animate();
          } else {
            if (rafId) {
              cancelAnimationFrame(rafId);
              rafId = null;
            }
          }
        });
      },
      { threshold: 0.05 }
    );

    observer.observe(container);
    animate();
  }

  // Find and init all target containers
  function initAll() {
    var containers = document.querySelectorAll('.' + TARGET_CLASS);
    for (var i = 0; i < containers.length; i++) {
      initAnimation(containers[i]);
    }
  }

  // Run on DOM ready + watch for Elementor dynamic loading
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initAll);
  } else {
    initAll();
  }

  // Re-check after Elementor frontend loads (for editor preview)
  window.addEventListener('elementor/frontend/init', function () {
    setTimeout(initAll, 500);
  });

  // MutationObserver for dynamically added containers
  var bodyObserver = new MutationObserver(function () {
    initAll();
  });
  bodyObserver.observe(document.body, { childList: true, subtree: true });

})();
</script>/* End custom CSS */