.elementor-94977 .elementor-element.elementor-element-24581fb{--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-94977 .elementor-element.elementor-element-9453d44{--display:flex;--justify-content:center;}.elementor-94977 .elementor-element.elementor-element-0d3be97 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:46px;font-weight:800;line-height:64px;letter-spacing:0px;color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-902a381{font-family:"Jost", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-e06ddaf .elementor-button{background-color:#F26E21;font-weight:600;fill:#FFFFFF;color:#FFFFFF;border-radius:11px 11px 11px 11px;padding:16px 24px 016px 024px;}.elementor-94977 .elementor-element.elementor-element-e06ddaf .elementor-button:hover, .elementor-94977 .elementor-element.elementor-element-e06ddaf .elementor-button:focus{background-color:#F26E21;color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-e06ddaf{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-e06ddaf .elementor-button:hover svg, .elementor-94977 .elementor-element.elementor-element-e06ddaf .elementor-button:focus svg{fill:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-bef8818{--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:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-bef8818::before, .elementor-94977 .elementor-element.elementor-element-bef8818 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-bef8818 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-bef8818 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-bef8818 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-bef8818 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-94977 .elementor-element.elementor-element-b41607d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-b41607d .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:32px;font-weight:600;line-height:42px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-dbd237a{--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-94977 .elementor-element.elementor-element-dbd237a .elementor-divider-separator{width:33%;}.elementor-94977 .elementor-element.elementor-element-dbd237a .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-94977 .elementor-element.elementor-element-c0d69b5{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-94977 .elementor-element.elementor-element-e60909f{--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-94977 .elementor-element.elementor-element-2dbda81{--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-94977 .elementor-element.elementor-element-2dbda81:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-2dbda81 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-94977 .elementor-element.elementor-element-2dbda81:hover{background-color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-46323f1{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-46323f1 .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-46323f1 .elementor-icon{font-size:64px;}.elementor-94977 .elementor-element.elementor-element-46323f1 .elementor-icon svg{height:64px;}.elementor-94977 .elementor-element.elementor-element-e44e011{padding:0px 0px 0px 0px;text-align:start;}.elementor-94977 .elementor-element.elementor-element-e44e011 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-3663772{--display:flex;--min-height:0px;--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-94977 .elementor-element.elementor-element-547d810{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;line-height:24px;color:#242424;}.elementor-94977 .elementor-element.elementor-element-b9a859b{--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-94977 .elementor-element.elementor-element-b9a859b:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-b9a859b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-94977 .elementor-element.elementor-element-b9a859b:hover{background-color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-c8e47e8{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-c8e47e8 .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-c8e47e8 .elementor-icon{font-size:64px;}.elementor-94977 .elementor-element.elementor-element-c8e47e8 .elementor-icon svg{height:64px;}.elementor-94977 .elementor-element.elementor-element-480af27{padding:0px 0px 0px 0px;text-align:start;}.elementor-94977 .elementor-element.elementor-element-480af27 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-1f32073{--display:flex;--min-height:0px;--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-94977 .elementor-element.elementor-element-a3c8cde{font-size:16px;font-weight:500;color:#242424;}.elementor-94977 .elementor-element.elementor-element-4a2ac5f{--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-94977 .elementor-element.elementor-element-4a2ac5f:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-4a2ac5f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover{background-color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-a18007f{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-a18007f .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-a18007f .elementor-icon{font-size:64px;}.elementor-94977 .elementor-element.elementor-element-a18007f .elementor-icon svg{height:64px;}.elementor-94977 .elementor-element.elementor-element-20bd779{padding:0px 0px 0px 0px;text-align:start;}.elementor-94977 .elementor-element.elementor-element-20bd779 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-6099b9c{--display:flex;--min-height:0px;--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-94977 .elementor-element.elementor-element-b99607f{font-size:16px;font-weight:500;color:#242424;}.elementor-94977 .elementor-element.elementor-element-882ec3c{--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-94977 .elementor-element.elementor-element-5e34725{--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-94977 .elementor-element.elementor-element-5e34725:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-5e34725 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-94977 .elementor-element.elementor-element-5e34725:hover{background-color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-eac4647{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-eac4647 .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-eac4647 .elementor-icon{font-size:64px;}.elementor-94977 .elementor-element.elementor-element-eac4647 .elementor-icon svg{height:64px;}.elementor-94977 .elementor-element.elementor-element-e0cfbea{padding:0px 0px 0px 0px;text-align:start;}.elementor-94977 .elementor-element.elementor-element-e0cfbea .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-88f4df0{--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-94977 .elementor-element.elementor-element-051dd8d{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-94977 .elementor-element.elementor-element-0405061{--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-94977 .elementor-element.elementor-element-0405061:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-0405061 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-94977 .elementor-element.elementor-element-0405061:hover{background-color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-48d2a68{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-48d2a68 .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-48d2a68 .elementor-icon{font-size:64px;}.elementor-94977 .elementor-element.elementor-element-48d2a68 .elementor-icon svg{height:64px;}.elementor-94977 .elementor-element.elementor-element-713e547{padding:0px 0px 0px 0px;text-align:start;}.elementor-94977 .elementor-element.elementor-element-713e547 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-ffc6eb8{--display:flex;--min-height:0px;--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-94977 .elementor-element.elementor-element-6c811fc{font-size:16px;font-weight:500;color:#242424;}.elementor-94977 .elementor-element.elementor-element-ad512e5{--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-94977 .elementor-element.elementor-element-ad512e5:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-ad512e5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-94977 .elementor-element.elementor-element-ad512e5:hover{background-color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-ca75c51{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-ca75c51 .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-ca75c51 .elementor-icon{font-size:64px;}.elementor-94977 .elementor-element.elementor-element-ca75c51 .elementor-icon svg{height:64px;}.elementor-94977 .elementor-element.elementor-element-f3fbe12{padding:0px 0px 0px 0px;text-align:start;}.elementor-94977 .elementor-element.elementor-element-f3fbe12 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-b1b9871{--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-94977 .elementor-element.elementor-element-37a0bce{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-94977 .elementor-element.elementor-element-aae0b3c{--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-94977 .elementor-element.elementor-element-aae0b3c:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-aae0b3c > .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-94977 .elementor-element.elementor-element-071f214{--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:flex-start;--overlay-opacity:1;--padding-top:120px;--padding-bottom:0px;--padding-left:40px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-071f214:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-071f214 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-071f214::before, .elementor-94977 .elementor-element.elementor-element-071f214 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-071f214 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-071f214 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-071f214 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-071f214 > .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-94977 .elementor-element.elementor-element-4ccf79c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 20px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-4ccf79c .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:32px;font-weight:600;line-height:42px;color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-e2b6855{--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-94977 .elementor-element.elementor-element-e2b6855 .elementor-divider-separator{width:48%;}.elementor-94977 .elementor-element.elementor-element-e2b6855 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-94977 .elementor-element.elementor-element-649a5b9{padding:0px 20px 0px 0px;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-c14c6c8{--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:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:80px;--padding-bottom:80px;--padding-left:30px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-222ed90{--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-94977 .elementor-element.elementor-element-b04ddca{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-title{margin-block-end:10px;color:#000000;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-title a{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-8152b53{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-title{margin-block-end:10px;color:#000000;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-title a{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-25ec9b5{--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-94977 .elementor-element.elementor-element-c7df4dd{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-title a{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-title{color:#000000;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-01e5f9a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-title{color:#000000;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-ffa6018{--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-94977 .elementor-element.elementor-element-60fa8b4{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-title{color:#000000;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-d9907cb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-title{color:#000000;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-cec2365{--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:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-55de9e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-55de9e1 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:32px;font-weight:600;line-height:42px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-60be79f{--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-94977 .elementor-element.elementor-element-60be79f .elementor-divider-separator{width:33%;}.elementor-94977 .elementor-element.elementor-element-60be79f .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-94977 .elementor-element.elementor-element-2fb16c3{--display:flex;--min-height:340px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-2c62fda{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-63c8fd3{--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-94977 .elementor-element.elementor-element-63c8fd3:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-63c8fd3::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .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-94977 .elementor-element.elementor-element-fe343d6 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-fe343d6 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-fe343d6 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-6402cbf{text-align:center;}.elementor-94977 .elementor-element.elementor-element-6402cbf .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-1760591{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-0028d0e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-a2e1976{--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-94977 .elementor-element.elementor-element-a2e1976:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-a2e1976::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .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-94977 .elementor-element.elementor-element-ce09fad .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-ce09fad .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-ce09fad .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-01eaa0d{text-align:center;}.elementor-94977 .elementor-element.elementor-element-01eaa0d .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-ecfa424{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-7b36132{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-e01ec4e{--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-94977 .elementor-element.elementor-element-e01ec4e:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-e01ec4e::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .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-94977 .elementor-element.elementor-element-a94f406 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-a94f406 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-a94f406 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-4de98e0{text-align:center;}.elementor-94977 .elementor-element.elementor-element-4de98e0 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-a475f28{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-59c28d6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-f11a901{--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-94977 .elementor-element.elementor-element-f11a901:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-f11a901::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .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-94977 .elementor-element.elementor-element-106dc57 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-106dc57 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-106dc57 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-1c26b5f{text-align:center;}.elementor-94977 .elementor-element.elementor-element-1c26b5f .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-12fed63{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-8e99e50{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-79692bc{--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-94977 .elementor-element.elementor-element-79692bc:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-79692bc::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .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-94977 .elementor-element.elementor-element-eae5cc3 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-eae5cc3 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-eae5cc3 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-35ebbb4{text-align:center;}.elementor-94977 .elementor-element.elementor-element-35ebbb4 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-ac933ce{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-f22892d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-3969bac{--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-94977 .elementor-element.elementor-element-3969bac:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-3969bac::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .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-94977 .elementor-element.elementor-element-79f9f56 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-79f9f56 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-79f9f56 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-dde72d3{text-align:center;}.elementor-94977 .elementor-element.elementor-element-dde72d3 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-ba7dcc3{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-23f3568{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-a7bb207{--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-94977 .elementor-element.elementor-element-a7bb207:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-a7bb207::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .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-94977 .elementor-element.elementor-element-e3d0dcc .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-e3d0dcc .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-e3d0dcc .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-0758f48{text-align:center;}.elementor-94977 .elementor-element.elementor-element-0758f48 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-3802c5b{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-60a4e4b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-c64c973{--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-94977 .elementor-element.elementor-element-c64c973:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-c64c973::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .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-94977 .elementor-element.elementor-element-6a59d39 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-6a59d39 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-6a59d39 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-cd856cc{text-align:center;}.elementor-94977 .elementor-element.elementor-element-cd856cc .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-56642de{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-0765873{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-2f0b2ef{--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-94977 .elementor-element.elementor-element-2f0b2ef:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-2f0b2ef::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .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-94977 .elementor-element.elementor-element-a6f9811 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-a6f9811 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-a6f9811 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-1f2e872{text-align:center;}.elementor-94977 .elementor-element.elementor-element-1f2e872 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-470a2df{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-d4a7013{--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-94977 .elementor-element.elementor-element-00c52cb{--display:flex;}.elementor-94977 .elementor-element.elementor-element-64dc8cc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-17d920e{--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-94977 .elementor-element.elementor-element-17d920e:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-17d920e::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .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-94977 .elementor-element.elementor-element-abee25b .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-abee25b .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-abee25b .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-e22d58b{text-align:center;}.elementor-94977 .elementor-element.elementor-element-e22d58b .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-5241b43{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-87ac466{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-9274ac8{--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-94977 .elementor-element.elementor-element-9274ac8:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-9274ac8::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .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-94977 .elementor-element.elementor-element-a1a7796 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-a1a7796 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-a1a7796 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-e786025{text-align:center;}.elementor-94977 .elementor-element.elementor-element-e786025 .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-7b50b41{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-5795cf9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-9740c57{--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-94977 .elementor-element.elementor-element-9740c57:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-9740c57::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .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-94977 .elementor-element.elementor-element-89d9869 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-89d9869 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-89d9869 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-161fda1{text-align:center;}.elementor-94977 .elementor-element.elementor-element-161fda1 .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-6c528be{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-dd19c14{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-5228d1c{--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-94977 .elementor-element.elementor-element-5228d1c:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-5228d1c::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .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-94977 .elementor-element.elementor-element-a4c4625 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-a4c4625 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-a4c4625 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-2caa81b{text-align:center;}.elementor-94977 .elementor-element.elementor-element-2caa81b .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-94977 .elementor-element.elementor-element-8bf7fc0{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-d3304ce{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-50e9021{--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-94977 .elementor-element.elementor-element-50e9021:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-50e9021::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .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-94977 .elementor-element.elementor-element-1a5a533 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-1a5a533 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-1a5a533 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-8498a39{text-align:center;}.elementor-94977 .elementor-element.elementor-element-8498a39 .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-5c049b8{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-9be2e48{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-6261e14{--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-94977 .elementor-element.elementor-element-6261e14:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-6261e14::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .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-94977 .elementor-element.elementor-element-50574d5 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-50574d5 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-50574d5 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-7c9a109{text-align:center;}.elementor-94977 .elementor-element.elementor-element-7c9a109 .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-f609b5b{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-955f7a9{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-0549a80{--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-94977 .elementor-element.elementor-element-0549a80:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-0549a80::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .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-94977 .elementor-element.elementor-element-caaba8b .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-caaba8b .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-caaba8b .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-3e9c89e{text-align:center;}.elementor-94977 .elementor-element.elementor-element-3e9c89e .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-e791062{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-1268356{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-f3f4a0d{--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-94977 .elementor-element.elementor-element-f3f4a0d:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-f3f4a0d::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .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-94977 .elementor-element.elementor-element-48a1ef5 .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-48a1ef5 .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-48a1ef5 .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-9650be5{text-align:center;}.elementor-94977 .elementor-element.elementor-element-9650be5 .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-83081ab{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-67213ee{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-5c9d117{--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-94977 .elementor-element.elementor-element-5c9d117:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-5c9d117::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .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-94977 .elementor-element.elementor-element-430a10f .elementor-icon-wrapper{text-align:center;}.elementor-94977 .elementor-element.elementor-element-430a10f .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-430a10f .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-926cbf1{text-align:center;}.elementor-94977 .elementor-element.elementor-element-926cbf1 .elementor-heading-title{font-size:22px;font-weight:700;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-c4a15c2{text-align:center;font-size:16px;font-weight:400;}.elementor-94977 .elementor-element.elementor-element-038e708{--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;}.elementor-94977 .elementor-element.elementor-element-6e516b6{--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:80px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-6e516b6:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-6e516b6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-7b9b6fe{--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-94977 .elementor-element.elementor-element-16aece5{--display:flex;}.elementor-94977 .elementor-element.elementor-element-60753e1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-60753e1 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:32px;font-weight:600;line-height:42px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-312f468{--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-94977 .elementor-element.elementor-element-312f468 .elementor-divider-separator{width:33%;}.elementor-94977 .elementor-element.elementor-element-312f468 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-94977 .elementor-element.elementor-element-e4fa516{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-94977 .elementor-element.elementor-element-cc19763{--display:flex;}.elementor-94977 .elementor-element.elementor-element-5f9225e{--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:-77px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-02993da{--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-94977 .elementor-element.elementor-element-81f29e1{--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-94977 .elementor-element.elementor-element-f60eaee .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-d360014{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-f245f3a{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-080a633{--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-94977 .elementor-element.elementor-element-a41c6f9{--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-94977 .elementor-element.elementor-element-416215d .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-c3cf8c4{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-f33b9ee{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-93a7cf0{--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-94977 .elementor-element.elementor-element-179484c{--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-94977 .elementor-element.elementor-element-bf79c67 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-569febf{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-252d4d9{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-2620e25{--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-94977 .elementor-element.elementor-element-e3a123d{--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-94977 .elementor-element.elementor-element-0264b58 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-5aa4bf7{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-846bddb{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-9cb7768{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-8f93fa7{--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:31px;--n-tabs-title-border-radius:012px 012px 0px 0px;--n-tabs-title-color:#242424;--n-tabs-title-color-active:#1174D1;}.elementor-94977 .elementor-element.elementor-element-8f93fa7 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-8f93fa7.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-94977 .elementor-element.elementor-element-8f93fa7.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-94977 .elementor-element.elementor-element-8f93fa7.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-94977 .elementor-element.elementor-element-8f93fa7.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-94977 .elementor-element.elementor-element-8f93fa7 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#1174D1;}.elementor-94977 .elementor-element.elementor-element-7ab6c5a{--display:flex;}.elementor-94977 .elementor-element.elementor-element-3b39467{--display:flex;}.elementor-94977 .elementor-element.elementor-element-3b39467:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-3b39467 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-89a7d99 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-e89460b{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-49ce554{--display:flex;}.elementor-94977 .elementor-element.elementor-element-49ce554:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-49ce554 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-1e2a98a .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-91fadb8 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-968ec83{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-c741508{--display:flex;}.elementor-94977 .elementor-element.elementor-element-c741508:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-c741508 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-74b1c34 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-656e19a .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-f308cdc{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-9869c2b{--display:flex;}.elementor-94977 .elementor-element.elementor-element-9869c2b:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-9869c2b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-afa9820 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-d12b0dc .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-94977 .elementor-element.elementor-element-bd782d8{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-ccd1cb4{font-weight:500;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-6799223{--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:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-6799223:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-6799223 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-da29a71{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-da29a71 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:32px;font-weight:600;line-height:42px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-14e89b5{--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-94977 .elementor-element.elementor-element-14e89b5 .elementor-divider-separator{width:33%;}.elementor-94977 .elementor-element.elementor-element-14e89b5 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-94977 .elementor-element.elementor-element-ff805a6{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-94977 .elementor-element.elementor-element-8841d0c{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-9320b7c{--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-94977 .elementor-element.elementor-element-3ebf384{--display:flex;--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:20px;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-wrapper{align-items:center;gap:16px;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title{margin-block-end:1px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title a{font-size:24px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-2470cfd{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 20px 0px 0px;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-df65501{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 20px 0px 0px;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-9151b2d{--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-94977 .elementor-element.elementor-element-71befe3{--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-94977 .elementor-element.elementor-element-e794e0d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;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:20px;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-wrapper{align-items:center;gap:16px;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title{margin-block-end:1px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title a{font-size:24px;font-weight:700;line-height:28px;}.elementor-94977 .elementor-element.elementor-element-abaf1c6{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 20px 0px 0px;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-9491188{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-a57db13{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-wrapper{align-items:center;gap:16px;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title{margin-block-end:1px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-94977 .elementor-element.elementor-element-1deee58{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 20px 0px 0px;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-7a147a3{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;color:#242424CC;}.elementor-94977 .elementor-element.elementor-element-4e1c37d{--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:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-e5a7fdf{--display:flex;--border-radius:16px 16px 16px 16px;--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-e5a7fdf:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-e5a7fdf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#C1E4FF36;}.elementor-94977 .elementor-element.elementor-element-78cdb1a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-78cdb1a .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:32px;font-weight:600;line-height:42px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-b375925{--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-94977 .elementor-element.elementor-element-b375925 .elementor-divider-separator{width:33%;}.elementor-94977 .elementor-element.elementor-element-b375925 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-94977 .elementor-element.elementor-element-cf4cc80{font-weight:500;color:#242424;}.elementor-94977 .elementor-element.elementor-element-c778bd7{--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-94977 .elementor-element.elementor-element-636764d{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-94977 .elementor-element.elementor-element-92d5066 .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-92d5066 .elementor-icon{font-size:60px;}.elementor-94977 .elementor-element.elementor-element-92d5066 .elementor-icon svg{height:60px;}.elementor-94977 .elementor-element.elementor-element-17f37b9{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-17f37b9 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-94977 .elementor-element.elementor-element-d8fb270{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;line-height:24px;}.elementor-94977 .elementor-element.elementor-element-1191f5b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-94977 .elementor-element.elementor-element-902646b .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-902646b .elementor-icon{font-size:60px;}.elementor-94977 .elementor-element.elementor-element-902646b .elementor-icon svg{height:60px;}.elementor-94977 .elementor-element.elementor-element-e5e0d8f{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-e5e0d8f .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-94977 .elementor-element.elementor-element-308fc7b{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-94977 .elementor-element.elementor-element-e7cc886{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-94977 .elementor-element.elementor-element-0fa1c9b .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-0fa1c9b .elementor-icon{font-size:60px;}.elementor-94977 .elementor-element.elementor-element-0fa1c9b .elementor-icon svg{height:60px;}.elementor-94977 .elementor-element.elementor-element-c30e0c8{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-c30e0c8 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-94977 .elementor-element.elementor-element-59440a2{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-94977 .elementor-element.elementor-element-ccda48a{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-94977 .elementor-element.elementor-element-e1fe18e .elementor-icon-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-e1fe18e .elementor-icon{font-size:60px;}.elementor-94977 .elementor-element.elementor-element-e1fe18e .elementor-icon svg{height:60px;}.elementor-94977 .elementor-element.elementor-element-aa36857{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-aa36857 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-94977 .elementor-element.elementor-element-d464e31{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-94977 .elementor-element.elementor-element-bfa60d3{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-050a66a{--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:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-1793205 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;}.elementor-94977 .elementor-element.elementor-element-7ff2ead{--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-94977 .elementor-element.elementor-element-7ff2ead .elementor-divider-separator{width:13%;}.elementor-94977 .elementor-element.elementor-element-7ff2ead .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-94977 .elementor-element.elementor-element-e04ad3a{--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:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-dcb5cdd{--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-94977 .elementor-element.elementor-element-dcb5cdd:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-dcb5cdd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-2caf60f{--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-94977 .elementor-element.elementor-element-eb24263{--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-94977 .elementor-element.elementor-element-eb24263:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-eb24263 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-94977 .elementor-element.elementor-element-35151de .elementor-heading-title{font-size:18px;font-weight:normal;color:#1174D1;}.elementor-94977 .elementor-element.elementor-element-50c44d1{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-94977 .elementor-element.elementor-element-50c44d1 .elementor-heading-title{font-size:54px;font-weight:600;line-height:42px;color:#151515;}.elementor-94977 .elementor-element.elementor-element-60251d1{--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-94977 .elementor-element.elementor-element-60251d1:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-60251d1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-61ca137{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-94977 .elementor-element.elementor-element-de6369b{--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-94977 .elementor-element.elementor-element-de6369b:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-de6369b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-3ac98d0{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-94977 .elementor-element.elementor-element-0bd9d3d{--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-94977 .elementor-element.elementor-element-0bd9d3d:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-0bd9d3d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-7012c68{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-94977 .elementor-element.elementor-element-19271cc{--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-94977 .elementor-element.elementor-element-19271cc:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-19271cc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-fa8f8f2{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-94977 .elementor-element.elementor-element-d477046{--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-94977 .elementor-element.elementor-element-d477046:not(.elementor-motion-effects-element-type-background), .elementor-94977 .elementor-element.elementor-element-d477046 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-963dbb7{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-94977 .elementor-element.elementor-element-bf200bb{--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-94977 .elementor-element.elementor-element-bf200bb > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#FFFFFF;border-style:none;}.elementor-94977 .elementor-element.elementor-element-bf200bb > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title:hover{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-bf200bb > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title{background-color:#FFFFFF;}.elementor-94977 .elementor-element.elementor-element-bf200bb {--n-accordion-padding:24px 24px 24px 24px;}:where( .elementor-94977 .elementor-element.elementor-element-bf200bb > .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-94977 .elementor-element.elementor-element-bf200bb :where( .elementor-94977 .elementor-element.elementor-element-bf200bb > .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-94977 .elementor-element.elementor-element-bf200bb > .e-n-accordion > .e-n-accordion-item ) > .e-con{border-style:none;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-94977 .elementor-element.elementor-element-24581fb{--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-94977 .elementor-element.elementor-element-e06ddaf .elementor-button{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-bef8818{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-b41607d .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-94977 .elementor-element.elementor-element-c0d69b5{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-547d810{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-5e34725{--justify-content:flex-start;}.elementor-94977 .elementor-element.elementor-element-071f214{--justify-content:flex-start;}.elementor-94977 .elementor-element.elementor-element-4ccf79c .elementor-heading-title{font-size:32px;line-height:48px;}.elementor-94977 .elementor-element.elementor-element-55de9e1 .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-94977 .elementor-element.elementor-element-2fb16c3{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-2c62fda{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-63c8fd3{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-6402cbf .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-1760591{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-0028d0e{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-a2e1976{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-01eaa0d .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-ecfa424{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-7b36132{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-e01ec4e{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-4de98e0 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-a475f28{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-59c28d6{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-f11a901{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-1c26b5f .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-12fed63{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-8e99e50{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-79692bc{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-35ebbb4 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-ac933ce{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-f22892d{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-3969bac{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-dde72d3 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-ba7dcc3{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-23f3568{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-a7bb207{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-0758f48 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-3802c5b{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-60a4e4b{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-c64c973{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-cd856cc .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-56642de{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-0765873{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-2f0b2ef{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-1f2e872 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-470a2df{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-17d920e{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-e22d58b .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-5241b43{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-9274ac8{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-e786025 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-7b50b41{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-9740c57{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-161fda1 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-6c528be{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-5228d1c{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-2caa81b .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-8bf7fc0{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-50e9021{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-8498a39 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-5c049b8{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-6261e14{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-7c9a109 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-f609b5b{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-0549a80{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-3e9c89e .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-e791062{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-f3f4a0d{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-9650be5 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-83081ab{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-5c9d117{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-94977 .elementor-element.elementor-element-926cbf1 .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-c4a15c2{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-60753e1 .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-94977 .elementor-element.elementor-element-e4fa516{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-d360014{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-c3cf8c4{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-569febf{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-5aa4bf7{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-846bddb{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-8f93fa7{--n-tabs-title-font-size:16px;}.elementor-94977 .elementor-element.elementor-element-e89460b{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-968ec83{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-f308cdc{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-bd782d8{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-ccd1cb4{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-da29a71 .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-94977 .elementor-element.elementor-element-ff805a6{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-78cdb1a .elementor-heading-title{font-size:32px;line-height:42px;}.elementor-94977 .elementor-element.elementor-element-b375925 .elementor-divider-separator{width:20%;}.elementor-94977 .elementor-element.elementor-element-cf4cc80{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-308fc7b{padding:40px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-050a66a{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-1793205 .elementor-heading-title{line-height:42px;}}@media(max-width:1200px){.elementor-94977 .elementor-element.elementor-element-0d3be97 .elementor-heading-title{font-size:44px;}.elementor-94977 .elementor-element.elementor-element-3663772{--min-height:198px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-1f32073{--min-height:198px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-6099b9c{--min-height:198px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-88f4df0{--min-height:198px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-ffc6eb8{--min-height:198px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-b1b9871{--min-height:198px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-cec2365{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-d4a7013{--e-n-carousel-arrow-prev-left-position:321px;--e-n-carousel-arrow-next-right-position:318px;}.elementor-94977 .elementor-element.elementor-element-6e516b6{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-6799223{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon{font-size:40px;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-2470cfd{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-df65501{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-e794e0d{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon{font-size:40px;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-abaf1c6{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-9491188{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-a57db13{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon{font-size:40px;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-1deee58{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-7a147a3{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-050a66a{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}}@media(max-width:1024px){.elementor-94977 .elementor-element.elementor-element-0d3be97{text-align:center;}.elementor-94977 .elementor-element.elementor-element-0d3be97 .elementor-heading-title{font-size:28px;}.elementor-94977 .elementor-element.elementor-element-902a381{text-align:center;}.elementor-94977 .elementor-element.elementor-element-e06ddaf .elementor-button{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-b41607d{text-align:start;}.elementor-94977 .elementor-element.elementor-element-b41607d .elementor-heading-title{font-size:28px;}.elementor-94977 .elementor-element.elementor-element-dbd237a .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-dbd237a .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-c0d69b5{text-align:start;font-size:16px;}.elementor-94977 .elementor-element.elementor-element-e60909f{--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-94977 .elementor-element.elementor-element-3663772{--min-height:224px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-882ec3c{--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-94977 .elementor-element.elementor-element-88f4df0{--min-height:224px;--justify-content:space-between;}.elementor-94977 .elementor-element.elementor-element-4ccf79c{text-align:start;}.elementor-94977 .elementor-element.elementor-element-4ccf79c .elementor-heading-title{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-e2b6855 .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-e2b6855 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-649a5b9{text-align:start;font-size:16px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-description{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon{font-size:50px;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-55de9e1{text-align:start;}.elementor-94977 .elementor-element.elementor-element-55de9e1 .elementor-heading-title{font-size:28px;}.elementor-94977 .elementor-element.elementor-element-60be79f .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-60be79f .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-63c8fd3::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-a2e1976::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-e01ec4e::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-f11a901::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-79692bc::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-3969bac::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-a7bb207::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-c64c973::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-2f0b2ef::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-d4a7013{--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-94977 .elementor-element.elementor-element-00c52cb{--min-height:360px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-17d920e{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-17d920e::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-9274ac8{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-9274ac8::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-9740c57{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-9740c57::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-5228d1c{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-5228d1c::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-50e9021{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-50e9021::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-6261e14{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-6261e14::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-0549a80{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-0549a80::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-f3f4a0d{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-f3f4a0d::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-5c9d117{--min-height:360px;}.elementor-94977 .elementor-element.elementor-element-5c9d117::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-038e708{--e-n-carousel-swiper-slides-to-display:2;}.elementor-94977 .elementor-element.elementor-element-60753e1{text-align:start;}.elementor-94977 .elementor-element.elementor-element-60753e1 .elementor-heading-title{font-size:28px;}.elementor-94977 .elementor-element.elementor-element-312f468 .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-312f468 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-e4fa516{text-align:start;font-size:16px;}.elementor-94977 .elementor-element.elementor-element-5f9225e{--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-94977 .elementor-element.elementor-element-f60eaee .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-d360014{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-416215d .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-c3cf8c4{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-bf79c67 .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-0264b58 .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-8f93fa7{--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-94977 .elementor-element.elementor-element-89a7d99 .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-e89460b{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-1e2a98a .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-91fadb8 .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-968ec83{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-74b1c34 .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-656e19a .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-afa9820 .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-d12b0dc .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-da29a71{text-align:start;}.elementor-94977 .elementor-element.elementor-element-da29a71 .elementor-heading-title{font-size:28px;}.elementor-94977 .elementor-element.elementor-element-14e89b5 .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-14e89b5 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-ff805a6{text-align:start;font-size:16px;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title a{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-2470cfd{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-df65501{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title a{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-abaf1c6{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-9491188{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title a{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-1deee58{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-7a147a3{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-78cdb1a{text-align:start;}.elementor-94977 .elementor-element.elementor-element-78cdb1a .elementor-heading-title{font-size:28px;}.elementor-94977 .elementor-element.elementor-element-b375925 .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-b375925 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-cf4cc80{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-92d5066 .elementor-icon{font-size:40px;}.elementor-94977 .elementor-element.elementor-element-92d5066 .elementor-icon svg{height:40px;}.elementor-94977 .elementor-element.elementor-element-17f37b9 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-d8fb270{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-902646b .elementor-icon{font-size:40px;}.elementor-94977 .elementor-element.elementor-element-902646b .elementor-icon svg{height:40px;}.elementor-94977 .elementor-element.elementor-element-e5e0d8f .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-308fc7b{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-0fa1c9b .elementor-icon{font-size:40px;}.elementor-94977 .elementor-element.elementor-element-0fa1c9b .elementor-icon svg{height:40px;}.elementor-94977 .elementor-element.elementor-element-c30e0c8 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-59440a2{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-e1fe18e .elementor-icon{font-size:40px;}.elementor-94977 .elementor-element.elementor-element-e1fe18e .elementor-icon svg{height:40px;}.elementor-94977 .elementor-element.elementor-element-aa36857 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-d464e31{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-1793205{text-align:center;}.elementor-94977 .elementor-element.elementor-element-1793205 .elementor-heading-title{font-size:28px;}.elementor-94977 .elementor-element.elementor-element-7ff2ead .elementor-divider{text-align:center;}.elementor-94977 .elementor-element.elementor-element-7ff2ead .elementor-divider-separator{margin:0 auto;margin-center:0;}}@media(max-width:767px){.elementor-94977 .elementor-element.elementor-element-24581fb{--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-94977 .elementor-element.elementor-element-0d3be97{padding:0px 0px 0px 0px;}.elementor-94977 .elementor-element.elementor-element-0d3be97 .elementor-heading-title{font-size:26px;line-height:32px;}.elementor-94977 .elementor-element.elementor-element-902a381{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-e06ddaf .elementor-button{font-size:12px;}.elementor-94977 .elementor-element.elementor-element-b41607d{text-align:start;}.elementor-94977 .elementor-element.elementor-element-b41607d .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-94977 .elementor-element.elementor-element-dbd237a .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-dbd237a .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-c0d69b5{text-align:start;font-size:16px;}.elementor-94977 .elementor-element.elementor-element-2dbda81{--min-height:0px;}.elementor-94977 .elementor-element.elementor-element-e44e011 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-547d810{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-b9a859b{--min-height:0px;}.elementor-94977 .elementor-element.elementor-element-480af27 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-4a2ac5f{--min-height:0px;}.elementor-94977 .elementor-element.elementor-element-20bd779 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-5e34725{--min-height:0px;}.elementor-94977 .elementor-element.elementor-element-e0cfbea .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-051dd8d{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-0405061{--min-height:0px;}.elementor-94977 .elementor-element.elementor-element-713e547 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-ad512e5{--min-height:0px;}.elementor-94977 .elementor-element.elementor-element-f3fbe12 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-37a0bce{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-aae0b3c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-071f214{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-4ccf79c .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-94977 .elementor-element.elementor-element-c14c6c8{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-222ed90{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-wrapper{gap:8px;}.elementor-94977 .elementor-element.elementor-element-a9cffe7 .elementor-icon-box-title{margin-block-end:14px;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-wrapper{gap:8px;}.elementor-94977 .elementor-element.elementor-element-0bab6a4 .elementor-icon-box-title{margin-block-end:14px;}.elementor-94977 .elementor-element.elementor-element-25ec9b5{--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-wrapper{gap:8px;}.elementor-94977 .elementor-element.elementor-element-116a4de .elementor-icon-box-title{margin-block-end:14px;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-wrapper{gap:8px;}.elementor-94977 .elementor-element.elementor-element-382e785 .elementor-icon-box-title{margin-block-end:14px;}.elementor-94977 .elementor-element.elementor-element-ffa6018{--gap:20px 0px;--row-gap:20px;--column-gap:0px;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-wrapper{gap:8px;}.elementor-94977 .elementor-element.elementor-element-e5f104f .elementor-icon-box-title{margin-block-end:14px;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-wrapper{gap:8px;}.elementor-94977 .elementor-element.elementor-element-9a41cb4 .elementor-icon-box-title{margin-block-end:14px;}.elementor-94977 .elementor-element.elementor-element-55de9e1{text-align:start;}.elementor-94977 .elementor-element.elementor-element-55de9e1 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-94977 .elementor-element.elementor-element-60be79f .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-60be79f .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-2fb16c3{--min-height:437px;}.elementor-94977 .elementor-element.elementor-element-63c8fd3::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-63c8fd3 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-a2e1976::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a2e1976 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-e01ec4e::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-e01ec4e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-f11a901::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f11a901 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-79692bc::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-79692bc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-3969bac::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-3969bac > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-a7bb207::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-a7bb207 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-c64c973::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-c64c973 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-2f0b2ef::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-2f0b2ef > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-d4a7013{--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-94977 .elementor-element.elementor-element-00c52cb{--min-height:598px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-94977 .elementor-element.elementor-element-17d920e{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-17d920e::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-17d920e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-abee25b .elementor-icon{font-size:80px;}.elementor-94977 .elementor-element.elementor-element-abee25b .elementor-icon svg{height:80px;}.elementor-94977 .elementor-element.elementor-element-e22d58b .elementor-heading-title{font-size:16px;line-height:24px;}.elementor-94977 .elementor-element.elementor-element-5241b43{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-9274ac8{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-9274ac8::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9274ac8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-e786025 .elementor-heading-title{font-size:16px;line-height:24px;}.elementor-94977 .elementor-element.elementor-element-9740c57{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-9740c57::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-9740c57 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-161fda1 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-5228d1c{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-5228d1c::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5228d1c > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-2caa81b .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-50e9021{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-50e9021::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-50e9021 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-8498a39 .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-6261e14{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-6261e14::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-6261e14 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-7c9a109 .elementor-heading-title{font-size:16px;line-height:24px;}.elementor-94977 .elementor-element.elementor-element-0549a80{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-0549a80::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-0549a80 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-3e9c89e .elementor-heading-title{font-size:16px;line-height:24px;}.elementor-94977 .elementor-element.elementor-element-f3f4a0d{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-f3f4a0d::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-f3f4a0d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-9650be5 .elementor-heading-title{font-size:16px;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-5c9d117{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-94977 .elementor-element.elementor-element-5c9d117::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .e-con-inner > .elementor-background-video-container::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .e-con-inner > .elementor-background-slideshow::before, .elementor-94977 .elementor-element.elementor-element-5c9d117 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-94977 .elementor-element.elementor-element-926cbf1 .elementor-heading-title{font-size:16px;line-height:24px;}.elementor-94977 .elementor-element.elementor-element-038e708{--e-n-carousel-swiper-slides-to-display:1;}.elementor-94977 .elementor-element.elementor-element-038e708 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:10px;--swiper-pagination-bullet-vertical-gap:10px;}.elementor-94977 .elementor-element.elementor-element-60753e1{text-align:start;}.elementor-94977 .elementor-element.elementor-element-60753e1 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-94977 .elementor-element.elementor-element-312f468 .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-312f468 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-e4fa516{text-align:start;font-size:16px;}.elementor-94977 .elementor-element.elementor-element-8f93fa7{--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-94977 .elementor-element.elementor-element-7ab6c5a{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-3b39467{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-94977 .elementor-element.elementor-element-49ce554{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-94977 .elementor-element.elementor-element-c741508{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-94977 .elementor-element.elementor-element-9869c2b{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-94977 .elementor-element.elementor-element-da29a71{text-align:start;}.elementor-94977 .elementor-element.elementor-element-da29a71 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-94977 .elementor-element.elementor-element-14e89b5 .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-14e89b5 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-ff805a6{text-align:start;font-size:16px;}.elementor-94977 .elementor-element.elementor-element-3ebf384{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-f047bab .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-e794e0d{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7b0ddbd .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-wrapper{text-align:start;}.elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title, .elementor-94977 .elementor-element.elementor-element-7805029 .elementor-icon-box-title a{font-size:20px;}.elementor-94977 .elementor-element.elementor-element-78cdb1a{text-align:start;}.elementor-94977 .elementor-element.elementor-element-78cdb1a .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-94977 .elementor-element.elementor-element-b375925 .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-b375925 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-cf4cc80{font-size:14px;}.elementor-94977 .elementor-element.elementor-element-17f37b9 .elementor-heading-title{font-size:18px;}.elementor-94977 .elementor-element.elementor-element-d8fb270{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-e5e0d8f .elementor-heading-title{font-size:18px;}.elementor-94977 .elementor-element.elementor-element-308fc7b{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-c30e0c8 .elementor-heading-title{font-size:18px;}.elementor-94977 .elementor-element.elementor-element-59440a2{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-aa36857 .elementor-heading-title{font-size:18px;}.elementor-94977 .elementor-element.elementor-element-d464e31{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-050a66a{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-94977 .elementor-element.elementor-element-1793205{width:100%;max-width:100%;text-align:start;}.elementor-94977 .elementor-element.elementor-element-1793205 .elementor-heading-title{font-size:22px;}.elementor-94977 .elementor-element.elementor-element-7ff2ead .elementor-divider{text-align:left;}.elementor-94977 .elementor-element.elementor-element-7ff2ead .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-94977 .elementor-element.elementor-element-dcb5cdd{--padding-top:50px;--padding-bottom:50px;--padding-left:20px;--padding-right:20px;}.elementor-94977 .elementor-element.elementor-element-eb24263{--width:25%;}.elementor-94977 .elementor-element.elementor-element-35151de .elementor-heading-title{font-size:16px;}.elementor-94977 .elementor-element.elementor-element-50c44d1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-94977 .elementor-element.elementor-element-50c44d1 .elementor-heading-title{font-size:22px;line-height:26px;}.elementor-94977 .elementor-element.elementor-element-bf200bb{margin:20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;--n-accordion-title-font-size:16px;}}@media(min-width:768px){.elementor-94977 .elementor-element.elementor-element-9453d44{--width:62%;}.elementor-94977 .elementor-element.elementor-element-2dbda81{--width:33.3%;}.elementor-94977 .elementor-element.elementor-element-b9a859b{--width:33.3%;}.elementor-94977 .elementor-element.elementor-element-4a2ac5f{--width:33.3%;}.elementor-94977 .elementor-element.elementor-element-5e34725{--width:33.3%;}.elementor-94977 .elementor-element.elementor-element-0405061{--width:33.3%;}.elementor-94977 .elementor-element.elementor-element-ad512e5{--width:33.3%;}.elementor-94977 .elementor-element.elementor-element-071f214{--width:40%;}.elementor-94977 .elementor-element.elementor-element-c14c6c8{--width:60%;}.elementor-94977 .elementor-element.elementor-element-b04ddca{--width:50%;}.elementor-94977 .elementor-element.elementor-element-8152b53{--width:50%;}.elementor-94977 .elementor-element.elementor-element-c7df4dd{--width:50%;}.elementor-94977 .elementor-element.elementor-element-01e5f9a{--width:50%;}.elementor-94977 .elementor-element.elementor-element-60fa8b4{--width:50%;}.elementor-94977 .elementor-element.elementor-element-d9907cb{--width:50%;}.elementor-94977 .elementor-element.elementor-element-16aece5{--width:80%;}.elementor-94977 .elementor-element.elementor-element-cc19763{--width:20%;}.elementor-94977 .elementor-element.elementor-element-81f29e1{--width:50%;}.elementor-94977 .elementor-element.elementor-element-f245f3a{--width:50%;}.elementor-94977 .elementor-element.elementor-element-a41c6f9{--width:50%;}.elementor-94977 .elementor-element.elementor-element-f33b9ee{--width:50%;}.elementor-94977 .elementor-element.elementor-element-179484c{--width:50%;}.elementor-94977 .elementor-element.elementor-element-252d4d9{--width:50%;}.elementor-94977 .elementor-element.elementor-element-e3a123d{--width:50%;}.elementor-94977 .elementor-element.elementor-element-9cb7768{--width:50%;}.elementor-94977 .elementor-element.elementor-element-3ebf384{--width:35%;}.elementor-94977 .elementor-element.elementor-element-9151b2d{--width:65%;}.elementor-94977 .elementor-element.elementor-element-eb24263{--width:78px;}}@media(max-width:1024px) and (min-width:768px){.elementor-94977 .elementor-element.elementor-element-9453d44{--width:100%;}.elementor-94977 .elementor-element.elementor-element-2dbda81{--width:100%;}.elementor-94977 .elementor-element.elementor-element-b9a859b{--width:100%;}.elementor-94977 .elementor-element.elementor-element-4a2ac5f{--width:100%;}.elementor-94977 .elementor-element.elementor-element-5e34725{--width:100%;}.elementor-94977 .elementor-element.elementor-element-0405061{--width:100%;}.elementor-94977 .elementor-element.elementor-element-ad512e5{--width:100%;}.elementor-94977 .elementor-element.elementor-element-3ebf384{--width:40%;}.elementor-94977 .elementor-element.elementor-element-9151b2d{--width:60%;}}/* Start custom CSS for heading, class: .elementor-element-0d3be97 */@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-902a381 */@media (max-width: 1024px) and (min-width: 996px) {
    .elementor-94977 .elementor-element.elementor-element-902a381 {
        text-align: left !important;
        justify-content: flex-start !important; /* Aligns button to left */
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e06ddaf */@media (max-width: 1024px) and (min-width: 996px) {
    .elementor-94977 .elementor-element.elementor-element-e06ddaf {
        text-align: left !important;
        justify-content: flex-start !important; /* Aligns button to left */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-24581fb *//* --- Default styles for larger desktops (1200px and up) --- */
.elementor-94977 .elementor-element.elementor-element-24581fb {
    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-94977 .elementor-element.elementor-element-24581fb {
        min-height: 95vh; 
    }
}

/* --- Tablet & Mobile: 90vh --- */
@media (max-width: 991px) {
    .elementor-94977 .elementor-element.elementor-element-24581fb {
        min-height: 80vh;
    }
}

/* --- Media query for Laptops (max-width: 1199px) --- */
@media (max-width: 1199px) {
    .elementor-94977 .elementor-element.elementor-element-24581fb {
        background-size:
            50% auto,
            18% auto,
            24px 24px,
            cover;
    }
}

/* --- Media query for Tablets (max-width: 991px) --- */
@media (max-width: 991px) {
    .elementor-94977 .elementor-element.elementor-element-24581fb {
        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-94977 .elementor-element.elementor-element-24581fb {
        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-dbd237a */.elementor-94977 .elementor-element.elementor-element-dbd237a .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-94977 .elementor-element.elementor-element-dbd237a .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-2dbda81 */.elementor-94977 .elementor-element.elementor-element-2dbda81 {
  transition: all 0.3s ease-in-out;
}

.elementor-94977 .elementor-element.elementor-element-2dbda81:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-94977 .elementor-element.elementor-element-2dbda81:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-94977 .elementor-element.elementor-element-2dbda81:hover h2,
.elementor-94977 .elementor-element.elementor-element-2dbda81:hover h3,
.elementor-94977 .elementor-element.elementor-element-2dbda81:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-94977 .elementor-element.elementor-element-2dbda81:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-94977 .elementor-element.elementor-element-2dbda81 .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-94977 .elementor-element.elementor-element-2dbda81 .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-2dbda81 .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-94977 .elementor-element.elementor-element-2dbda81:hover .elementor-button .elementor-button-text,
.elementor-94977 .elementor-element.elementor-element-2dbda81:hover .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-2dbda81: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-b9a859b */.elementor-94977 .elementor-element.elementor-element-b9a859b {
  transition: all 0.3s ease-in-out;
}

.elementor-94977 .elementor-element.elementor-element-b9a859b:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-94977 .elementor-element.elementor-element-b9a859b:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-94977 .elementor-element.elementor-element-b9a859b:hover h2,
.elementor-94977 .elementor-element.elementor-element-b9a859b:hover h3,
.elementor-94977 .elementor-element.elementor-element-b9a859b:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-94977 .elementor-element.elementor-element-b9a859b:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-94977 .elementor-element.elementor-element-b9a859b .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-94977 .elementor-element.elementor-element-b9a859b .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-b9a859b .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-94977 .elementor-element.elementor-element-b9a859b:hover .elementor-button .elementor-button-text,
.elementor-94977 .elementor-element.elementor-element-b9a859b:hover .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-b9a859b: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-4a2ac5f */.elementor-94977 .elementor-element.elementor-element-4a2ac5f {
  transition: all 0.3s ease-in-out;
}

.elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover h2,
.elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover h3,
.elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-94977 .elementor-element.elementor-element-4a2ac5f .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-94977 .elementor-element.elementor-element-4a2ac5f .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-4a2ac5f .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-94977 .elementor-element.elementor-element-4a2ac5f:hover .elementor-button .elementor-button-text,
.elementor-94977 .elementor-element.elementor-element-4a2ac5f:hover .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-4a2ac5f: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-5e34725 */.elementor-94977 .elementor-element.elementor-element-5e34725 {
  transition: all 0.3s ease-in-out;
}

.elementor-94977 .elementor-element.elementor-element-5e34725:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-94977 .elementor-element.elementor-element-5e34725:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-94977 .elementor-element.elementor-element-5e34725:hover h2,
.elementor-94977 .elementor-element.elementor-element-5e34725:hover h3,
.elementor-94977 .elementor-element.elementor-element-5e34725:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-94977 .elementor-element.elementor-element-5e34725:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-94977 .elementor-element.elementor-element-5e34725 .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-94977 .elementor-element.elementor-element-5e34725 .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-5e34725 .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-94977 .elementor-element.elementor-element-5e34725:hover .elementor-button .elementor-button-text,
.elementor-94977 .elementor-element.elementor-element-5e34725:hover .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-5e34725: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-0405061 */.elementor-94977 .elementor-element.elementor-element-0405061 {
  transition: all 0.3s ease-in-out;
}

.elementor-94977 .elementor-element.elementor-element-0405061:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-94977 .elementor-element.elementor-element-0405061:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-94977 .elementor-element.elementor-element-0405061:hover h2,
.elementor-94977 .elementor-element.elementor-element-0405061:hover h3,
.elementor-94977 .elementor-element.elementor-element-0405061:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-94977 .elementor-element.elementor-element-0405061:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-94977 .elementor-element.elementor-element-0405061 .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-94977 .elementor-element.elementor-element-0405061 .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-0405061 .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-94977 .elementor-element.elementor-element-0405061:hover .elementor-button .elementor-button-text,
.elementor-94977 .elementor-element.elementor-element-0405061:hover .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-0405061: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-ad512e5 */.elementor-94977 .elementor-element.elementor-element-ad512e5 {
  transition: all 0.3s ease-in-out;
}

.elementor-94977 .elementor-element.elementor-element-ad512e5:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-94977 .elementor-element.elementor-element-ad512e5:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-94977 .elementor-element.elementor-element-ad512e5:hover h2,
.elementor-94977 .elementor-element.elementor-element-ad512e5:hover h3,
.elementor-94977 .elementor-element.elementor-element-ad512e5:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-94977 .elementor-element.elementor-element-ad512e5:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-94977 .elementor-element.elementor-element-ad512e5 .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-94977 .elementor-element.elementor-element-ad512e5 .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-ad512e5 .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-94977 .elementor-element.elementor-element-ad512e5:hover .elementor-button .elementor-button-text,
.elementor-94977 .elementor-element.elementor-element-ad512e5:hover .elementor-button .elementor-button-icon,
.elementor-94977 .elementor-element.elementor-element-ad512e5: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-bef8818 *//* 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: 28%;                /* cover half of the container width */
  height: 100%;              /* 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-e2b6855 */.elementor-94977 .elementor-element.elementor-element-e2b6855 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-60be79f */.elementor-94977 .elementor-element.elementor-element-60be79f .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-94977 .elementor-element.elementor-element-60be79f .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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-63c8fd3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem;
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC;
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Widgets above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncated text (desktop default) */
.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 (< 768px)
=============================== */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }
}

/* ===============================
  DESKTOP / TABLET (>= 768px)
=============================== */
@media (min-width: 768px) {

    .reveal-box {
        height: 360px;
        min-height: 360px;
        padding: 14px;
    }

    /* Hover background */
    .reveal-box:hover {
        background: #1174D1 !important;
    }

    /* Remove overlay on hover */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* ICON — hide instantly (no fade, no slow transition) */
    .icon-widget {
        transition: none !important; /* remove inherited transitions */
    }
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
        transition: none !important; /* INSTANT HIDE */
    }

    /* Slide heading + text upward */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }

    /* Show full text */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Text turns white instantly */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
        transition: color 0s !important; /* INSTANT COLOR CHANGE */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a2e1976 */.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-e01ec4e */.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-f11a901 */.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-79692bc */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-3969bac */.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-a7bb207 */.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-c64c973 */.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-2f0b2ef */.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-d4a7013 */.custom-carousel-nav .swiper-pagination-bullet-active {
   background-color: #1174D1; /* Blue */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-17d920e */.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-9274ac8 */.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-9740c57 */.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-5228d1c */.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-50e9021 */.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-6261e14 */.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-0549a80 */.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-f3f4a0d */.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-5c9d117 */.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-312f468 */.elementor-94977 .elementor-element.elementor-element-312f468 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-94977 .elementor-element.elementor-element-312f468 .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-14e89b5 */.elementor-94977 .elementor-element.elementor-element-14e89b5 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-94977 .elementor-element.elementor-element-14e89b5 .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-b375925 */.elementor-94977 .elementor-element.elementor-element-b375925 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-94977 .elementor-element.elementor-element-b375925 .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-4907f37 *//* 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-636764d *//* 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-0d12f91 *//* 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-1191f5b *//* 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-8c57a4c *//* 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-e7cc886 *//* 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-f0d7edb *//* 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-ccda48a *//* 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-7ff2ead */.elementor-94977 .elementor-element.elementor-element-7ff2ead .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-94977 .elementor-element.elementor-element-7ff2ead .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-87f2c3d */.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-61ca137 */.elementor-94977 .elementor-element.elementor-element-61ca137 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ac98d0 */.elementor-94977 .elementor-element.elementor-element-3ac98d0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7012c68 */.elementor-94977 .elementor-element.elementor-element-7012c68 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa8f8f2 */.elementor-94977 .elementor-element.elementor-element-fa8f8f2 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-963dbb7 */.elementor-94977 .elementor-element.elementor-element-963dbb7 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-61ca137 */.elementor-94977 .elementor-element.elementor-element-61ca137 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ac98d0 */.elementor-94977 .elementor-element.elementor-element-3ac98d0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7012c68 */.elementor-94977 .elementor-element.elementor-element-7012c68 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa8f8f2 */.elementor-94977 .elementor-element.elementor-element-fa8f8f2 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-963dbb7 */.elementor-94977 .elementor-element.elementor-element-963dbb7 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-61ca137 */.elementor-94977 .elementor-element.elementor-element-61ca137 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ac98d0 */.elementor-94977 .elementor-element.elementor-element-3ac98d0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7012c68 */.elementor-94977 .elementor-element.elementor-element-7012c68 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa8f8f2 */.elementor-94977 .elementor-element.elementor-element-fa8f8f2 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-963dbb7 */.elementor-94977 .elementor-element.elementor-element-963dbb7 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-61ca137 */.elementor-94977 .elementor-element.elementor-element-61ca137 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ac98d0 */.elementor-94977 .elementor-element.elementor-element-3ac98d0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7012c68 */.elementor-94977 .elementor-element.elementor-element-7012c68 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa8f8f2 */.elementor-94977 .elementor-element.elementor-element-fa8f8f2 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-963dbb7 */.elementor-94977 .elementor-element.elementor-element-963dbb7 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-61ca137 */.elementor-94977 .elementor-element.elementor-element-61ca137 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ac98d0 */.elementor-94977 .elementor-element.elementor-element-3ac98d0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7012c68 */.elementor-94977 .elementor-element.elementor-element-7012c68 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa8f8f2 */.elementor-94977 .elementor-element.elementor-element-fa8f8f2 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-963dbb7 */.elementor-94977 .elementor-element.elementor-element-963dbb7 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-61ca137 */.elementor-94977 .elementor-element.elementor-element-61ca137 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-3ac98d0 */.elementor-94977 .elementor-element.elementor-element-3ac98d0 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7012c68 */.elementor-94977 .elementor-element.elementor-element-7012c68 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fa8f8f2 */.elementor-94977 .elementor-element.elementor-element-fa8f8f2 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-963dbb7 */.elementor-94977 .elementor-element.elementor-element-963dbb7 p {
  line-height: 26px !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for nested-accordion, class: .elementor-element-bf200bb *//* 🎯 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 */