.elementor-85078 .elementor-element.elementor-element-de3238c{--display:flex;--min-height:690px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:70px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-118a112{--display:flex;--justify-content:center;}.elementor-85078 .elementor-element.elementor-element-0440c19 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:46px;font-weight:800;line-height:64px;letter-spacing:0px;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-43fc80a{font-family:"Jost", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button{background-color:#F26E21;font-weight:600;fill:#FFFFFF;color:#FFFFFF;border-radius:11px 11px 11px 11px;padding:16px 24px 016px 024px;}.elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button:hover, .elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button:focus{background-color:#F26E21;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-34ec5ae{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button:hover svg, .elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-844d783{--display:flex;--min-height:934px;--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;--justify-content:flex-start;--overlay-opacity:1;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-844d783::before, .elementor-85078 .elementor-element.elementor-element-844d783 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-844d783 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-844d783 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-844d783 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-844d783 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-85078 .elementor-element.elementor-element-1cfa2b8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-1cfa2b8 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-a594087{--divider-border-style:solid;--divider-color:#1174D1;--divider-border-width:4px;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider-separator{width:33%;}.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85078 .elementor-element.elementor-element-785d6f8{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-4d22e32{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-82cff36{--display:flex;--justify-content:flex-start;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--background-transition:0.3s;--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);--padding-top:10px;--padding-bottom:10px;--padding-left:16px;--padding-right:16px;}.elementor-85078 .elementor-element.elementor-element-82cff36:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-82cff36 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85078 .elementor-element.elementor-element-82cff36:hover{background-color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-833a609{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-833a609 .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-833a609 .elementor-icon{font-size:64px;}.elementor-85078 .elementor-element.elementor-element-833a609 .elementor-icon svg{height:64px;}.elementor-85078 .elementor-element.elementor-element-3797266{padding:0px 0px 0px 0px;text-align:start;}.elementor-85078 .elementor-element.elementor-element-3797266 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:26px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-65f4b1a{--display:flex;--min-height:168px;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-c7f0c92{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;line-height:24px;color:#242424;}.elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-c28304c{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button:hover, .elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button:focus{color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button:hover svg, .elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-ce6cad9{--display:flex;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--background-transition:0.3s;--border-radius:16px 16px 16px 16px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);--padding-top:10px;--padding-bottom:10px;--padding-left:016px;--padding-right:016px;}.elementor-85078 .elementor-element.elementor-element-ce6cad9:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-ce6cad9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover{background-color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-f4a4f1f{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-f4a4f1f .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-f4a4f1f .elementor-icon{font-size:64px;}.elementor-85078 .elementor-element.elementor-element-f4a4f1f .elementor-icon svg{height:64px;}.elementor-85078 .elementor-element.elementor-element-45776cf{padding:0px 0px 0px 0px;text-align:start;}.elementor-85078 .elementor-element.elementor-element-45776cf .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:26px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-feeda69{--display:flex;--min-height:168px;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-3139891{font-size:16px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-35f21ff{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button:hover, .elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button:focus{color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button:hover svg, .elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-070f7c0{--display:flex;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--background-transition:0.3s;--border-radius:16px 16px 16px 16px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);--padding-top:10px;--padding-bottom:10px;--padding-left:016px;--padding-right:016px;}.elementor-85078 .elementor-element.elementor-element-070f7c0:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-070f7c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85078 .elementor-element.elementor-element-070f7c0:hover{background-color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-a830093{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-a830093 .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-a830093 .elementor-icon{font-size:64px;}.elementor-85078 .elementor-element.elementor-element-a830093 .elementor-icon svg{height:64px;}.elementor-85078 .elementor-element.elementor-element-15e5197{padding:0px 0px 0px 0px;text-align:start;}.elementor-85078 .elementor-element.elementor-element-15e5197 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:26px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-a6ebce3{--display:flex;--min-height:168px;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-35b6b70{font-size:16px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-0c00b93{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button:hover, .elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button:focus{color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button:hover svg, .elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-84f84f7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-4069699{--display:flex;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--background-transition:0.3s;--border-radius:10px 10px 10px 10px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);--padding-top:10px;--padding-bottom:10px;--padding-left:16px;--padding-right:16px;}.elementor-85078 .elementor-element.elementor-element-4069699:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-4069699 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85078 .elementor-element.elementor-element-4069699:hover{background-color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-687fc35{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-687fc35 .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-687fc35 .elementor-icon{font-size:64px;}.elementor-85078 .elementor-element.elementor-element-687fc35 .elementor-icon svg{height:64px;}.elementor-85078 .elementor-element.elementor-element-77cc6cb{padding:0px 0px 0px 0px;text-align:start;}.elementor-85078 .elementor-element.elementor-element-77cc6cb .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-f4803e9{--display:flex;--min-height:193px;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-e3674a8{font-size:16px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-fcb983d{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button:hover, .elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button:focus{color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button:hover svg, .elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-3f13b25{--display:flex;--justify-content:flex-start;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--background-transition:0.3s;--border-radius:16px 16px 16px 16px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);--padding-top:10px;--padding-bottom:10px;--padding-left:016px;--padding-right:016px;}.elementor-85078 .elementor-element.elementor-element-3f13b25:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-3f13b25 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85078 .elementor-element.elementor-element-3f13b25:hover{background-color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-595b5aa{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-595b5aa .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-595b5aa .elementor-icon{font-size:64px;}.elementor-85078 .elementor-element.elementor-element-595b5aa .elementor-icon svg{height:64px;}.elementor-85078 .elementor-element.elementor-element-b7c75da{padding:0px 0px 0px 0px;text-align:start;}.elementor-85078 .elementor-element.elementor-element-b7c75da .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-5ad71d6{--display:flex;--min-height:193px;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-0354abd{font-size:16px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-3cc2a2c{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button:hover, .elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button:focus{color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button:hover svg, .elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-a722d33{--display:flex;--gap:10px 0px;--row-gap:10px;--column-gap:0px;--background-transition:0.3s;--border-radius:16px 16px 16px 16px;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);--padding-top:10px;--padding-bottom:10px;--padding-left:016px;--padding-right:016px;}.elementor-85078 .elementor-element.elementor-element-a722d33:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-a722d33 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85078 .elementor-element.elementor-element-a722d33:hover{background-color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-502d939{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-502d939 .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-502d939 .elementor-icon{font-size:64px;}.elementor-85078 .elementor-element.elementor-element-502d939 .elementor-icon svg{height:64px;}.elementor-85078 .elementor-element.elementor-element-d33e6e4{padding:0px 0px 0px 0px;text-align:start;}.elementor-85078 .elementor-element.elementor-element-d33e6e4 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-6fba13d{--display:flex;--justify-content:flex-start;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-1ffa294{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-28d0ccb{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button:hover, .elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button:focus{color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button:hover svg, .elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-7ffcb0d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-7ffcb0d:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-7ffcb0d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://cloud.10decoders.co.in/services/subtle-prism-background.svg");background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-810e1c8{--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;--justify-content:center;--overlay-opacity:1;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-810e1c8:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-810e1c8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-810e1c8::before, .elementor-85078 .elementor-element.elementor-element-810e1c8 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-810e1c8 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-810e1c8 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-810e1c8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-810e1c8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/09/Group-9568.png");--background-overlay:'';background-repeat:no-repeat;background-size:contain;}.elementor-85078 .elementor-element.elementor-element-bd70088{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-bd70088 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-fb798b8{--divider-border-style:solid;--divider-color:#FFFFFF;--divider-border-width:4px;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-fb798b8 .elementor-divider-separator{width:48%;}.elementor-85078 .elementor-element.elementor-element-fb798b8 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85078 .elementor-element.elementor-element-8e35079{font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-28e9d6b{--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:40px 20px;--row-gap:40px;--column-gap:20px;--padding-top:40px;--padding-bottom:40px;--padding-left:30px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-c21c6cc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-fc5a822{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-title{color:#000000;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-7272ed6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon-box-title{color:#000000;}.elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-ff1bdd6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-6eaa035{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon-box-title{color:#000000;}.elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-e3c0c6a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon-box-title{color:#000000;}.elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-567c4fc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-4349908{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon-box-title{color:#000000;}.elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-a9d68e1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon-box-title{color:#000000;}.elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-74f4a28{--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;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-2ade7b5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-2ade7b5 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-76fd045{--divider-border-style:solid;--divider-color:#1174D1;--divider-border-width:4px;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider-separator{width:33%;}.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85078 .elementor-element.elementor-element-6181506{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-b9c6d3c{--display:flex;--min-height:340px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-a1df21d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-fd5bf55{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-fd5bf55:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-fd5bf55::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-b5a793d .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-b5a793d .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-b5a793d .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-925b03b{text-align:center;}.elementor-85078 .elementor-element.elementor-element-925b03b .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85078 .elementor-element.elementor-element-5d8564f{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-f460a47{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-80ebd05{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-80ebd05:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-80ebd05::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-262684a .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-262684a .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-262684a .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-54e3ffe{padding:0px 0px 30px 0px;text-align:center;}.elementor-85078 .elementor-element.elementor-element-54e3ffe .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-08e4c2f{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-ecf427d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-172945a{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-172945a:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-172945a::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-172945a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-172945a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-0645a5f .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-0645a5f .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-0645a5f .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-c9dbedb{text-align:center;}.elementor-85078 .elementor-element.elementor-element-c9dbedb .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85078 .elementor-element.elementor-element-b7c780f{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-0a5990e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-8e69246{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-8e69246:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-8e69246::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-14f0d72 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-14f0d72 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-14f0d72 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-8d426c2{padding:0px 0px 30px 0px;text-align:center;}.elementor-85078 .elementor-element.elementor-element-8d426c2 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-f84834c{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-754ca00{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-9b6f502{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-9b6f502:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-9b6f502::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-1aa86be .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-1aa86be .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-1aa86be .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-f4b750e{text-align:center;}.elementor-85078 .elementor-element.elementor-element-f4b750e .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85078 .elementor-element.elementor-element-4bb62d4{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-539f21d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-45f8a2b{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-45f8a2b:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-45f8a2b::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-f8ca6dd .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-f8ca6dd .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-f8ca6dd .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-6a12aba{text-align:center;}.elementor-85078 .elementor-element.elementor-element-6a12aba .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85078 .elementor-element.elementor-element-e89c04f{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-e26d56c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-f80493e{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-f80493e:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-f80493e::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-d10f6d9 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-d10f6d9 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-d10f6d9 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-5768d6f{text-align:center;}.elementor-85078 .elementor-element.elementor-element-5768d6f .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85078 .elementor-element.elementor-element-8930681{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-16484b9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-cfdba2a{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-cfdba2a:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-cfdba2a::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-097a97a .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-097a97a .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-097a97a .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-a7fc4cc{padding:0px 0px 30px 0px;text-align:center;}.elementor-85078 .elementor-element.elementor-element-a7fc4cc .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-21480f1{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-1d12bb3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-814f457{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-814f457:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-814f457::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-f7cb9cd .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-f7cb9cd .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-f7cb9cd .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-7420a60{text-align:center;}.elementor-85078 .elementor-element.elementor-element-7420a60 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85078 .elementor-element.elementor-element-057d090{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-a349343{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-2b2445d{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-2b2445d:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-2b2445d::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-9cf0c62 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-9cf0c62 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-9cf0c62 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-1d06a35{text-align:center;}.elementor-85078 .elementor-element.elementor-element-1d06a35 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85078 .elementor-element.elementor-element-20d3d94{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-f1a4507{--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-position:422px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:211px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:418px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:211px;--e-n-carousel-arrow-size:40px;--e-n-carousel-swiper-pagination-size:10px;--e-n-carousel-dots-normal-color:#D9D9D9;--e-n-carousel-dots-horizontal-position:50%;--e-n-carousel-dots-horizontal-transform:-50%;--e-n-carousel-dots-vertical-offset:10px;}.elementor-85078 .elementor-element.elementor-element-bc70299{--display:flex;}.elementor-85078 .elementor-element.elementor-element-babf53c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-0c978ea{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-0c978ea:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-0c978ea::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-915f0e4 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-915f0e4 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-915f0e4 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-74e4a5d{text-align:center;}.elementor-85078 .elementor-element.elementor-element-74e4a5d .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-7ef7f93{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-3f6d504{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-b9cec88{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-b9cec88:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-b9cec88::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-0b880b1 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-0b880b1 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-0b880b1 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-f4cbbe8{text-align:center;}.elementor-85078 .elementor-element.elementor-element-f4cbbe8 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-2c6c8ba{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-6a21316{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-90d7a9a{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-90d7a9a:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-90d7a9a::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-6606ed3 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-6606ed3 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-6606ed3 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-10b3a3c{text-align:center;}.elementor-85078 .elementor-element.elementor-element-10b3a3c .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-aa0a7fb{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-a215983{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-26c7e85{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-26c7e85:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-26c7e85::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-ef139ed .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-ef139ed .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-ef139ed .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-e213505{text-align:center;}.elementor-85078 .elementor-element.elementor-element-e213505 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-6275c2d{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-dbed8ab{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-431ed3f{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-431ed3f:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-431ed3f::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-e1081af .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-e1081af .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-e1081af .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-f6329ea{text-align:center;}.elementor-85078 .elementor-element.elementor-element-f6329ea .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-cc236bb{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-4b2d6ee{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-78fb39f{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-78fb39f:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-78fb39f::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-35ffea0 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-35ffea0 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-35ffea0 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-29494cc{text-align:center;}.elementor-85078 .elementor-element.elementor-element-29494cc .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-8b63392{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-40d25fc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-acf4aac{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-acf4aac:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-acf4aac::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-c518885 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-c518885 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-c518885 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-f0d0f33{text-align:center;}.elementor-85078 .elementor-element.elementor-element-f0d0f33 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-de94bfd{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-81220b5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-5d78c80{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-5d78c80:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-5d78c80::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-2b0befe .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-2b0befe .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-2b0befe .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-167d86c{text-align:center;}.elementor-85078 .elementor-element.elementor-element-167d86c .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-d1d3fbd{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-6a06495{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-2ef3212{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-2ef3212:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-2ef3212::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-aa6237d .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-aa6237d .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-aa6237d .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-db5a44b{text-align:center;}.elementor-85078 .elementor-element.elementor-element-db5a44b .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-2c67dcb{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-40c93b6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-943b5df{--display:flex;--min-height:340px;--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;--justify-content:center;--overlay-opacity:0.85;border-style:none;--border-style:none;--border-radius:012px 012px 012px 012px;}.elementor-85078 .elementor-element.elementor-element-943b5df:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-943b5df::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://10decoders.com/wp-content/uploads/2025/10/Group-9671.png");--background-overlay:'';background-position:53px -24px;background-repeat:no-repeat;background-size:cover;}.elementor-85078 .elementor-element.elementor-element-7dc1835 .elementor-icon-wrapper{text-align:center;}.elementor-85078 .elementor-element.elementor-element-7dc1835 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-7dc1835 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-2885898{text-align:center;}.elementor-85078 .elementor-element.elementor-element-2885898 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-cda2233{text-align:center;font-size:16px;font-weight:400;}.elementor-85078 .elementor-element.elementor-element-e058bab{--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;}.elementor-85078 .elementor-element.elementor-element-c42d577{--display:flex;--min-height:387px;--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;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-c42d577:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-c42d577 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-e24d0ca{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-aeb1431{--display:flex;}.elementor-85078 .elementor-element.elementor-element-dfe9912{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-dfe9912 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-35db408{--divider-border-style:solid;--divider-color:#1174D1;--divider-border-width:4px;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider-separator{width:33%;}.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85078 .elementor-element.elementor-element-ab31708{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-acd5fa6{--display:flex;}.elementor-85078 .elementor-element.elementor-element-862431b{--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;--border-radius:0px 0px 0px 0px;--margin-top:-78px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-3d6411a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-9e15e59{--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;--justify-content:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-03ecfb4 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-c23c22b{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-44c72ba{--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;}.elementor-85078 .elementor-element.elementor-element-0e1ea42{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-ba1d75d{--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;--justify-content:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-dca0ead .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-6023ba0{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-556bafd{--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;}.elementor-85078 .elementor-element.elementor-element-23e63ac{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-4460d4e{--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;--justify-content:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-e03e3b0 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-bcaa803{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-17a3489{--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;}.elementor-85078 .elementor-element.elementor-element-962107c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-0ae9a5f{--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;--justify-content:center;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-a948a26 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-eb57129{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-131f0aa{--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;}.elementor-85078 .elementor-element.elementor-element-6e9f677{--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-gap:0px;--n-tabs-gap:52px;--n-tabs-title-border-radius:012px 012px 0px 0px;--n-tabs-title-color:#242424;--n-tabs-title-color-active:#1174D1;}.elementor-85078 .elementor-element.elementor-element-6e9f677 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-6e9f677.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-6e9f677.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-85078 .elementor-element.elementor-element-6e9f677.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-6e9f677.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-weight:600;}.elementor-85078 .elementor-element.elementor-element-6e9f677 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#1174D1;}.elementor-85078 .elementor-element.elementor-element-63a3cad{--display:flex;}.elementor-85078 .elementor-element.elementor-element-636c3f2{--display:flex;}.elementor-85078 .elementor-element.elementor-element-636c3f2:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-636c3f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-e44f73c .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-00e7290{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-e9f00d0{--display:flex;}.elementor-85078 .elementor-element.elementor-element-e9f00d0:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-e9f00d0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-4607038 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-ccddbec .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-e8f86ac{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-ee3528f{--display:flex;}.elementor-85078 .elementor-element.elementor-element-ee3528f:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-ee3528f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-fdd8d8d .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-bba7eb5 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-fd89157{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-0c31a44{--display:flex;}.elementor-85078 .elementor-element.elementor-element-0c31a44:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-0c31a44 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-b9f26ac .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-7d8acf9 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85078 .elementor-element.elementor-element-b7ac50e{font-weight:500;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-8c35f92{--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;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-8c35f92:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-8c35f92 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-eda7893{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-eda7893 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-79f01c3{--divider-border-style:solid;--divider-color:#1174D1;--divider-border-width:4px;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider-separator{width:33%;}.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85078 .elementor-element.elementor-element-f57a30c{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-0bb0bd0{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-3623f79{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--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-85078 .elementor-element.elementor-element-46966ef{--display:flex;--min-height:0px;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 01px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:01px;--border-left-width:0px;border-color:#88B9E8;--border-color:#88B9E8;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon{font-size:50px;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title{color:#151515;}.elementor-85078 .elementor-element.elementor-element-5863249{padding:0px 20px 0px 0px;color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-e48c980{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-4d6e22d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-048cf71{--display:flex;border-style:solid;--border-style:solid;border-width:0px 01px 0px 0px;--border-top-width:0px;--border-right-width:01px;--border-bottom-width:0px;--border-left-width:0px;border-color:#88B9E8;--border-color:#88B9E8;--border-radius:0px 0px 0px 0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-wrapper{gap:15px;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon{font-size:50px;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title{color:#151515;}.elementor-85078 .elementor-element.elementor-element-01343a9{color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-779b07e{--display:flex;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-wrapper{gap:15px;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon{font-size:50px;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title{color:#151515;}.elementor-85078 .elementor-element.elementor-element-918b4b1{color:#242424CC;}.elementor-85078 .elementor-element.elementor-element-93995df{--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;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-ee436f3{--display:flex;--border-radius:16px 16px 16px 16px;--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-ee436f3:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-ee436f3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#C1E4FF36;}.elementor-85078 .elementor-element.elementor-element-d0b3b95{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-d0b3b95 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec{--divider-border-style:solid;--divider-color:#1174D1;--divider-border-width:4px;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider-separator{width:33%;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85078 .elementor-element.elementor-element-2d976f4{font-weight:500;color:#242424;}.elementor-85078 .elementor-element.elementor-element-8067bbe{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-0d0d174{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85078 .elementor-element.elementor-element-b8b24a6 .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-b8b24a6 .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-b8b24a6 .elementor-icon svg{height:60px;}.elementor-85078 .elementor-element.elementor-element-8c96602{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-8c96602 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85078 .elementor-element.elementor-element-aad1882{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;line-height:24px;}.elementor-85078 .elementor-element.elementor-element-bf9f9ae{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85078 .elementor-element.elementor-element-724920c .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-724920c .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-724920c .elementor-icon svg{height:60px;}.elementor-85078 .elementor-element.elementor-element-5931ac3{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-5931ac3 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85078 .elementor-element.elementor-element-79b1462{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-85078 .elementor-element.elementor-element-fc7d33b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85078 .elementor-element.elementor-element-681749d .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-681749d .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-681749d .elementor-icon svg{height:60px;}.elementor-85078 .elementor-element.elementor-element-3fc764c{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-3fc764c .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85078 .elementor-element.elementor-element-049bc41{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-85078 .elementor-element.elementor-element-1cb27e4{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85078 .elementor-element.elementor-element-29eb326 .elementor-icon-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-29eb326 .elementor-icon{font-size:60px;}.elementor-85078 .elementor-element.elementor-element-29eb326 .elementor-icon svg{height:60px;}.elementor-85078 .elementor-element.elementor-element-bebcc63{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-bebcc63 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85078 .elementor-element.elementor-element-4d4598f{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-85078 .elementor-element.elementor-element-155415a{--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;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-483e909 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;}.elementor-85078 .elementor-element.elementor-element-78b8904{--divider-border-style:solid;--divider-color:#1174D1;--divider-border-width:4px;margin:-25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-78b8904 .elementor-divider-separator{width:13%;}.elementor-85078 .elementor-element.elementor-element-78b8904 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85078 .elementor-element.elementor-element-ccf25de{--display:flex;--min-height:650px;--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;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-1bbfafb{--display:flex;--min-height:620px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--border-radius:16px 16px 16px 16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-1bbfafb:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-1bbfafb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://cloud.10decoders.co.in/home/contact-us-bg-image.png");background-size:cover;}.elementor-85078 .elementor-element.elementor-element-619ed76{--display:flex;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-f3119d1{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:36px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-7e9967d{text-align:start;}.elementor-85078 .elementor-element.elementor-element-7e9967d .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-c09ae89{font-family:"Jost", Sans-serif;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-5d0161c{text-align:start;}.elementor-85078 .elementor-element.elementor-element-0dd9af2 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-5f63e81 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-5218280{font-family:"Jost", Sans-serif;font-size:14px;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-4d69e68 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:500;color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-98cf910{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(12px/2);}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(12px/2);}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(12px/2);}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-12px/2);}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-12px/2);}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-85078 .elementor-element.elementor-element-3dbe81d{--e-icon-list-icon-size:36px;--icon-vertical-offset:0px;}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:16px;line-height:24px;}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-85078 .elementor-element.elementor-element-dbab44f{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:60px;}.elementor-85078 .elementor-element.elementor-element-8838c0d{--display:flex;--border-radius:16px 16px 16px 16px;}.elementor-85078 .elementor-element.elementor-element-8838c0d:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-8838c0d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-84ffd16{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-84ffd16:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-84ffd16 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-5971a61{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-6e75ff6{--display:flex;--min-height:35px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--border-radius:8px 8px 8px 8px;}.elementor-85078 .elementor-element.elementor-element-6e75ff6:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-6e75ff6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85078 .elementor-element.elementor-element-e6a549a .elementor-heading-title{font-size:18px;font-weight:normal;color:#1174D1;}.elementor-85078 .elementor-element.elementor-element-31c6137{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-85078 .elementor-element.elementor-element-31c6137 .elementor-heading-title{font-size:54px;font-weight:600;line-height:42px;color:#151515;}.elementor-85078 .elementor-element.elementor-element-86a15e4{--display:flex;border-style:none;--border-style:none;--border-radius:0px 0px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-86a15e4:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-86a15e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-942a570{width:var( --container-widget-width, 901px );max-width:901px;padding:0px 24px 24px 24px;--container-widget-width:901px;--container-widget-flex-grow:0;color:#000000BF;}.elementor-85078 .elementor-element.elementor-element-faf5dfd{--display:flex;border-style:none;--border-style:none;--border-radius:0px 0px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-faf5dfd:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-faf5dfd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-676c3a1{width:var( --container-widget-width, 901px );max-width:901px;padding:0px 24px 24px 24px;--container-widget-width:901px;--container-widget-flex-grow:0;color:#000000BF;}.elementor-85078 .elementor-element.elementor-element-541e339{--display:flex;border-style:none;--border-style:none;--border-radius:0px 0px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-541e339:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-541e339 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-1ee2c05{width:var( --container-widget-width, 901px );max-width:901px;padding:0px 24px 24px 24px;--container-widget-width:901px;--container-widget-flex-grow:0;color:#000000BF;}.elementor-85078 .elementor-element.elementor-element-5171ea3{--display:flex;border-style:none;--border-style:none;--border-radius:0px 0px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-5171ea3:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-5171ea3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-70edf07{width:var( --container-widget-width, 901px );max-width:901px;padding:0px 24px 24px 24px;--container-widget-width:901px;--container-widget-flex-grow:0;color:#000000BF;}.elementor-85078 .elementor-element.elementor-element-b454932{--display:flex;border-style:none;--border-style:none;--border-radius:0px 0px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-b454932:not(.elementor-motion-effects-element-type-background), .elementor-85078 .elementor-element.elementor-element-b454932 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-c4f97e0{width:var( --container-widget-width, 901px );max-width:901px;padding:0px 24px 24px 24px;--container-widget-width:901px;--container-widget-flex-grow:0;color:#000000BF;}.elementor-85078 .elementor-element.elementor-element-975d428{--n-accordion-title-font-size:18px;width:var( --container-widget-width, 1075px );max-width:1075px;margin:36px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--container-widget-width:1075px;--container-widget-flex-grow:0;border-style:none;--n-accordion-title-justify-content:space-between;--n-accordion-title-flex-grow:1;--n-accordion-title-icon-order:initial;--n-accordion-item-title-space-between:16px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-border-radius:0px 0px 0px 0px;--n-accordion-title-normal-color:#070707;--n-accordion-title-hover-color:#070707;--n-accordion-title-active-color:#070707;--n-accordion-icon-size:20px;}.elementor-85078 .elementor-element.elementor-element-975d428 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#FFFFFF;border-style:none;}.elementor-85078 .elementor-element.elementor-element-975d428 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-975d428 > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:#FFFFFF;}.elementor-85078 .elementor-element.elementor-element-975d428 {--n-accordion-padding:24px 24px 24px 24px;}:where( .elementor-85078 .elementor-element.elementor-element-975d428 > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-weight:bold;}.elementor-85078 .elementor-element.elementor-element-975d428 :where( .elementor-85078 .elementor-element.elementor-element-975d428 > .e-n-accordion > .e-n-accordion-item:not([open]) > .e-n-accordion-item-title:not(hover) > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{-webkit-text-stroke-color:#000;stroke:#000;}:where( .elementor-85078 .elementor-element.elementor-element-975d428 > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;}.elementor-85078 .elementor-element.elementor-element-f5f1e54{--display:flex;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-85078 .elementor-element.elementor-element-de3238c{--min-height:564px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:20px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-844d783{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-1cfa2b8 .elementor-heading-title{line-height:42px;}.elementor-85078 .elementor-element.elementor-element-785d6f8{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-c7f0c92{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-4069699{--justify-content:flex-start;}.elementor-85078 .elementor-element.elementor-element-bd70088 .elementor-heading-title{font-size:38px;line-height:48px;}.elementor-85078 .elementor-element.elementor-element-2ade7b5 .elementor-heading-title{line-height:42px;}.elementor-85078 .elementor-element.elementor-element-6181506{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-b9c6d3c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-a1df21d{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-fd5bf55{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-925b03b .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-5d8564f{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-f460a47{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-80ebd05{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-54e3ffe .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-08e4c2f{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-ecf427d{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-172945a{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-c9dbedb .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-b7c780f{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-0a5990e{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-8e69246{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-8d426c2 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-f84834c{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-754ca00{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-9b6f502{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-f4b750e .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-4bb62d4{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-539f21d{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-45f8a2b{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-6a12aba .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-e89c04f{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-e26d56c{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-f80493e{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-5768d6f .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-8930681{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-16484b9{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-cfdba2a{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-a7fc4cc .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-21480f1{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-1d12bb3{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-814f457{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-7420a60 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-057d090{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-a349343{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-2b2445d{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-1d06a35 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-20d3d94{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-0c978ea{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-74e4a5d .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-7ef7f93{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-b9cec88{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-f4cbbe8 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-2c6c8ba{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-90d7a9a{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-10b3a3c .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-aa0a7fb{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-26c7e85{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-e213505 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-6275c2d{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-431ed3f{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-f6329ea .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-cc236bb{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-78fb39f{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-29494cc .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-8b63392{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-acf4aac{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-f0d0f33 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-de94bfd{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-5d78c80{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-167d86c .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-d1d3fbd{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-2ef3212{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-db5a44b .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-2c67dcb{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-943b5df{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-2885898 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-cda2233{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-dfe9912 .elementor-heading-title{line-height:42px;}.elementor-85078 .elementor-element.elementor-element-ab31708{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-c23c22b{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-6023ba0{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-bcaa803{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-eb57129{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-6e9f677{--n-tabs-title-font-size:16px;}.elementor-85078 .elementor-element.elementor-element-00e7290{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-e8f86ac{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-fd89157{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-b7ac50e{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-eda7893 .elementor-heading-title{line-height:42px;}.elementor-85078 .elementor-element.elementor-element-f57a30c{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-d0b3b95 .elementor-heading-title{line-height:42px;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider-separator{width:20%;}.elementor-85078 .elementor-element.elementor-element-2d976f4{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-155415a{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-483e909 .elementor-heading-title{line-height:42px;}.elementor-85078 .elementor-element.elementor-element-ccf25de{--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-1bbfafb{--border-radius:016px 016px 016px 016px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-85078 .elementor-element.elementor-element-619ed76{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}}@media(max-width:1200px){.elementor-85078 .elementor-element.elementor-element-0440c19 .elementor-heading-title{font-size:44px;}.elementor-85078 .elementor-element.elementor-element-65f4b1a{--min-height:198px;--justify-content:space-between;}.elementor-85078 .elementor-element.elementor-element-feeda69{--min-height:198px;--justify-content:space-between;}.elementor-85078 .elementor-element.elementor-element-a6ebce3{--min-height:198px;--justify-content:space-between;}.elementor-85078 .elementor-element.elementor-element-f4803e9{--min-height:198px;--justify-content:space-between;}.elementor-85078 .elementor-element.elementor-element-5ad71d6{--min-height:198px;--justify-content:space-between;}.elementor-85078 .elementor-element.elementor-element-6fba13d{--min-height:198px;--justify-content:space-between;}.elementor-85078 .elementor-element.elementor-element-74f4a28{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-f1a4507{--e-n-carousel-arrow-prev-left-position:321px;--e-n-carousel-arrow-next-right-position:318px;}.elementor-85078 .elementor-element.elementor-element-c42d577{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-8c35f92{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon{font-size:40px;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-5863249{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-048cf71{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon{font-size:40px;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-01343a9{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-779b07e{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon{font-size:40px;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-918b4b1{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-155415a{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}}@media(max-width:1024px){.elementor-85078 .elementor-element.elementor-element-0440c19{text-align:center;}.elementor-85078 .elementor-element.elementor-element-0440c19 .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-43fc80a{text-align:center;}.elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-1cfa2b8{text-align:center;}.elementor-85078 .elementor-element.elementor-element-1cfa2b8 .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider{text-align:center;}.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85078 .elementor-element.elementor-element-785d6f8{text-align:center;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-4d22e32{--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;}.elementor-85078 .elementor-element.elementor-element-65f4b1a{--min-height:224px;--justify-content:space-between;}.elementor-85078 .elementor-element.elementor-element-84f84f7{--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;}.elementor-85078 .elementor-element.elementor-element-bd70088{text-align:start;}.elementor-85078 .elementor-element.elementor-element-bd70088 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-fb798b8 .elementor-divider{text-align:left;}.elementor-85078 .elementor-element.elementor-element-fb798b8 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85078 .elementor-element.elementor-element-8e35079{text-align:start;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon{font-size:50px;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-3f76fc0 .elementor-icon-box-description{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-3815eae .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon{font-size:50px;}.elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-d9be009 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon{font-size:50px;}.elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-54bf04d .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon{font-size:50px;}.elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-e7f019e .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-985149a .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-2ade7b5{text-align:center;}.elementor-85078 .elementor-element.elementor-element-2ade7b5 .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider{text-align:center;}.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85078 .elementor-element.elementor-element-6181506{text-align:center;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-fd5bf55::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-80ebd05::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-172945a::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-172945a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-172945a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-8e69246::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-9b6f502::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-45f8a2b::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-f80493e::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-cfdba2a::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-814f457::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-2b2445d::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-f1a4507{--e-n-carousel-swiper-slides-to-display:2;--e-n-carousel-arrow-prev-left-position:279px;--e-n-carousel-arrow-next-right-position:249px;}.elementor-85078 .elementor-element.elementor-element-bc70299{--min-height:360px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-0c978ea{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-0c978ea::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-b9cec88{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-b9cec88::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-90d7a9a{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-90d7a9a::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-26c7e85{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-26c7e85::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-431ed3f{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-431ed3f::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-78fb39f{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-78fb39f::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-acf4aac{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-acf4aac::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-5d78c80{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-5d78c80::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-2ef3212{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-2ef3212::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-943b5df{--min-height:360px;}.elementor-85078 .elementor-element.elementor-element-943b5df::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-e058bab{--e-n-carousel-swiper-slides-to-display:2;}.elementor-85078 .elementor-element.elementor-element-dfe9912{text-align:center;}.elementor-85078 .elementor-element.elementor-element-dfe9912 .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider{text-align:center;}.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85078 .elementor-element.elementor-element-ab31708{text-align:center;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-862431b{--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-85078 .elementor-element.elementor-element-03ecfb4 .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-c23c22b{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-dca0ead .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-6023ba0{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-e03e3b0 .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-a948a26 .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-6e9f677{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:center;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:flex-start;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:nowrap;--n-tabs-heading-overflow-x:scroll;--n-tabs-title-white-space:nowrap;--n-tabs-title-justify-content:flex-start;--n-tabs-title-text-align:start;--n-tabs-title-font-size:16px;}.elementor-85078 .elementor-element.elementor-element-e44f73c .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-00e7290{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-4607038 .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-ccddbec .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-e8f86ac{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-fdd8d8d .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-bba7eb5 .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-b9f26ac .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-7d8acf9 .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-b7ac50e{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-eda7893{text-align:center;}.elementor-85078 .elementor-element.elementor-element-eda7893 .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider{text-align:center;}.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85078 .elementor-element.elementor-element-f57a30c{text-align:center;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title a{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-5863249{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title a{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-01343a9{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title a{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-918b4b1{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-d0b3b95{text-align:center;}.elementor-85078 .elementor-element.elementor-element-d0b3b95 .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider{text-align:center;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85078 .elementor-element.elementor-element-2d976f4{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-b8b24a6 .elementor-icon{font-size:40px;}.elementor-85078 .elementor-element.elementor-element-b8b24a6 .elementor-icon svg{height:40px;}.elementor-85078 .elementor-element.elementor-element-8c96602 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-aad1882{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-724920c .elementor-icon{font-size:40px;}.elementor-85078 .elementor-element.elementor-element-724920c .elementor-icon svg{height:40px;}.elementor-85078 .elementor-element.elementor-element-5931ac3 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-79b1462{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-681749d .elementor-icon{font-size:40px;}.elementor-85078 .elementor-element.elementor-element-681749d .elementor-icon svg{height:40px;}.elementor-85078 .elementor-element.elementor-element-3fc764c .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-049bc41{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-29eb326 .elementor-icon{font-size:40px;}.elementor-85078 .elementor-element.elementor-element-29eb326 .elementor-icon svg{height:40px;}.elementor-85078 .elementor-element.elementor-element-bebcc63 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-4d4598f{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-483e909{text-align:center;}.elementor-85078 .elementor-element.elementor-element-483e909 .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-78b8904 .elementor-divider{text-align:center;}.elementor-85078 .elementor-element.elementor-element-78b8904 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85078 .elementor-element.elementor-element-7e9967d .elementor-heading-title{font-size:28px;}.elementor-85078 .elementor-element.elementor-element-c09ae89{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-0dd9af2 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-5f63e81 .elementor-heading-title{font-size:12px;}.elementor-85078 .elementor-element.elementor-element-5218280{font-size:12px;}.elementor-85078 .elementor-element.elementor-element-4d69e68 .elementor-heading-title{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-3dbe81d{--e-icon-list-icon-size:30px;}.elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-item > .elementor-icon-list-text, .elementor-85078 .elementor-element.elementor-element-3dbe81d .elementor-icon-list-item > a{font-size:14px;}}@media(max-width:767px){.elementor-85078 .elementor-element.elementor-element-de3238c{--min-height:470px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:30px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-0440c19{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-0440c19 .elementor-heading-title{font-size:26px;line-height:32px;}.elementor-85078 .elementor-element.elementor-element-43fc80a{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-34ec5ae .elementor-button{font-size:12px;}.elementor-85078 .elementor-element.elementor-element-1cfa2b8{text-align:start;}.elementor-85078 .elementor-element.elementor-element-1cfa2b8 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider{text-align:left;}.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85078 .elementor-element.elementor-element-785d6f8{text-align:start;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-3797266 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-c7f0c92{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-c28304c .elementor-button{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-45776cf .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-35f21ff .elementor-button{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-15e5197 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-0c00b93 .elementor-button{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-77cc6cb .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-fcb983d .elementor-button{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-b7c75da .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-3cc2a2c .elementor-button{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-d33e6e4 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-1ffa294{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-28d0ccb .elementor-button{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-7ffcb0d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-810e1c8{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-bd70088 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85078 .elementor-element.elementor-element-2ade7b5{text-align:start;}.elementor-85078 .elementor-element.elementor-element-2ade7b5 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider{text-align:left;}.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85078 .elementor-element.elementor-element-6181506{text-align:start;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-b9c6d3c{--min-height:437px;}.elementor-85078 .elementor-element.elementor-element-fd5bf55::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-fd5bf55 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-80ebd05::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-80ebd05 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-172945a::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-172945a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-172945a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-172945a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-8e69246::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-8e69246 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-9b6f502::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-9b6f502 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-45f8a2b::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-45f8a2b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-f80493e::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-f80493e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-cfdba2a::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-cfdba2a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-814f457::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-814f457 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-2b2445d::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2b2445d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-f1a4507{--e-n-carousel-swiper-slides-to-display:1;--e-n-carousel-arrow-prev-left-position:-32px;--e-n-carousel-arrow-prev-top-position:-92px;--e-n-carousel-arrow-next-right-position:-30px;--e-n-carousel-arrow-next-top-position:-106px;}.elementor-85078 .elementor-element.elementor-element-bc70299{--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-0c978ea{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-0c978ea::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-0c978ea > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-915f0e4 .elementor-icon{font-size:80px;}.elementor-85078 .elementor-element.elementor-element-915f0e4 .elementor-icon svg{height:80px;}.elementor-85078 .elementor-element.elementor-element-74e4a5d .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-7ef7f93{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-b9cec88{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-b9cec88::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-b9cec88 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-f4cbbe8 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-90d7a9a{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-90d7a9a::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-90d7a9a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-10b3a3c .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-26c7e85{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-26c7e85::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-26c7e85 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-e213505 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-431ed3f{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-431ed3f::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-431ed3f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-f6329ea .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-78fb39f{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-78fb39f::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-78fb39f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-29494cc .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-acf4aac{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-acf4aac::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-acf4aac > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-f0d0f33 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-5d78c80{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-5d78c80::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-5d78c80 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-167d86c .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-2ef3212{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-2ef3212::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-2ef3212 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-db5a44b .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-943b5df{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85078 .elementor-element.elementor-element-943b5df::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .e-con-inner > .elementor-background-video-container::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .e-con-inner > .elementor-background-slideshow::before, .elementor-85078 .elementor-element.elementor-element-943b5df > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85078 .elementor-element.elementor-element-2885898 .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-e058bab{--e-n-carousel-swiper-slides-to-display:1;}.elementor-85078 .elementor-element.elementor-element-e058bab .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:10px;--swiper-pagination-bullet-vertical-gap:10px;}.elementor-85078 .elementor-element.elementor-element-dfe9912{text-align:start;}.elementor-85078 .elementor-element.elementor-element-dfe9912 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider{text-align:left;}.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85078 .elementor-element.elementor-element-ab31708{text-align:start;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-862431b{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-85078 .elementor-element.elementor-element-6e9f677{--n-tabs-direction:column;--n-tabs-heading-direction:row;--n-tabs-heading-width:initial;--n-tabs-title-flex-basis:content;--n-tabs-title-flex-shrink:0;--n-tabs-heading-justify-content:center;--n-tabs-title-width:initial;--n-tabs-title-height:initial;--n-tabs-title-align-items:flex-start;--n-tabs-title-flex-grow:0;--n-tabs-heading-wrap:nowrap;--n-tabs-heading-overflow-x:scroll;--n-tabs-title-white-space:nowrap;--n-tabs-title-justify-content:flex-start;--n-tabs-title-text-align:start;}.elementor-85078 .elementor-element.elementor-element-63a3cad{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-636c3f2{--min-height:0px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85078 .elementor-element.elementor-element-e9f00d0{--min-height:0px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85078 .elementor-element.elementor-element-ee3528f{--min-height:0px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85078 .elementor-element.elementor-element-0c31a44{--min-height:0px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85078 .elementor-element.elementor-element-eda7893{text-align:start;}.elementor-85078 .elementor-element.elementor-element-eda7893 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider{text-align:left;}.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85078 .elementor-element.elementor-element-f57a30c{text-align:start;font-size:16px;}.elementor-85078 .elementor-element.elementor-element-46966ef{--justify-content:flex-start;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-57ded84{padding:0px 0px 0px 0px;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-57ded84 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-5863249{text-align:start;}.elementor-85078 .elementor-element.elementor-element-048cf71{--justify-content:center;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-4be4d80 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-01343a9{text-align:start;}.elementor-85078 .elementor-element.elementor-element-779b07e{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-wrapper{text-align:start;}.elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title, .elementor-85078 .elementor-element.elementor-element-14c4ba4 .elementor-icon-box-title a{font-size:20px;}.elementor-85078 .elementor-element.elementor-element-918b4b1{text-align:start;}.elementor-85078 .elementor-element.elementor-element-d0b3b95{text-align:start;}.elementor-85078 .elementor-element.elementor-element-d0b3b95 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider{text-align:left;}.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85078 .elementor-element.elementor-element-2d976f4{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-8c96602 .elementor-heading-title{font-size:18px;}.elementor-85078 .elementor-element.elementor-element-aad1882{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-5931ac3 .elementor-heading-title{font-size:18px;}.elementor-85078 .elementor-element.elementor-element-79b1462{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-3fc764c .elementor-heading-title{font-size:18px;}.elementor-85078 .elementor-element.elementor-element-049bc41{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-bebcc63 .elementor-heading-title{font-size:18px;}.elementor-85078 .elementor-element.elementor-element-4d4598f{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-155415a{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85078 .elementor-element.elementor-element-483e909{width:100%;max-width:100%;}.elementor-85078 .elementor-element.elementor-element-483e909 .elementor-heading-title{font-size:22px;}.elementor-85078 .elementor-element.elementor-element-ccf25de{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85078 .elementor-element.elementor-element-f3119d1{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85078 .elementor-element.elementor-element-7e9967d .elementor-heading-title{font-size:24px;}.elementor-85078 .elementor-element.elementor-element-c09ae89{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-0dd9af2 .elementor-heading-title{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-5218280{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-4d69e68 .elementor-heading-title{font-size:14px;}.elementor-85078 .elementor-element.elementor-element-84ffd16{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-85078 .elementor-element.elementor-element-6e75ff6{--width:25%;}.elementor-85078 .elementor-element.elementor-element-e6a549a .elementor-heading-title{font-size:16px;}.elementor-85078 .elementor-element.elementor-element-31c6137{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-85078 .elementor-element.elementor-element-31c6137 .elementor-heading-title{font-size:22px;line-height:26px;}.elementor-85078 .elementor-element.elementor-element-975d428{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--n-accordion-title-font-size:16px;}}@media(min-width:768px){.elementor-85078 .elementor-element.elementor-element-118a112{--width:62%;}.elementor-85078 .elementor-element.elementor-element-82cff36{--width:33.3%;}.elementor-85078 .elementor-element.elementor-element-ce6cad9{--width:33.3%;}.elementor-85078 .elementor-element.elementor-element-070f7c0{--width:33.3%;}.elementor-85078 .elementor-element.elementor-element-4069699{--width:33.3%;}.elementor-85078 .elementor-element.elementor-element-3f13b25{--width:33.3%;}.elementor-85078 .elementor-element.elementor-element-a722d33{--width:33.3%;}.elementor-85078 .elementor-element.elementor-element-810e1c8{--width:40%;}.elementor-85078 .elementor-element.elementor-element-28e9d6b{--width:60%;}.elementor-85078 .elementor-element.elementor-element-fc5a822{--width:50%;}.elementor-85078 .elementor-element.elementor-element-7272ed6{--width:50%;}.elementor-85078 .elementor-element.elementor-element-6eaa035{--width:50%;}.elementor-85078 .elementor-element.elementor-element-e3c0c6a{--width:50%;}.elementor-85078 .elementor-element.elementor-element-4349908{--width:50%;}.elementor-85078 .elementor-element.elementor-element-a9d68e1{--width:50%;}.elementor-85078 .elementor-element.elementor-element-aeb1431{--width:80%;}.elementor-85078 .elementor-element.elementor-element-acd5fa6{--width:20%;}.elementor-85078 .elementor-element.elementor-element-9e15e59{--width:50%;}.elementor-85078 .elementor-element.elementor-element-44c72ba{--width:50%;}.elementor-85078 .elementor-element.elementor-element-ba1d75d{--width:50%;}.elementor-85078 .elementor-element.elementor-element-556bafd{--width:50%;}.elementor-85078 .elementor-element.elementor-element-4460d4e{--width:50%;}.elementor-85078 .elementor-element.elementor-element-17a3489{--width:50%;}.elementor-85078 .elementor-element.elementor-element-0ae9a5f{--width:50%;}.elementor-85078 .elementor-element.elementor-element-131f0aa{--width:50%;}.elementor-85078 .elementor-element.elementor-element-46966ef{--width:35%;}.elementor-85078 .elementor-element.elementor-element-e48c980{--width:65%;}.elementor-85078 .elementor-element.elementor-element-619ed76{--width:50%;}.elementor-85078 .elementor-element.elementor-element-dbab44f{--width:50%;}.elementor-85078 .elementor-element.elementor-element-6e75ff6{--width:78px;}}@media(max-width:1024px) and (min-width:768px){.elementor-85078 .elementor-element.elementor-element-118a112{--width:100%;}.elementor-85078 .elementor-element.elementor-element-82cff36{--width:100%;}.elementor-85078 .elementor-element.elementor-element-ce6cad9{--width:100%;}.elementor-85078 .elementor-element.elementor-element-070f7c0{--width:100%;}.elementor-85078 .elementor-element.elementor-element-4069699{--width:100%;}.elementor-85078 .elementor-element.elementor-element-3f13b25{--width:100%;}.elementor-85078 .elementor-element.elementor-element-a722d33{--width:100%;}.elementor-85078 .elementor-element.elementor-element-46966ef{--width:40%;}.elementor-85078 .elementor-element.elementor-element-e48c980{--width:60%;}}/* Start custom CSS for heading, class: .elementor-element-0440c19 */@media (max-width: 1024px) and (min-width: 996px) {
    .my-text-widget {
        text-align: left !important;
    }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-43fc80a */@media (max-width: 1024px) and (min-width: 996px) {
    .elementor-85078 .elementor-element.elementor-element-43fc80a {
        text-align: left !important;
        justify-content: flex-start !important; /* Aligns button to left */
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-34ec5ae */@media (max-width: 1024px) and (min-width: 996px) {
    .elementor-85078 .elementor-element.elementor-element-34ec5ae {
        text-align: left !important;
        justify-content: flex-start !important; /* Aligns button to left */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-de3238c *//* --- Default styles for larger desktops (1200px and up) --- */
.elementor-85078 .elementor-element.elementor-element-de3238c {
    background-color: #1174D1;
    background-image:
        url('https://cloud.10decoders.co.in/home/homepage-banner-image-right-circle.png'),
        url('https://cloud.10decoders.co.in/home/homepage-banner-left-side-circle.png'),
        radial-gradient(rgba(255, 255, 255, 0.2) 1px, transparent 1px),
        radial-gradient(circle at -20% 100%, rgba(255, 255, 255, 0.15), transparent 50%);
    background-position:
        right 80px center,
        left -12% bottom -22%,
        0 0,
        left center;
    background-size:
        34% auto,
        18% auto,
        24px 24px,
        cover;
    background-repeat:
        no-repeat,
        no-repeat,
        repeat,
        no-repeat;
}

/* --- Desktop & Laptop: Full Screen Height --- */
@media (min-width: 992px) {
    .elementor-85078 .elementor-element.elementor-element-de3238c {
        min-height: 95vh; 
    }
}

/* --- Tablet & Mobile: 90vh --- */
@media (max-width: 991px) {
    .elementor-85078 .elementor-element.elementor-element-de3238c {
        min-height: 80vh;
    }
}

/* --- Media query for Laptops (max-width: 1199px) --- */
@media (max-width: 1199px) {
    .elementor-85078 .elementor-element.elementor-element-de3238c {
        background-size:
            50% auto,
            18% auto,
            24px 24px,
            cover;
    }
}

/* --- Media query for Tablets (max-width: 991px) --- */
@media (max-width: 991px) {
    .elementor-85078 .elementor-element.elementor-element-de3238c {
        background-size:
            70% auto,
            0% auto,
            20px 20px,
            cover;
        background-position:
            center center,
            left -10% bottom -20%,
            0 0,
            left center;
    }
}

/* --- Media query for Mobile Devices (max-width: 767px) --- */
@media (max-width: 767px) {
    .elementor-85078 .elementor-element.elementor-element-de3238c {
        background-size:
            100% auto,
            0% auto,
            16px 16px,
            cover;
        background-position:
            right 5% center,
            left -5% bottom -5%,
            0 0,
            left center;
    }
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-a594087 */.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85078 .elementor-element.elementor-element-a594087 .elementor-divider-separator {
    height: 4px; /* adjust thickness */
    background: linear-gradient(to right, #6ABDDB, #0867FA);
    border: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-82cff36 */.elementor-85078 .elementor-element.elementor-element-82cff36 {
  transition: all 0.3s ease-in-out;
}

.elementor-85078 .elementor-element.elementor-element-82cff36:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85078 .elementor-element.elementor-element-82cff36:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85078 .elementor-element.elementor-element-82cff36:hover h2,
.elementor-85078 .elementor-element.elementor-element-82cff36:hover h3,
.elementor-85078 .elementor-element.elementor-element-82cff36:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85078 .elementor-element.elementor-element-82cff36:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85078 .elementor-element.elementor-element-82cff36 .elementor-button .elementor-button-text {
  color: #1174D1; /* normal button text color */
  border-bottom: 1px solid #4190DA; /* thin underline with new blue */
  display: inline-block; /* underline matches text width */
  padding-bottom: 4px; /* space between text and underline */
  transition: all 0.3s ease-in-out;
}

/* Arrow icon */
.elementor-85078 .elementor-element.elementor-element-82cff36 .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-82cff36 .elementor-button .elementor-button-icon svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
}

/* Change text and arrow color on hover */
.elementor-85078 .elementor-element.elementor-element-82cff36:hover .elementor-button .elementor-button-text,
.elementor-85078 .elementor-element.elementor-element-82cff36:hover .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-82cff36:hover .elementor-button .elementor-button-icon svg {
  color: #ffffff !important; /* text becomes white */
  fill: #ffffff !important;  /* arrow icon becomes white */
  border-bottom-color: #ffffff; /* underline becomes white */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ce6cad9 */.elementor-85078 .elementor-element.elementor-element-ce6cad9 {
  transition: all 0.3s ease-in-out;
}

.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85078 .elementor-element.elementor-element-ce6cad9:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover h2,
.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover h3,
.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85078 .elementor-element.elementor-element-ce6cad9 .elementor-button .elementor-button-text {
  color: #1174D1; /* normal button text color */
  border-bottom: 1px solid #4190DA; /* thin underline with new blue */
  display: inline-block; /* underline matches text width */
  padding-bottom: 4px; /* space between text and underline */
  transition: all 0.3s ease-in-out;
}

/* Arrow icon */
.elementor-85078 .elementor-element.elementor-element-ce6cad9 .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-ce6cad9 .elementor-button .elementor-button-icon svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
}

/* Change text and arrow color on hover */
.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover .elementor-button .elementor-button-text,
.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-ce6cad9:hover .elementor-button .elementor-button-icon svg {
  color: #ffffff !important; /* text becomes white */
  fill: #ffffff !important;  /* arrow icon becomes white */
  border-bottom-color: #ffffff; /* underline becomes white */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-070f7c0 */.elementor-85078 .elementor-element.elementor-element-070f7c0 {
  transition: all 0.3s ease-in-out;
}

.elementor-85078 .elementor-element.elementor-element-070f7c0:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85078 .elementor-element.elementor-element-070f7c0:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85078 .elementor-element.elementor-element-070f7c0:hover h2,
.elementor-85078 .elementor-element.elementor-element-070f7c0:hover h3,
.elementor-85078 .elementor-element.elementor-element-070f7c0:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85078 .elementor-element.elementor-element-070f7c0:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85078 .elementor-element.elementor-element-070f7c0 .elementor-button .elementor-button-text {
  color: #1174D1; /* normal button text color */
  border-bottom: 1px solid #4190DA; /* thin underline with new blue */
  display: inline-block; /* underline matches text width */
  padding-bottom: 4px; /* space between text and underline */
  transition: all 0.3s ease-in-out;
}

/* Arrow icon */
.elementor-85078 .elementor-element.elementor-element-070f7c0 .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-070f7c0 .elementor-button .elementor-button-icon svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
}

/* Change text and arrow color on hover */
.elementor-85078 .elementor-element.elementor-element-070f7c0:hover .elementor-button .elementor-button-text,
.elementor-85078 .elementor-element.elementor-element-070f7c0:hover .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-070f7c0:hover .elementor-button .elementor-button-icon svg {
  color: #ffffff !important; /* text becomes white */
  fill: #ffffff !important;  /* arrow icon becomes white */
  border-bottom-color: #ffffff; /* underline becomes white */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4069699 */.elementor-85078 .elementor-element.elementor-element-4069699 {
  transition: all 0.3s ease-in-out;
}

.elementor-85078 .elementor-element.elementor-element-4069699:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85078 .elementor-element.elementor-element-4069699:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85078 .elementor-element.elementor-element-4069699:hover h2,
.elementor-85078 .elementor-element.elementor-element-4069699:hover h3,
.elementor-85078 .elementor-element.elementor-element-4069699:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85078 .elementor-element.elementor-element-4069699:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85078 .elementor-element.elementor-element-4069699 .elementor-button .elementor-button-text {
  color: #1174D1; /* normal button text color */
  border-bottom: 1px solid #4190DA; /* thin underline with new blue */
  display: inline-block; /* underline matches text width */
  padding-bottom: 4px; /* space between text and underline */
  transition: all 0.3s ease-in-out;
}

/* Arrow icon */
.elementor-85078 .elementor-element.elementor-element-4069699 .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-4069699 .elementor-button .elementor-button-icon svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
}

/* Change text and arrow color on hover */
.elementor-85078 .elementor-element.elementor-element-4069699:hover .elementor-button .elementor-button-text,
.elementor-85078 .elementor-element.elementor-element-4069699:hover .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-4069699:hover .elementor-button .elementor-button-icon svg {
  color: #ffffff !important; /* text becomes white */
  fill: #ffffff !important;  /* arrow icon becomes white */
  border-bottom-color: #ffffff; /* underline becomes white */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3f13b25 */.elementor-85078 .elementor-element.elementor-element-3f13b25 {
  transition: all 0.3s ease-in-out;
}

.elementor-85078 .elementor-element.elementor-element-3f13b25:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85078 .elementor-element.elementor-element-3f13b25:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85078 .elementor-element.elementor-element-3f13b25:hover h2,
.elementor-85078 .elementor-element.elementor-element-3f13b25:hover h3,
.elementor-85078 .elementor-element.elementor-element-3f13b25:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85078 .elementor-element.elementor-element-3f13b25:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85078 .elementor-element.elementor-element-3f13b25 .elementor-button .elementor-button-text {
  color: #1174D1; /* normal button text color */
  border-bottom: 1px solid #4190DA; /* thin underline with new blue */
  display: inline-block; /* underline matches text width */
  padding-bottom: 4px; /* space between text and underline */
  transition: all 0.3s ease-in-out;
}

/* Arrow icon */
.elementor-85078 .elementor-element.elementor-element-3f13b25 .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-3f13b25 .elementor-button .elementor-button-icon svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
}

/* Change text and arrow color on hover */
.elementor-85078 .elementor-element.elementor-element-3f13b25:hover .elementor-button .elementor-button-text,
.elementor-85078 .elementor-element.elementor-element-3f13b25:hover .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-3f13b25:hover .elementor-button .elementor-button-icon svg {
  color: #ffffff !important; /* text becomes white */
  fill: #ffffff !important;  /* arrow icon becomes white */
  border-bottom-color: #ffffff; /* underline becomes white */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a722d33 */.elementor-85078 .elementor-element.elementor-element-a722d33 {
  transition: all 0.3s ease-in-out;
}

.elementor-85078 .elementor-element.elementor-element-a722d33:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85078 .elementor-element.elementor-element-a722d33:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85078 .elementor-element.elementor-element-a722d33:hover h2,
.elementor-85078 .elementor-element.elementor-element-a722d33:hover h3,
.elementor-85078 .elementor-element.elementor-element-a722d33:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85078 .elementor-element.elementor-element-a722d33:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85078 .elementor-element.elementor-element-a722d33 .elementor-button .elementor-button-text {
  color: #1174D1; /* normal button text color */
  border-bottom: 1px solid #4190DA; /* thin underline with new blue */
  display: inline-block; /* underline matches text width */
  padding-bottom: 4px; /* space between text and underline */
  transition: all 0.3s ease-in-out;
}

/* Arrow icon */
.elementor-85078 .elementor-element.elementor-element-a722d33 .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-a722d33 .elementor-button .elementor-button-icon svg {
  width: 20px;
  height: 20px;
  transition: all 0.3s ease-in-out;
}

/* Change text and arrow color on hover */
.elementor-85078 .elementor-element.elementor-element-a722d33:hover .elementor-button .elementor-button-text,
.elementor-85078 .elementor-element.elementor-element-a722d33:hover .elementor-button .elementor-button-icon,
.elementor-85078 .elementor-element.elementor-element-a722d33:hover .elementor-button .elementor-button-icon svg {
  color: #ffffff !important; /* text becomes white */
  fill: #ffffff !important;  /* arrow icon becomes white */
  border-bottom-color: #ffffff; /* underline becomes white */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-844d783 *//* Replace .my-container with your container class or ID */
.my-container2 {
  position: relative;
  overflow: hidden;      /* ensures overlay doesn't spill outside */
  background-color: #ffffff; /* white background */
}

/* Background overlay on right half */
.my-container2::after {
  content: "";
  position: absolute;
  top: 50%;                  /* vertically center */
  right: 0;                  /* align to right edge */
  transform: translateY(-50%); /* vertical centering */
  width: 25%;                /* cover half of the container width */
  height: 80%;              /* full container height */
  background: url('https://10decoders.com/wp-content/uploads/2025/09/Group-212-2.png') no-repeat center center;
  background-size: cover;    /* ensures image fills the overlay area */
  z-index: 1;                /* sits above background but below content */
  pointer-events: none;  
 /* allows clicks through the overlay */
 opacity:0.7;
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-fb798b8 */.elementor-85078 .elementor-element.elementor-element-fb798b8 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-76fd045 */.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85078 .elementor-element.elementor-element-76fd045 .elementor-divider-separator {
    height: 4px; /* adjust thickness */
    background: linear-gradient(to right, #6ABDDB, #0867FA);
    border: none;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fd5bf55 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-80ebd05 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-172945a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8e69246 */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9b6f502 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-45f8a2b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f80493e */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cfdba2a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-814f457 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2b2445d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for nested-carousel, class: .elementor-element-f1a4507 */.custom-carousel-nav .swiper-pagination-bullet-active {
   background-color: #1174D1; /* Blue */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c978ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b9cec88 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-90d7a9a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26c7e85 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-431ed3f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78fb39f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-acf4aac */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d78c80 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2ef3212 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-943b5df */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-35db408 */.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85078 .elementor-element.elementor-element-35db408 .elementor-divider-separator {
    height: 4px; /* adjust thickness */
    background: linear-gradient(to right, #6ABDDB, #0867FA);
    border: none;
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-79f01c3 */.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85078 .elementor-element.elementor-element-79f01c3 .elementor-divider-separator {
    height: 4px; /* adjust thickness */
    background: linear-gradient(to right, #6ABDDB, #0867FA);
    border: none;
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-5bbf7ec */.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85078 .elementor-element.elementor-element-5bbf7ec .elementor-divider-separator {
    height: 4px; /* adjust thickness */
    background: linear-gradient(to right, #6ABDDB, #0867FA);
    border: none;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-26200d2 *//* Replace .my-container with your container class or ID */
.my-container {
  transition: all 0.3s ease;
}

/* Custom divider line */
.my-container .custom-divider {
  height: 0;                           /* line itself has no height, border defines thickness */
  border-top: 1px solid #00000033;     /* normal color and 1px thickness */
  width: 100%;                          /* full width */
  margin: 10px 0;                       /* spacing */
  transition: border-color 0.3s ease;   /* smooth color transition */
}

/* Heading text transition */
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: color 0.3s ease;
}

/* Hover state - line and heading */
.my-container:hover .custom-divider {
  border-top-color: #1174D1 !important; /* hover color */
}

.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color: #1174D1 !important;           /* hover color for heading text */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0d0d174 *//* Smooth transitions */
.my-container .my-divider,
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: all 0.3s ease;
}

/* Hover state: heading text */
.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color:#1174D1 !important;
}

/* Hover state: divider line */
.my-container:hover .my-divider {
  border-top-color: #1174D1 !important; /* change line color */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-32a8dff *//* Replace .my-container with your container class or ID */
.my-container {
  transition: all 0.3s ease;
}

/* Custom divider line */
.my-container .custom-divider {
  height: 0;                           /* line itself has no height, border defines thickness */
  border-top: 1px solid #00000033;     /* normal color and 1px thickness */
  width: 100%;                          /* full width */
  margin: 10px 0;                       /* spacing */
  transition: border-color 0.3s ease;   /* smooth color transition */
}

/* Heading text transition */
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: color 0.3s ease;
}

/* Hover state - line and heading */
.my-container:hover .custom-divider {
  border-top-color: #1174D1 !important; /* hover color */
}

.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color: #1174D1 !important;           /* hover color for heading text */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-bf9f9ae *//* Smooth transitions */
.my-container .my-divider,
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: all 0.3s ease;
}

/* Hover state: heading text */
.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color:#1174D1 !important;
}

/* Hover state: divider line */
.my-container:hover .my-divider {
  border-top-color: #1174D1 !important; /* change line color */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-32ebbd4 *//* Replace .my-container with your container class or ID */
.my-container {
  transition: all 0.3s ease;
}

/* Custom divider line */
.my-container .custom-divider {
  height: 0;                           /* line itself has no height, border defines thickness */
  border-top: 1px solid #00000033;     /* normal color and 1px thickness */
  width: 100%;                          /* full width */
  margin: 10px 0;                       /* spacing */
  transition: border-color 0.3s ease;   /* smooth color transition */
}

/* Heading text transition */
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: color 0.3s ease;
}

/* Hover state - line and heading */
.my-container:hover .custom-divider {
  border-top-color: #1174D1 !important; /* hover color */
}

.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color: #1174D1 !important;           /* hover color for heading text */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-fc7d33b *//* Smooth transitions */
.my-container .my-divider,
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: all 0.3s ease;
}

/* Hover state: heading text */
.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color:#1174D1 !important;
}

/* Hover state: divider line */
.my-container:hover .my-divider {
  border-top-color: #1174D1 !important; /* change line color */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8dbb957 *//* Replace .my-container with your container class or ID */
.my-container {
  transition: all 0.3s ease;
}

/* Custom divider line */
.my-container .custom-divider {
  height: 0;                           /* line itself has no height, border defines thickness */
  border-top: 1px solid #00000033;     /* normal color and 1px thickness */
  width: 100%;                          /* full width */
  margin: 10px 0;                       /* spacing */
  transition: border-color 0.3s ease;   /* smooth color transition */
}

/* Heading text transition */
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: color 0.3s ease;
}

/* Hover state - line and heading */
.my-container:hover .custom-divider {
  border-top-color: #1174D1 !important; /* hover color */
}

.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color: #1174D1 !important;           /* hover color for heading text */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1cb27e4 *//* Smooth transitions */
.my-container .my-divider,
.my-container .elementor-widget-heading .elementor-heading-title {
  transition: all 0.3s ease;
}

/* Hover state: heading text */
.my-container:hover .elementor-widget-heading .elementor-heading-title {
  color:#1174D1 !important;
}

/* Hover state: divider line */
.my-container:hover .my-divider {
  border-top-color: #1174D1 !important; /* change line color */
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-78b8904 */.elementor-85078 .elementor-element.elementor-element-78b8904 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85078 .elementor-element.elementor-element-78b8904 .elementor-divider-separator {
    height: 4px; /* adjust thickness */
    background: linear-gradient(to right, #6ABDDB, #0867FA);
    border: none;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-ddb9f5d */.post-grid .layer-wrapper img {
    border-radius-top-right: 8px;
    border-top-right-radius: 8px;
    border-top-left-radius: 8px;
}
/*.post_date {*/
/*    display: none;*/
/*}*/
.grid-items .item 
{
    padding-bottom: 20px!important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-942a570 */.elementor-85078 .elementor-element.elementor-element-942a570 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-676c3a1 */.elementor-85078 .elementor-element.elementor-element-676c3a1 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1ee2c05 */.elementor-85078 .elementor-element.elementor-element-1ee2c05 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-70edf07 */.elementor-85078 .elementor-element.elementor-element-70edf07 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c4f97e0 */.elementor-85078 .elementor-element.elementor-element-c4f97e0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-942a570 */.elementor-85078 .elementor-element.elementor-element-942a570 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-676c3a1 */.elementor-85078 .elementor-element.elementor-element-676c3a1 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1ee2c05 */.elementor-85078 .elementor-element.elementor-element-1ee2c05 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-70edf07 */.elementor-85078 .elementor-element.elementor-element-70edf07 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c4f97e0 */.elementor-85078 .elementor-element.elementor-element-c4f97e0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-942a570 */.elementor-85078 .elementor-element.elementor-element-942a570 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-676c3a1 */.elementor-85078 .elementor-element.elementor-element-676c3a1 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1ee2c05 */.elementor-85078 .elementor-element.elementor-element-1ee2c05 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-70edf07 */.elementor-85078 .elementor-element.elementor-element-70edf07 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c4f97e0 */.elementor-85078 .elementor-element.elementor-element-c4f97e0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-942a570 */.elementor-85078 .elementor-element.elementor-element-942a570 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-676c3a1 */.elementor-85078 .elementor-element.elementor-element-676c3a1 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1ee2c05 */.elementor-85078 .elementor-element.elementor-element-1ee2c05 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-70edf07 */.elementor-85078 .elementor-element.elementor-element-70edf07 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c4f97e0 */.elementor-85078 .elementor-element.elementor-element-c4f97e0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-942a570 */.elementor-85078 .elementor-element.elementor-element-942a570 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-676c3a1 */.elementor-85078 .elementor-element.elementor-element-676c3a1 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1ee2c05 */.elementor-85078 .elementor-element.elementor-element-1ee2c05 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-70edf07 */.elementor-85078 .elementor-element.elementor-element-70edf07 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c4f97e0 */.elementor-85078 .elementor-element.elementor-element-c4f97e0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-942a570 */.elementor-85078 .elementor-element.elementor-element-942a570 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-676c3a1 */.elementor-85078 .elementor-element.elementor-element-676c3a1 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1ee2c05 */.elementor-85078 .elementor-element.elementor-element-1ee2c05 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-70edf07 */.elementor-85078 .elementor-element.elementor-element-70edf07 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c4f97e0 */.elementor-85078 .elementor-element.elementor-element-c4f97e0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-975d428 *//* 🎯 Scoped only to your accordion */
.my-custom-accordion .e-n-accordion-item {
  border: none; /* No border by default */
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.15s ease-in-out; /* Faster animation */
}

/* CLOSED state — light blue background (unchanged) */
.my-custom-accordion .e-n-accordion-item:not([open]),
.my-custom-accordion .e-n-accordion-item:not([open]) summary.e-n-accordion-item-title,
.my-custom-accordion .e-n-accordion-item:not([open]) > div {
  background-color: #E5F2FC !important; /* same as your code */
  border: none; /* no border when closed */
}

/* OPEN state — unified background + border */
.my-custom-accordion .e-n-accordion-item[open] {
  background-color: #FAFDFF !important;
  border: 1px solid #BDDCF4; /* single border wrapping title + content */
}

/* Force the summary and content to inherit the parent background */
.my-custom-accordion .e-n-accordion-item[open] summary.e-n-accordion-item-title,
.my-custom-accordion .e-n-accordion-item[open] > div {
  background-color: transparent !important;
}

/* Title color */
.my-custom-accordion .e-n-accordion-item summary.e-n-accordion-item-title {
  color: #070707;
  background: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* Icon color */
.my-custom-accordion .e-n-accordion-item .e-n-accordion-item-title-icon {
  color: #1172CE; /* default */
  transition: color 0.15s ease-in-out;
}

.my-custom-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
  color: #1174D1; /* when opened */
}

/* Content (text editor) */
.my-custom-accordion .e-n-accordion-item > div {
  color: rgba(0, 0, 0, 0.75);
  background: none;
  border: none; /* ensure unified single border */
}/* End custom CSS */