.elementor-85467 .elementor-element.elementor-element-2c84320{--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-85467 .elementor-element.elementor-element-79449bb{--display:flex;--justify-content:center;}.elementor-85467 .elementor-element.elementor-element-dfe9771 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:46px;font-weight:800;line-height:64px;letter-spacing:0px;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-4ba547d{font-family:"Jost", Sans-serif;font-size:16px;font-weight:400;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button{background-color:#F26E21;font-weight:600;fill:#FFFFFF;color:#FFFFFF;border-radius:11px 11px 11px 11px;padding:16px 24px 016px 024px;}.elementor-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button:hover, .elementor-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button:focus{background-color:#F26E21;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-e0c9a0e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button:hover svg, .elementor-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-303e6fd{--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-85467 .elementor-element.elementor-element-b2300e4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-b2300e4 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-0ab38d8{--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-85467 .elementor-element.elementor-element-0ab38d8 .elementor-divider-separator{width:33%;}.elementor-85467 .elementor-element.elementor-element-0ab38d8 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85467 .elementor-element.elementor-element-e6a2f89{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85467 .elementor-element.elementor-element-013fafc{--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-85467 .elementor-element.elementor-element-660050f{--display:flex;--min-height:250px;--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-85467 .elementor-element.elementor-element-660050f:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-660050f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85467 .elementor-element.elementor-element-660050f:hover{background-color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-4a34365{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-4a34365 .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-4a34365 .elementor-icon{font-size:64px;}.elementor-85467 .elementor-element.elementor-element-4a34365 .elementor-icon svg{height:64px;}.elementor-85467 .elementor-element.elementor-element-622cb89{padding:0px 0px 0px 0px;text-align:start;}.elementor-85467 .elementor-element.elementor-element-622cb89 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-fe538ba{--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-85467 .elementor-element.elementor-element-0841192{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-e1dcdc2{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button:hover, .elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button:focus{color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button:hover svg, .elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-265fc79{--display:flex;--min-height:250px;--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-85467 .elementor-element.elementor-element-265fc79:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-265fc79 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85467 .elementor-element.elementor-element-265fc79:hover{background-color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-63671d4{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-63671d4 .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-63671d4 .elementor-icon{font-size:64px;}.elementor-85467 .elementor-element.elementor-element-63671d4 .elementor-icon svg{height:64px;}.elementor-85467 .elementor-element.elementor-element-4a719c1{padding:0px 0px 0px 0px;text-align:start;}.elementor-85467 .elementor-element.elementor-element-4a719c1 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-60e9d49{--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-85467 .elementor-element.elementor-element-2885340{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-6d1de04{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button:hover, .elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button:focus{color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button:hover svg, .elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-af42e1d{--display:flex;--min-height:250px;--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-85467 .elementor-element.elementor-element-af42e1d:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-af42e1d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85467 .elementor-element.elementor-element-af42e1d:hover{background-color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-22d7e9c{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-22d7e9c .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-22d7e9c .elementor-icon{font-size:64px;}.elementor-85467 .elementor-element.elementor-element-22d7e9c .elementor-icon svg{height:64px;}.elementor-85467 .elementor-element.elementor-element-a711985{padding:0px 0px 0px 0px;text-align:start;}.elementor-85467 .elementor-element.elementor-element-a711985 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-9b96083{--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-85467 .elementor-element.elementor-element-d88e61c{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-fd3f437{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button:hover, .elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button:focus{color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button:hover svg, .elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-f22fa3b{--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-85467 .elementor-element.elementor-element-46c0df5{--display:flex;--min-height:250px;--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-85467 .elementor-element.elementor-element-46c0df5:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-46c0df5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85467 .elementor-element.elementor-element-46c0df5:hover{background-color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-a747b42{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-a747b42 .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-a747b42 .elementor-icon{font-size:64px;}.elementor-85467 .elementor-element.elementor-element-a747b42 .elementor-icon svg{height:64px;}.elementor-85467 .elementor-element.elementor-element-e9ba9a1{padding:0px 0px 0px 0px;text-align:start;}.elementor-85467 .elementor-element.elementor-element-e9ba9a1 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-b96155e{--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-85467 .elementor-element.elementor-element-c1577f2{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-17d844d{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button:hover, .elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button:focus{color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button:hover svg, .elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-44ed7d2{--display:flex;--min-height:250px;--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-85467 .elementor-element.elementor-element-44ed7d2:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-44ed7d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85467 .elementor-element.elementor-element-44ed7d2:hover{background-color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-7d219c5{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-7d219c5 .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-7d219c5 .elementor-icon{font-size:64px;}.elementor-85467 .elementor-element.elementor-element-7d219c5 .elementor-icon svg{height:64px;}.elementor-85467 .elementor-element.elementor-element-dcf18fc{padding:0px 0px 0px 0px;text-align:start;}.elementor-85467 .elementor-element.elementor-element-dcf18fc .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-7ea9347{--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-85467 .elementor-element.elementor-element-1433d6b{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-a6551b9{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button:hover, .elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button:focus{color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button:hover svg, .elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-3c86d11{--display:flex;--min-height:250px;--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-85467 .elementor-element.elementor-element-3c86d11:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-3c86d11 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3FAFF;}.elementor-85467 .elementor-element.elementor-element-3c86d11:hover{background-color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-b599ec5{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-b599ec5 .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-b599ec5 .elementor-icon{font-size:64px;}.elementor-85467 .elementor-element.elementor-element-b599ec5 .elementor-icon svg{height:64px;}.elementor-85467 .elementor-element.elementor-element-c538929{padding:0px 0px 0px 0px;text-align:start;}.elementor-85467 .elementor-element.elementor-element-c538929 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:700;line-height:28px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-8e843df{--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-85467 .elementor-element.elementor-element-f5fa3b7{padding:0px 0px 0px 0px;font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#242424;}.elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button{background-color:#02010100;font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;fill:#1174D1;color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-467fb67{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button .elementor-button-content-wrapper{gap:9px;}.elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button:hover, .elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button:focus{color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button:hover svg, .elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-2291baf{--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-85467 .elementor-element.elementor-element-2291baf:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-2291baf > .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-85467 .elementor-element.elementor-element-73df4d6{--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-85467 .elementor-element.elementor-element-73df4d6:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-73df4d6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1174D1;}.elementor-85467 .elementor-element.elementor-element-73df4d6::before, .elementor-85467 .elementor-element.elementor-element-73df4d6 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-73df4d6 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-73df4d6 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-73df4d6 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-73df4d6 > .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-85467 .elementor-element.elementor-element-f6085f4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 20px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-f6085f4 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-4fa2419{--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-85467 .elementor-element.elementor-element-4fa2419 .elementor-divider-separator{width:48%;}.elementor-85467 .elementor-element.elementor-element-4fa2419 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85467 .elementor-element.elementor-element-bde5dc0{padding:0px 20px 0px 0px;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-deb0345{--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-85467 .elementor-element.elementor-element-284de29{--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-85467 .elementor-element.elementor-element-a8d514b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-title{color:#000000;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-aada948{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon-box-title{color:#000000;}.elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-8a09c19{--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-85467 .elementor-element.elementor-element-194c2af{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon-box-title{color:#000000;}.elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-5cc762d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon-box-title{color:#000000;}.elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-77de997{--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-85467 .elementor-element.elementor-element-80b40cc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon-box-title{color:#000000;}.elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-11a2c9b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon-box-wrapper{text-align:start;gap:15px;}.elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon-box-title a{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon-box-title{color:#000000;}.elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon-box-description{font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-a7660b7{--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-85467 .elementor-element.elementor-element-0328aa8{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-0328aa8 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-4e523fd{--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-85467 .elementor-element.elementor-element-4e523fd .elementor-divider-separator{width:33%;}.elementor-85467 .elementor-element.elementor-element-4e523fd .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85467 .elementor-element.elementor-element-4a9d400{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85467 .elementor-element.elementor-element-f37601e{--display:flex;--min-height:340px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-10f7646{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-4484a90{--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-85467 .elementor-element.elementor-element-4484a90:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-4484a90::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .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-85467 .elementor-element.elementor-element-0805bab .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-0805bab .elementor-icon{font-size:74px;}.elementor-85467 .elementor-element.elementor-element-0805bab .elementor-icon svg{height:74px;}.elementor-85467 .elementor-element.elementor-element-0805bab .elementor-icon-wrapper svg{width:auto;}.elementor-85467 .elementor-element.elementor-element-5262963{padding:0px 0px 30px 0px;text-align:center;}.elementor-85467 .elementor-element.elementor-element-5262963 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-b48005d{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-b47028a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-9332ef2{--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-85467 .elementor-element.elementor-element-9332ef2:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-9332ef2::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .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-85467 .elementor-element.elementor-element-3fe0423 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-3fe0423 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-3fe0423 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-2157bb1{text-align:center;}.elementor-85467 .elementor-element.elementor-element-2157bb1 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-815e093{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-aa8a1c1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-78c478a{--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-85467 .elementor-element.elementor-element-78c478a:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-78c478a::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .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-85467 .elementor-element.elementor-element-f3a9a64 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-f3a9a64 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-f3a9a64 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-637ea7d{text-align:center;}.elementor-85467 .elementor-element.elementor-element-637ea7d .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-b4ca324{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-a51a24e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-7d1f20d{--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-85467 .elementor-element.elementor-element-7d1f20d:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-7d1f20d::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .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-85467 .elementor-element.elementor-element-fcd8a04 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-fcd8a04 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-fcd8a04 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-53c471a{text-align:center;}.elementor-85467 .elementor-element.elementor-element-53c471a .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-af3eac0{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-51e3d15{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-8501a8f{--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-85467 .elementor-element.elementor-element-8501a8f:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-8501a8f::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .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-85467 .elementor-element.elementor-element-22d0c1e .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-22d0c1e .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-22d0c1e .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-d912e4f{text-align:center;}.elementor-85467 .elementor-element.elementor-element-d912e4f .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-0dedf9e{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-c9e3ac3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-a86880d{--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-85467 .elementor-element.elementor-element-a86880d:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-a86880d::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .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-85467 .elementor-element.elementor-element-f0dce32 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-f0dce32 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-f0dce32 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-20e8bcf{text-align:center;}.elementor-85467 .elementor-element.elementor-element-20e8bcf .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-d85cdc1{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-cf07153{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-1e242ea{--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-85467 .elementor-element.elementor-element-1e242ea:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-1e242ea::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .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-85467 .elementor-element.elementor-element-56dbc70 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-56dbc70 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-56dbc70 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-1f1c92a{text-align:center;}.elementor-85467 .elementor-element.elementor-element-1f1c92a .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-fc0a796{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-ed85de1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-556e7a8{--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-85467 .elementor-element.elementor-element-556e7a8:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-556e7a8::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .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-85467 .elementor-element.elementor-element-55705bd .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-55705bd .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-55705bd .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-18a48e3{text-align:center;}.elementor-85467 .elementor-element.elementor-element-18a48e3 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-c4c1af1{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-12dac19{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-94016e8{--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-85467 .elementor-element.elementor-element-94016e8:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-94016e8::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .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-85467 .elementor-element.elementor-element-ae00705 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-ae00705 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-ae00705 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-9135055{text-align:center;}.elementor-85467 .elementor-element.elementor-element-9135055 .elementor-heading-title{font-size:22px;font-weight:700;line-height:28px;}.elementor-85467 .elementor-element.elementor-element-46553ef{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-d215d8d{--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-85467 .elementor-element.elementor-element-e9fd647{--display:flex;}.elementor-85467 .elementor-element.elementor-element-67bf1df{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-0c7cd23{--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-85467 .elementor-element.elementor-element-0c7cd23:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-0c7cd23::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .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-85467 .elementor-element.elementor-element-d66e9b7 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-d66e9b7 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-d66e9b7 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-2f5157e{text-align:center;}.elementor-85467 .elementor-element.elementor-element-2f5157e .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-5a7e094{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-3f28e49{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-af06e79{--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-85467 .elementor-element.elementor-element-af06e79:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-af06e79::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .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-85467 .elementor-element.elementor-element-d3fc608 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-d3fc608 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-d3fc608 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-219230b{text-align:center;}.elementor-85467 .elementor-element.elementor-element-219230b .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-15a44dc{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-a85c993{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-53b18bd{--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-85467 .elementor-element.elementor-element-53b18bd:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-53b18bd::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .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-85467 .elementor-element.elementor-element-d18c605 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-d18c605 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-d18c605 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-dd6780b{text-align:center;}.elementor-85467 .elementor-element.elementor-element-dd6780b .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-efb719c{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-767fbc8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-ad80b06{--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-85467 .elementor-element.elementor-element-ad80b06:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-ad80b06::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .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-85467 .elementor-element.elementor-element-5a07df0 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-5a07df0 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-5a07df0 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-61f8672{text-align:center;}.elementor-85467 .elementor-element.elementor-element-61f8672 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-6b30d6a{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-1a37522{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-2a4482b{--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-85467 .elementor-element.elementor-element-2a4482b:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-2a4482b::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .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-85467 .elementor-element.elementor-element-f85b299 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-f85b299 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-f85b299 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-6771fd6{text-align:center;}.elementor-85467 .elementor-element.elementor-element-6771fd6 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-15d6e71{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-2001f6a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-67bf88a{--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-85467 .elementor-element.elementor-element-67bf88a:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-67bf88a::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .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-85467 .elementor-element.elementor-element-f85e4b7 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-f85e4b7 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-f85e4b7 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-3d55954{text-align:center;}.elementor-85467 .elementor-element.elementor-element-3d55954 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-39326df{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-82809f0{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-26880b3{--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-85467 .elementor-element.elementor-element-26880b3:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-26880b3::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .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-85467 .elementor-element.elementor-element-986cc87 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-986cc87 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-986cc87 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-d5572ad{text-align:center;}.elementor-85467 .elementor-element.elementor-element-d5572ad .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-4148181{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-1f49251{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-c574b53{--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-85467 .elementor-element.elementor-element-c574b53:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-c574b53::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .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-85467 .elementor-element.elementor-element-8eb612a .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-8eb612a .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-8eb612a .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-a158dfd{text-align:center;}.elementor-85467 .elementor-element.elementor-element-a158dfd .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-f75a5bb{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-17c0ee8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-9ee946f{--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-85467 .elementor-element.elementor-element-9ee946f:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-9ee946f::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .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-85467 .elementor-element.elementor-element-2be6354 .elementor-icon-wrapper{text-align:center;}.elementor-85467 .elementor-element.elementor-element-2be6354 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-2be6354 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-fe7c789{text-align:center;}.elementor-85467 .elementor-element.elementor-element-fe7c789 .elementor-heading-title{font-size:22px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-e71ce86{text-align:center;font-size:16px;font-weight:400;}.elementor-85467 .elementor-element.elementor-element-713b19b{--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;}.elementor-85467 .elementor-element.elementor-element-52f61b5{--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-85467 .elementor-element.elementor-element-52f61b5:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-52f61b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-e9b8d0b{--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-85467 .elementor-element.elementor-element-2f47bb2{--display:flex;}.elementor-85467 .elementor-element.elementor-element-113bc7a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-113bc7a .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-28d5d62{--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-85467 .elementor-element.elementor-element-28d5d62 .elementor-divider-separator{width:33%;}.elementor-85467 .elementor-element.elementor-element-28d5d62 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85467 .elementor-element.elementor-element-75eb529{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85467 .elementor-element.elementor-element-ba6c67c{--display:flex;}.elementor-85467 .elementor-element.elementor-element-93e765a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:0px 0px 0px 0px;--margin-top:-78px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-27463b5{--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-85467 .elementor-element.elementor-element-2fec0c2{--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-85467 .elementor-element.elementor-element-6bfb48c .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-420e000{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-a335c91{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-85467 .elementor-element.elementor-element-9015bdc{--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-85467 .elementor-element.elementor-element-17e380a{--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-85467 .elementor-element.elementor-element-33d4bb6 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-7657c46{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-97f96d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-85467 .elementor-element.elementor-element-7707691{--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-85467 .elementor-element.elementor-element-4e04c6a{--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-85467 .elementor-element.elementor-element-3079381 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-019f24f{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-9ca0495{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-85467 .elementor-element.elementor-element-591af7c{--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-85467 .elementor-element.elementor-element-9fd989c{--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-85467 .elementor-element.elementor-element-c5bd1e0 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-87d76fb{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-db95013{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-85467 .elementor-element.elementor-element-1887e17{--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-85467 .elementor-element.elementor-element-1887e17 > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected='false']:not( :hover ){background:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-1887e17.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-85467 .elementor-element.elementor-element-1887e17.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-85467 .elementor-element.elementor-element-1887e17.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-85467 .elementor-element.elementor-element-1887e17.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-85467 .elementor-element.elementor-element-1887e17 [data-touch-mode="false"] .e-n-tab-title[aria-selected="false"]:hover{--n-tabs-title-color-hover:#1174D1;}.elementor-85467 .elementor-element.elementor-element-c99efc3{--display:flex;}.elementor-85467 .elementor-element.elementor-element-7a63fdf{--display:flex;}.elementor-85467 .elementor-element.elementor-element-7a63fdf:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-7a63fdf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-1556e8c .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-bb357a1{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-3623b55{--display:flex;}.elementor-85467 .elementor-element.elementor-element-3623b55:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-3623b55 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-301591b .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-0fd9a2b .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-cc58c67{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-d96fc7c{--display:flex;}.elementor-85467 .elementor-element.elementor-element-d96fc7c:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-d96fc7c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-6356981 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-e7ea792 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-c119825{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-1ab7a45{--display:flex;}.elementor-85467 .elementor-element.elementor-element-1ab7a45:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-1ab7a45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-4cfd415 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-c400ef1 .elementor-heading-title{font-size:30px;font-weight:700;line-height:38px;}.elementor-85467 .elementor-element.elementor-element-2030494{font-weight:500;color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-a794761{--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-85467 .elementor-element.elementor-element-a794761:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-a794761 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E5F2FC;}.elementor-85467 .elementor-element.elementor-element-a5584c4{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-a5584c4 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-7dfa4ef{--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-85467 .elementor-element.elementor-element-7dfa4ef .elementor-divider-separator{width:33%;}.elementor-85467 .elementor-element.elementor-element-7dfa4ef .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85467 .elementor-element.elementor-element-efd14a6{padding:0px 0px 0px 0px;font-weight:500;color:#242424;}.elementor-85467 .elementor-element.elementor-element-893b1a3{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-3cd330b{--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-85467 .elementor-element.elementor-element-b046cc0{--display:flex;--min-height:366px;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 0px 01px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:01px;--border-left-width:0px;border-color:#88B9E8;--border-color:#88B9E8;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-58349ec{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title{color:#151515;}.elementor-85467 .elementor-element.elementor-element-ee86d3a{color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-3070b55{--display:flex;border-style:solid;--border-style:solid;border-width:01px 0px 0px 0px;--border-top-width:01px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#88B9E8;--border-color:#88B9E8;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title{color:#151515;}.elementor-85467 .elementor-element.elementor-element-6ae4138{color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-001ae1f{--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-85467 .elementor-element.elementor-element-a1afdb4 img{height:366px;}.elementor-85467 .elementor-element.elementor-element-d7d09ce{--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-85467 .elementor-element.elementor-element-169966c{--display:flex;border-style:solid;--border-style:solid;border-width:0px 01px 0px 0px;--border-top-width:0px;--border-right-width:01px;--border-bottom-width:0px;--border-left-width:0px;border-color:#88B9E8;--border-color:#88B9E8;--border-radius:0px 0px 0px 0px;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title{color:#151515;}.elementor-85467 .elementor-element.elementor-element-116cde0{color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-cbce35b{--display:flex;--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-wrapper{align-items:center;gap:15px;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title a{font-size:24px;font-weight:700;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title{color:#151515;}.elementor-85467 .elementor-element.elementor-element-33d9b0e{color:#242424CC;}.elementor-85467 .elementor-element.elementor-element-aec0505{--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-85467 .elementor-element.elementor-element-12843da{--display:flex;--border-radius:16px 16px 16px 16px;--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-12843da:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-12843da > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#C1E4FF36;}.elementor-85467 .elementor-element.elementor-element-79b18f5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-79b18f5 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#151515;}.elementor-85467 .elementor-element.elementor-element-e076445{--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-85467 .elementor-element.elementor-element-e076445 .elementor-divider-separator{width:33%;}.elementor-85467 .elementor-element.elementor-element-e076445 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85467 .elementor-element.elementor-element-8e06ae2{font-weight:500;color:#242424;}.elementor-85467 .elementor-element.elementor-element-467a2a5{--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-85467 .elementor-element.elementor-element-2bd6efc{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85467 .elementor-element.elementor-element-1bb744e .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-1bb744e .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-1bb744e .elementor-icon svg{height:60px;}.elementor-85467 .elementor-element.elementor-element-53d9601{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-53d9601 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85467 .elementor-element.elementor-element-fe1f49d{padding:0px 0px 0px 0px;font-size:16px;font-weight:500;line-height:24px;}.elementor-85467 .elementor-element.elementor-element-c62a3ad{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85467 .elementor-element.elementor-element-623620b .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-623620b .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-623620b .elementor-icon svg{height:60px;}.elementor-85467 .elementor-element.elementor-element-3eb0da9{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-3eb0da9 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85467 .elementor-element.elementor-element-11a8687{padding:0px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-85467 .elementor-element.elementor-element-beb6d52{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85467 .elementor-element.elementor-element-7f1681a .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-7f1681a .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-7f1681a .elementor-icon svg{height:60px;}.elementor-85467 .elementor-element.elementor-element-5fb5138{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-5fb5138 .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85467 .elementor-element.elementor-element-383e830{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-85467 .elementor-element.elementor-element-2bb7709{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-85467 .elementor-element.elementor-element-77beb2c .elementor-icon-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-77beb2c .elementor-icon{font-size:60px;}.elementor-85467 .elementor-element.elementor-element-77beb2c .elementor-icon svg{height:60px;}.elementor-85467 .elementor-element.elementor-element-550363e{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-550363e .elementor-heading-title{font-size:22px;font-weight:600;line-height:26px;color:#000000;}.elementor-85467 .elementor-element.elementor-element-843c140{padding:10px 0px 0px 0px;font-size:16px;font-weight:500;}.elementor-85467 .elementor-element.elementor-element-bf56568{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-7d16306{--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-85467 .elementor-element.elementor-element-c07b9c3 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;}.elementor-85467 .elementor-element.elementor-element-0405c17{--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-85467 .elementor-element.elementor-element-0405c17 .elementor-divider-separator{width:13%;}.elementor-85467 .elementor-element.elementor-element-0405c17 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-85467 .elementor-element.elementor-element-b27679a{--display:flex;--min-height:650px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-58ab613{--display:flex;--min-height:620px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--border-radius:16px 16px 16px 16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-58ab613:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-58ab613 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://cloud.10decoders.co.in/home/contact-us-bg-image.png");background-size:cover;}.elementor-85467 .elementor-element.elementor-element-3a7875a{--display:flex;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-e8f8a51{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:36px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-da81c61{text-align:start;}.elementor-85467 .elementor-element.elementor-element-da81c61 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:34px;font-weight:600;line-height:42px;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-06937e6{font-family:"Jost", Sans-serif;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-fd51de4{text-align:start;}.elementor-85467 .elementor-element.elementor-element-624d973 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:18px;font-weight:600;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-044f4f3 .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:14px;font-weight:500;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-27a1408{font-family:"Jost", Sans-serif;font-size:14px;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-451486c .elementor-heading-title{font-family:"Jost", Sans-serif;font-size:22px;font-weight:500;color:#FFFFFF;}.elementor-85467 .elementor-element.elementor-element-ad41159{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(12px/2);}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(12px/2);}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(12px/2);}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-12px/2);}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-12px/2);}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-85467 .elementor-element.elementor-element-619cab1{--e-icon-list-icon-size:36px;--icon-vertical-offset:0px;}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:16px;line-height:24px;}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-85467 .elementor-element.elementor-element-33f9ddf{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:60px;}.elementor-85467 .elementor-element.elementor-element-b76f19c{--display:flex;--border-radius:16px 16px 16px 16px;}.elementor-85467 .elementor-element.elementor-element-b76f19c:not(.elementor-motion-effects-element-type-background), .elementor-85467 .elementor-element.elementor-element-b76f19c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-85467 .elementor-element.elementor-element-2c84320{--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-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-303e6fd{--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-b2300e4 .elementor-heading-title{line-height:42px;}.elementor-85467 .elementor-element.elementor-element-e6a2f89{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-46c0df5{--justify-content:flex-start;}.elementor-85467 .elementor-element.elementor-element-73df4d6{--justify-content:flex-start;}.elementor-85467 .elementor-element.elementor-element-f6085f4 .elementor-heading-title{font-size:38px;line-height:48px;}.elementor-85467 .elementor-element.elementor-element-0328aa8 .elementor-heading-title{line-height:42px;}.elementor-85467 .elementor-element.elementor-element-4a9d400{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-f37601e{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-10f7646{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-4484a90{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-5262963 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-b48005d{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-b47028a{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-9332ef2{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-2157bb1 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-815e093{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-aa8a1c1{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-78c478a{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-637ea7d .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-b4ca324{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-a51a24e{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-7d1f20d{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-53c471a .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-af3eac0{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-51e3d15{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-8501a8f{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-d912e4f .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-0dedf9e{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-c9e3ac3{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-a86880d{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-20e8bcf .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-d85cdc1{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-cf07153{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-1e242ea{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-1f1c92a .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-fc0a796{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-ed85de1{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-556e7a8{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-18a48e3 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-c4c1af1{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-12dac19{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-94016e8{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-9135055 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-46553ef{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-0c7cd23{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-2f5157e .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-5a7e094{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-af06e79{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-219230b .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-15a44dc{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-53b18bd{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-dd6780b .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-efb719c{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-ad80b06{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-61f8672 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-6b30d6a{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-2a4482b{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-6771fd6 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-15d6e71{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-67bf88a{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-3d55954 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-39326df{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-26880b3{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-d5572ad .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-4148181{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-c574b53{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-a158dfd .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-f75a5bb{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-9ee946f{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-fe7c789 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-e71ce86{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-113bc7a .elementor-heading-title{line-height:42px;}.elementor-85467 .elementor-element.elementor-element-75eb529{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-420e000{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-7657c46{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-019f24f{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-87d76fb{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-1887e17{--n-tabs-title-font-size:16px;}.elementor-85467 .elementor-element.elementor-element-bb357a1{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-cc58c67{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-c119825{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-2030494{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-a5584c4 .elementor-heading-title{line-height:42px;}.elementor-85467 .elementor-element.elementor-element-efd14a6{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-b046cc0{--min-height:394px;--justify-content:flex-start;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc{padding:60px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-a1afdb4 img{height:394px;}.elementor-85467 .elementor-element.elementor-element-79b18f5 .elementor-heading-title{line-height:42px;}.elementor-85467 .elementor-element.elementor-element-e076445 .elementor-divider-separator{width:20%;}.elementor-85467 .elementor-element.elementor-element-8e06ae2{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-bf56568{--padding-top:50px;--padding-bottom:050px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-7d16306{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-c07b9c3 .elementor-heading-title{line-height:42px;}.elementor-85467 .elementor-element.elementor-element-b27679a{--padding-top:30px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-58ab613{--border-radius:016px 016px 016px 016px;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-85467 .elementor-element.elementor-element-3a7875a{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}}@media(max-width:1200px){.elementor-85467 .elementor-element.elementor-element-dfe9771 .elementor-heading-title{font-size:44px;}.elementor-85467 .elementor-element.elementor-element-fe538ba{--min-height:198px;--justify-content:space-between;}.elementor-85467 .elementor-element.elementor-element-60e9d49{--min-height:198px;--justify-content:space-between;}.elementor-85467 .elementor-element.elementor-element-9b96083{--min-height:198px;--justify-content:space-between;}.elementor-85467 .elementor-element.elementor-element-b96155e{--min-height:198px;--justify-content:space-between;}.elementor-85467 .elementor-element.elementor-element-7ea9347{--min-height:198px;--justify-content:space-between;}.elementor-85467 .elementor-element.elementor-element-8e843df{--min-height:198px;--justify-content:space-between;}.elementor-85467 .elementor-element.elementor-element-a7660b7{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-d215d8d{--e-n-carousel-arrow-prev-left-position:321px;--e-n-carousel-arrow-next-right-position:318px;}.elementor-85467 .elementor-element.elementor-element-52f61b5{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-a794761{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-ee86d3a{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-6ae4138{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-169966c{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-116cde0{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-cbce35b{--padding-top:30px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-33d9b0e{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-7d16306{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}}@media(max-width:1024px){.elementor-85467 .elementor-element.elementor-element-dfe9771{text-align:center;}.elementor-85467 .elementor-element.elementor-element-dfe9771 .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-4ba547d{text-align:center;}.elementor-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-b2300e4{text-align:center;}.elementor-85467 .elementor-element.elementor-element-b2300e4 .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-0ab38d8 .elementor-divider{text-align:center;}.elementor-85467 .elementor-element.elementor-element-0ab38d8 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85467 .elementor-element.elementor-element-e6a2f89{text-align:center;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-013fafc{--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-85467 .elementor-element.elementor-element-f22fa3b{--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-85467 .elementor-element.elementor-element-f6085f4{text-align:start;}.elementor-85467 .elementor-element.elementor-element-f6085f4 .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-4fa2419 .elementor-divider{text-align:left;}.elementor-85467 .elementor-element.elementor-element-4fa2419 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85467 .elementor-element.elementor-element-bde5dc0{text-align:start;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-4213458 .elementor-icon-box-description{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-edc7660 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-2e12397 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-928e8bc .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon{font-size:50px;}.elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-4e38df7 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-f1d2ed5 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-0328aa8{text-align:center;}.elementor-85467 .elementor-element.elementor-element-0328aa8 .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-4e523fd .elementor-divider{text-align:center;}.elementor-85467 .elementor-element.elementor-element-4e523fd .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85467 .elementor-element.elementor-element-4a9d400{text-align:center;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-4484a90::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-9332ef2::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-78c478a::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-7d1f20d::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-8501a8f::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-a86880d::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-1e242ea::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-556e7a8::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-94016e8::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-d215d8d{--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-85467 .elementor-element.elementor-element-e9fd647{--min-height:360px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-0c7cd23{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-0c7cd23::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-af06e79{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-af06e79::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-53b18bd{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-53b18bd::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-ad80b06{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-ad80b06::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-2a4482b{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-2a4482b::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-67bf88a{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-67bf88a::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-26880b3{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-26880b3::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-c574b53{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-c574b53::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-9ee946f{--min-height:360px;}.elementor-85467 .elementor-element.elementor-element-9ee946f::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-713b19b{--e-n-carousel-swiper-slides-to-display:2;}.elementor-85467 .elementor-element.elementor-element-113bc7a{text-align:center;}.elementor-85467 .elementor-element.elementor-element-113bc7a .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-28d5d62 .elementor-divider{text-align:center;}.elementor-85467 .elementor-element.elementor-element-28d5d62 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85467 .elementor-element.elementor-element-75eb529{text-align:center;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-93e765a{--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-85467 .elementor-element.elementor-element-6bfb48c .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-420e000{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-33d4bb6 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-7657c46{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-3079381 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-c5bd1e0 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-1887e17{--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-85467 .elementor-element.elementor-element-1556e8c .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-bb357a1{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-301591b .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-0fd9a2b .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-cc58c67{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-6356981 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-e7ea792 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-4cfd415 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-c400ef1 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-a5584c4{text-align:center;}.elementor-85467 .elementor-element.elementor-element-a5584c4 .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-7dfa4ef .elementor-divider{text-align:center;}.elementor-85467 .elementor-element.elementor-element-7dfa4ef .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85467 .elementor-element.elementor-element-efd14a6{text-align:center;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title a{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-ee86d3a{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title a{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-6ae4138{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title a{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-116cde0{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title a{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-33d9b0e{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-79b18f5{text-align:center;}.elementor-85467 .elementor-element.elementor-element-79b18f5 .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-e076445 .elementor-divider{text-align:center;}.elementor-85467 .elementor-element.elementor-element-e076445 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85467 .elementor-element.elementor-element-8e06ae2{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-1bb744e .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-1bb744e .elementor-icon svg{height:40px;}.elementor-85467 .elementor-element.elementor-element-53d9601 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-fe1f49d{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-623620b .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-623620b .elementor-icon svg{height:40px;}.elementor-85467 .elementor-element.elementor-element-3eb0da9 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-11a8687{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-7f1681a .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-7f1681a .elementor-icon svg{height:40px;}.elementor-85467 .elementor-element.elementor-element-5fb5138 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-383e830{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-77beb2c .elementor-icon{font-size:40px;}.elementor-85467 .elementor-element.elementor-element-77beb2c .elementor-icon svg{height:40px;}.elementor-85467 .elementor-element.elementor-element-550363e .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-843c140{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-c07b9c3{text-align:center;}.elementor-85467 .elementor-element.elementor-element-c07b9c3 .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-0405c17 .elementor-divider{text-align:center;}.elementor-85467 .elementor-element.elementor-element-0405c17 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85467 .elementor-element.elementor-element-da81c61 .elementor-heading-title{font-size:28px;}.elementor-85467 .elementor-element.elementor-element-06937e6{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-624d973 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-044f4f3 .elementor-heading-title{font-size:12px;}.elementor-85467 .elementor-element.elementor-element-27a1408{font-size:12px;}.elementor-85467 .elementor-element.elementor-element-451486c .elementor-heading-title{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-619cab1{--e-icon-list-icon-size:30px;}.elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-85467 .elementor-element.elementor-element-619cab1 .elementor-icon-list-item > a{font-size:14px;}}@media(max-width:767px){.elementor-85467 .elementor-element.elementor-element-2c84320{--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-85467 .elementor-element.elementor-element-dfe9771{padding:0px 0px 0px 0px;}.elementor-85467 .elementor-element.elementor-element-dfe9771 .elementor-heading-title{font-size:26px;line-height:32px;}.elementor-85467 .elementor-element.elementor-element-4ba547d{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-e0c9a0e .elementor-button{font-size:12px;}.elementor-85467 .elementor-element.elementor-element-b2300e4{text-align:center;}.elementor-85467 .elementor-element.elementor-element-b2300e4 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85467 .elementor-element.elementor-element-0ab38d8 .elementor-divider{text-align:center;}.elementor-85467 .elementor-element.elementor-element-0ab38d8 .elementor-divider-separator{margin:0 auto;margin-center:0;}.elementor-85467 .elementor-element.elementor-element-e6a2f89{text-align:center;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-660050f{--min-height:0px;}.elementor-85467 .elementor-element.elementor-element-622cb89 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-0841192{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-e1dcdc2 .elementor-button{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-265fc79{--min-height:0px;}.elementor-85467 .elementor-element.elementor-element-4a719c1 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-2885340{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-6d1de04 .elementor-button{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-af42e1d{--min-height:0px;}.elementor-85467 .elementor-element.elementor-element-a711985 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-d88e61c{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-fd3f437 .elementor-button{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-46c0df5{--min-height:0px;}.elementor-85467 .elementor-element.elementor-element-e9ba9a1 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-c1577f2{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-17d844d .elementor-button{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-44ed7d2{--min-height:0px;}.elementor-85467 .elementor-element.elementor-element-dcf18fc .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-1433d6b{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-a6551b9 .elementor-button{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-3c86d11{--min-height:0px;}.elementor-85467 .elementor-element.elementor-element-c538929 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-f5fa3b7{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-467fb67 .elementor-button{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-2291baf{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-73df4d6{--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-f6085f4 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85467 .elementor-element.elementor-element-0328aa8{text-align:start;}.elementor-85467 .elementor-element.elementor-element-0328aa8 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85467 .elementor-element.elementor-element-4e523fd .elementor-divider{text-align:left;}.elementor-85467 .elementor-element.elementor-element-4e523fd .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85467 .elementor-element.elementor-element-4a9d400{text-align:start;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-f37601e{--min-height:437px;}.elementor-85467 .elementor-element.elementor-element-4484a90::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-4484a90 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-9332ef2::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9332ef2 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-78c478a::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-78c478a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-7d1f20d::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-7d1f20d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-8501a8f::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-8501a8f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-a86880d::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-a86880d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-1e242ea::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-1e242ea > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-556e7a8::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-556e7a8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-94016e8::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-94016e8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-d215d8d{--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-85467 .elementor-element.elementor-element-e9fd647{--min-height:598px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-0c7cd23{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-0c7cd23::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-0c7cd23 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-d66e9b7 .elementor-icon{font-size:80px;}.elementor-85467 .elementor-element.elementor-element-d66e9b7 .elementor-icon svg{height:80px;}.elementor-85467 .elementor-element.elementor-element-2f5157e .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-5a7e094{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-af06e79{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-af06e79::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-af06e79 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-219230b .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-53b18bd{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-53b18bd::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-53b18bd > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-dd6780b .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-ad80b06{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-ad80b06::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-ad80b06 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-61f8672 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-2a4482b{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-2a4482b::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-2a4482b > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-6771fd6 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-67bf88a{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-67bf88a::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-67bf88a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-3d55954 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-26880b3{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-26880b3::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-26880b3 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-d5572ad .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-c574b53{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-c574b53::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-c574b53 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-a158dfd .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-9ee946f{--min-height:576px;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-85467 .elementor-element.elementor-element-9ee946f::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .e-con-inner > .elementor-background-video-container::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .e-con-inner > .elementor-background-slideshow::before, .elementor-85467 .elementor-element.elementor-element-9ee946f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-85467 .elementor-element.elementor-element-fe7c789 .elementor-heading-title{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-713b19b{--e-n-carousel-swiper-slides-to-display:1;}.elementor-85467 .elementor-element.elementor-element-713b19b .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:10px;--swiper-pagination-bullet-vertical-gap:10px;}.elementor-85467 .elementor-element.elementor-element-113bc7a{text-align:start;}.elementor-85467 .elementor-element.elementor-element-113bc7a .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85467 .elementor-element.elementor-element-28d5d62 .elementor-divider{text-align:left;}.elementor-85467 .elementor-element.elementor-element-28d5d62 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85467 .elementor-element.elementor-element-75eb529{text-align:start;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-1887e17{--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-85467 .elementor-element.elementor-element-c99efc3{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-7a63fdf{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85467 .elementor-element.elementor-element-3623b55{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85467 .elementor-element.elementor-element-d96fc7c{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85467 .elementor-element.elementor-element-1ab7a45{--min-height:459px;--border-radius:8px 8px 8px 8px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-85467 .elementor-element.elementor-element-a5584c4{text-align:start;}.elementor-85467 .elementor-element.elementor-element-a5584c4 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85467 .elementor-element.elementor-element-7dfa4ef .elementor-divider{text-align:left;}.elementor-85467 .elementor-element.elementor-element-7dfa4ef .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85467 .elementor-element.elementor-element-efd14a6{text-align:start;font-size:16px;}.elementor-85467 .elementor-element.elementor-element-b046cc0{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-ff4c7c1 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-3070b55{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-9b0f9fc .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-169966c{border-width:0px 0px 0px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-033cb98 .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-wrapper{text-align:start;}.elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title, .elementor-85467 .elementor-element.elementor-element-888ae6a .elementor-icon-box-title a{font-size:20px;}.elementor-85467 .elementor-element.elementor-element-79b18f5{text-align:start;}.elementor-85467 .elementor-element.elementor-element-79b18f5 .elementor-heading-title{font-size:22px;line-height:32px;}.elementor-85467 .elementor-element.elementor-element-e076445 .elementor-divider{text-align:left;}.elementor-85467 .elementor-element.elementor-element-e076445 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85467 .elementor-element.elementor-element-8e06ae2{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-53d9601 .elementor-heading-title{font-size:18px;}.elementor-85467 .elementor-element.elementor-element-fe1f49d{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-3eb0da9 .elementor-heading-title{font-size:18px;}.elementor-85467 .elementor-element.elementor-element-11a8687{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-5fb5138 .elementor-heading-title{font-size:18px;}.elementor-85467 .elementor-element.elementor-element-383e830{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-550363e .elementor-heading-title{font-size:18px;}.elementor-85467 .elementor-element.elementor-element-843c140{font-size:16px;}.elementor-85467 .elementor-element.elementor-element-7d16306{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-85467 .elementor-element.elementor-element-c07b9c3{width:100%;max-width:100%;text-align:start;}.elementor-85467 .elementor-element.elementor-element-c07b9c3 .elementor-heading-title{font-size:22px;}.elementor-85467 .elementor-element.elementor-element-0405c17 .elementor-divider{text-align:left;}.elementor-85467 .elementor-element.elementor-element-0405c17 .elementor-divider-separator{margin:0 auto;margin-left:0;}.elementor-85467 .elementor-element.elementor-element-b27679a{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-85467 .elementor-element.elementor-element-e8f8a51{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-85467 .elementor-element.elementor-element-da81c61 .elementor-heading-title{font-size:24px;}.elementor-85467 .elementor-element.elementor-element-06937e6{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-624d973 .elementor-heading-title{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-27a1408{font-size:14px;}.elementor-85467 .elementor-element.elementor-element-451486c .elementor-heading-title{font-size:14px;}}@media(min-width:768px){.elementor-85467 .elementor-element.elementor-element-79449bb{--width:62%;}.elementor-85467 .elementor-element.elementor-element-660050f{--width:33.3%;}.elementor-85467 .elementor-element.elementor-element-265fc79{--width:33.3%;}.elementor-85467 .elementor-element.elementor-element-af42e1d{--width:33.3%;}.elementor-85467 .elementor-element.elementor-element-46c0df5{--width:33.3%;}.elementor-85467 .elementor-element.elementor-element-44ed7d2{--width:33.3%;}.elementor-85467 .elementor-element.elementor-element-3c86d11{--width:33.3%;}.elementor-85467 .elementor-element.elementor-element-73df4d6{--width:40%;}.elementor-85467 .elementor-element.elementor-element-deb0345{--width:60%;}.elementor-85467 .elementor-element.elementor-element-a8d514b{--width:50%;}.elementor-85467 .elementor-element.elementor-element-aada948{--width:50%;}.elementor-85467 .elementor-element.elementor-element-194c2af{--width:50%;}.elementor-85467 .elementor-element.elementor-element-5cc762d{--width:50%;}.elementor-85467 .elementor-element.elementor-element-80b40cc{--width:50%;}.elementor-85467 .elementor-element.elementor-element-11a2c9b{--width:50%;}.elementor-85467 .elementor-element.elementor-element-2f47bb2{--width:80%;}.elementor-85467 .elementor-element.elementor-element-ba6c67c{--width:20%;}.elementor-85467 .elementor-element.elementor-element-2fec0c2{--width:50%;}.elementor-85467 .elementor-element.elementor-element-a335c91{--width:50%;}.elementor-85467 .elementor-element.elementor-element-17e380a{--width:50%;}.elementor-85467 .elementor-element.elementor-element-97f96d5{--width:50%;}.elementor-85467 .elementor-element.elementor-element-4e04c6a{--width:50%;}.elementor-85467 .elementor-element.elementor-element-9ca0495{--width:50%;}.elementor-85467 .elementor-element.elementor-element-9fd989c{--width:50%;}.elementor-85467 .elementor-element.elementor-element-db95013{--width:50%;}.elementor-85467 .elementor-element.elementor-element-b046cc0{--width:35%;}.elementor-85467 .elementor-element.elementor-element-001ae1f{--width:65%;}.elementor-85467 .elementor-element.elementor-element-3a7875a{--width:50%;}.elementor-85467 .elementor-element.elementor-element-33f9ddf{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-85467 .elementor-element.elementor-element-79449bb{--width:100%;}.elementor-85467 .elementor-element.elementor-element-660050f{--width:100%;}.elementor-85467 .elementor-element.elementor-element-265fc79{--width:100%;}.elementor-85467 .elementor-element.elementor-element-af42e1d{--width:100%;}.elementor-85467 .elementor-element.elementor-element-46c0df5{--width:100%;}.elementor-85467 .elementor-element.elementor-element-44ed7d2{--width:100%;}.elementor-85467 .elementor-element.elementor-element-3c86d11{--width:100%;}.elementor-85467 .elementor-element.elementor-element-b046cc0{--width:40%;}.elementor-85467 .elementor-element.elementor-element-001ae1f{--width:60%;}}/* Start custom CSS for heading, class: .elementor-element-dfe9771 */@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-4ba547d */@media (max-width: 1024px) and (min-width: 996px) {
    .elementor-85467 .elementor-element.elementor-element-4ba547d {
        text-align: left !important;
        justify-content: flex-start !important; /* Aligns button to left */
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e0c9a0e */@media (max-width: 1024px) and (min-width: 996px) {
    .elementor-85467 .elementor-element.elementor-element-e0c9a0e {
        text-align: left !important;
        justify-content: flex-start !important; /* Aligns button to left */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2c84320 *//* --- Default styles for larger desktops (1200px and up) --- */
.elementor-85467 .elementor-element.elementor-element-2c84320 {
    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-85467 .elementor-element.elementor-element-2c84320 {
        min-height: 95vh; 
    }
}

/* --- Tablet & Mobile: 90vh --- */
@media (max-width: 991px) {
    .elementor-85467 .elementor-element.elementor-element-2c84320 {
        min-height: 80vh;
    }
}

/* --- Media query for Laptops (max-width: 1199px) --- */
@media (max-width: 1199px) {
    .elementor-85467 .elementor-element.elementor-element-2c84320 {
        background-size:
            50% auto,
            18% auto,
            24px 24px,
            cover;
    }
}

/* --- Media query for Tablets (max-width: 991px) --- */
@media (max-width: 991px) {
    .elementor-85467 .elementor-element.elementor-element-2c84320 {
        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-85467 .elementor-element.elementor-element-2c84320 {
        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-0ab38d8 */.elementor-85467 .elementor-element.elementor-element-0ab38d8 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85467 .elementor-element.elementor-element-0ab38d8 .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-660050f */.elementor-85467 .elementor-element.elementor-element-660050f {
  transition: all 0.3s ease-in-out;
}

.elementor-85467 .elementor-element.elementor-element-660050f:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85467 .elementor-element.elementor-element-660050f:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85467 .elementor-element.elementor-element-660050f:hover h2,
.elementor-85467 .elementor-element.elementor-element-660050f:hover h3,
.elementor-85467 .elementor-element.elementor-element-660050f:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85467 .elementor-element.elementor-element-660050f:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85467 .elementor-element.elementor-element-660050f .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-85467 .elementor-element.elementor-element-660050f .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-660050f .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-85467 .elementor-element.elementor-element-660050f:hover .elementor-button .elementor-button-text,
.elementor-85467 .elementor-element.elementor-element-660050f:hover .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-660050f: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-265fc79 */.elementor-85467 .elementor-element.elementor-element-265fc79 {
  transition: all 0.3s ease-in-out;
}

.elementor-85467 .elementor-element.elementor-element-265fc79:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85467 .elementor-element.elementor-element-265fc79:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85467 .elementor-element.elementor-element-265fc79:hover h2,
.elementor-85467 .elementor-element.elementor-element-265fc79:hover h3,
.elementor-85467 .elementor-element.elementor-element-265fc79:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85467 .elementor-element.elementor-element-265fc79:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85467 .elementor-element.elementor-element-265fc79 .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-85467 .elementor-element.elementor-element-265fc79 .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-265fc79 .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-85467 .elementor-element.elementor-element-265fc79:hover .elementor-button .elementor-button-text,
.elementor-85467 .elementor-element.elementor-element-265fc79:hover .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-265fc79: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-af42e1d */.elementor-85467 .elementor-element.elementor-element-af42e1d {
  transition: all 0.3s ease-in-out;
}

.elementor-85467 .elementor-element.elementor-element-af42e1d:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85467 .elementor-element.elementor-element-af42e1d:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85467 .elementor-element.elementor-element-af42e1d:hover h2,
.elementor-85467 .elementor-element.elementor-element-af42e1d:hover h3,
.elementor-85467 .elementor-element.elementor-element-af42e1d:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85467 .elementor-element.elementor-element-af42e1d:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85467 .elementor-element.elementor-element-af42e1d .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-85467 .elementor-element.elementor-element-af42e1d .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-af42e1d .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-85467 .elementor-element.elementor-element-af42e1d:hover .elementor-button .elementor-button-text,
.elementor-85467 .elementor-element.elementor-element-af42e1d:hover .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-af42e1d: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-46c0df5 */.elementor-85467 .elementor-element.elementor-element-46c0df5 {
  transition: all 0.3s ease-in-out;
}

.elementor-85467 .elementor-element.elementor-element-46c0df5:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85467 .elementor-element.elementor-element-46c0df5:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85467 .elementor-element.elementor-element-46c0df5:hover h2,
.elementor-85467 .elementor-element.elementor-element-46c0df5:hover h3,
.elementor-85467 .elementor-element.elementor-element-46c0df5:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85467 .elementor-element.elementor-element-46c0df5:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85467 .elementor-element.elementor-element-46c0df5 .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-85467 .elementor-element.elementor-element-46c0df5 .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-46c0df5 .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-85467 .elementor-element.elementor-element-46c0df5:hover .elementor-button .elementor-button-text,
.elementor-85467 .elementor-element.elementor-element-46c0df5:hover .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-46c0df5: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-44ed7d2 */.elementor-85467 .elementor-element.elementor-element-44ed7d2 {
  transition: all 0.3s ease-in-out;
}

.elementor-85467 .elementor-element.elementor-element-44ed7d2:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85467 .elementor-element.elementor-element-44ed7d2:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85467 .elementor-element.elementor-element-44ed7d2:hover h2,
.elementor-85467 .elementor-element.elementor-element-44ed7d2:hover h3,
.elementor-85467 .elementor-element.elementor-element-44ed7d2:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85467 .elementor-element.elementor-element-44ed7d2:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85467 .elementor-element.elementor-element-44ed7d2 .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-85467 .elementor-element.elementor-element-44ed7d2 .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-44ed7d2 .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-85467 .elementor-element.elementor-element-44ed7d2:hover .elementor-button .elementor-button-text,
.elementor-85467 .elementor-element.elementor-element-44ed7d2:hover .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-44ed7d2: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-3c86d11 */.elementor-85467 .elementor-element.elementor-element-3c86d11 {
  transition: all 0.3s ease-in-out;
}

.elementor-85467 .elementor-element.elementor-element-3c86d11:hover {
  transform: translateY(-10px);
  background-color: #4190DA; /* container hover color */
}

/* Stop moving up on mobile */
@media (max-width: 768px) {
  .elementor-85467 .elementor-element.elementor-element-3c86d11:hover {
    transform: none; /* disable translate on mobile */
  }
}

/* Heading hover */
.elementor-85467 .elementor-element.elementor-element-3c86d11:hover h2,
.elementor-85467 .elementor-element.elementor-element-3c86d11:hover h3,
.elementor-85467 .elementor-element.elementor-element-3c86d11:hover .elementor-heading-title {
  color: #ffffff !important;
}

/* Description hover */
.elementor-85467 .elementor-element.elementor-element-3c86d11:hover p {
  color: #ffffff !important;
}

.elementor-icon-box-description {
  line-height: 22px;
}

/* Button text and underline */
.elementor-85467 .elementor-element.elementor-element-3c86d11 .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-85467 .elementor-element.elementor-element-3c86d11 .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-3c86d11 .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-85467 .elementor-element.elementor-element-3c86d11:hover .elementor-button .elementor-button-text,
.elementor-85467 .elementor-element.elementor-element-3c86d11:hover .elementor-button .elementor-button-icon,
.elementor-85467 .elementor-element.elementor-element-3c86d11: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-303e6fd */.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-4fa2419 */.elementor-85467 .elementor-element.elementor-element-4fa2419 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}/* End custom CSS */
/* Start custom CSS for divider, class: .elementor-element-4e523fd */.elementor-85467 .elementor-element.elementor-element-4e523fd .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85467 .elementor-element.elementor-element-4e523fd .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-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4484a90 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9332ef2 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-78c478a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7d1f20d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8501a8f */reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a86880d */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-1e242ea */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-556e7a8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-94016e8 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .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-d215d8d */.custom-carousel-nav .swiper-pagination-bullet-active {
   background-color: #1174D1; /* Blue */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0c7cd23 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-af06e79 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-53b18bd */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ad80b06 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2a4482b */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-67bf88a */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26880b3 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c574b53 */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .reveal-box:hover .text-widget,
    .reveal-box:hover .text-widget p {
        color: #fff !important;
    }
    /* === HOVER STYLES END === */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9ee946f */.reveal-box {
    position: relative;
    overflow: hidden;
    border: none !important;
    border-radius: 12px;
    min-height: 300px; /* Set a substantial minimum height for mobile */
    height: auto;     /* MUST be auto to prevent content clipping when text wraps */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 6% 1rem; /* Responsive padding (percentage for top/bottom, rem for left/right) */
    transition: background 0.4s ease;
}

/* Overlay layer for normal state */
.reveal-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #E5F2FC; /* subtle overlay */
    transition: background 0.4s ease;
    z-index: 1;
    border-radius: 12px;
    pointer-events: none;
}

/* Make widgets stay above overlay */
.reveal-box .elementor-widget {
    position: relative;
    z-index: 2;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* Truncate text in normal state (2 lines) - Default for large screens */
.reveal-box .text-widget p {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    transition: all 0.5s ease;
}

/* ===============================
  MOBILE OVERRIDE (< 768px)
=============================== */
/* Force full text visibility in normal state on mobile, overriding the 2-line clamp */
@media (max-width: 767px) {
    .reveal-box .text-widget p {
        -webkit-line-clamp: unset; /* Remove truncation */
        overflow: visible;
        text-overflow: unset;
    }
    /* All hover styles are now omitted from this block, effectively disabling them on mobile. */
}


/* ===============================
  DESKTOP / TABLET OVERRIDES (>= 768px)
  Hover animations are now EXCLUSIVELY applied here.
  =============================== */
@media (min-width: 768px) {
    .reveal-box {
        height: 360px; /* Fixed height for consistent look on larger screens */
        min-height: 360px; 
        padding: 14px; /* Restore original fixed padding */
    }

    /* === HOVER STYLES START (Active only on Tablet/Desktop) === */
    
    /* Change background on hover */
    .reveal-box:hover {
        background: #1174D1 !important; /* Requested blue */
    }

    /* Remove overlay */
    .reveal-box:hover::before {
        background: transparent;
    }

    /* Hide icon */
    .reveal-box:hover .icon-widget {
        opacity: 0;
        transform: scale(0.8);
    }

    /* Restore original slide movement for desktop height */
    .reveal-box:hover .heading-widget {
        transform: translateY(-60px);
    }

    .reveal-box:hover .text-widget {
        transform: translateY(-60px);
    }
    
    /* Reveal full text (undoing truncation on hover) */
    .reveal-box:hover .text-widget p {
        -webkit-line-clamp: unset;
        overflow: visible;
        text-overflow: unset;
    }

    /* Change text color to white */
    .reveal-box:hover .heading-widget,
    .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-28d5d62 */.elementor-85467 .elementor-element.elementor-element-28d5d62 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85467 .elementor-element.elementor-element-28d5d62 .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-7dfa4ef */.elementor-85467 .elementor-element.elementor-element-7dfa4ef .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85467 .elementor-element.elementor-element-7dfa4ef .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-e076445 */.elementor-85467 .elementor-element.elementor-element-e076445 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85467 .elementor-element.elementor-element-e076445 .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-428764e *//* 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-2bd6efc *//* 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-103b9b6 *//* 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-c62a3ad *//* 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-e75bec4 *//* 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-beb6d52 *//* 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-d4f7b31 *//* 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-2bb7709 *//* 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-0405c17 */.elementor-85467 .elementor-element.elementor-element-0405c17 .elementor-divider-separator {
  border-radius: 10px; /* adjust to your liking */
}
.elementor-85467 .elementor-element.elementor-element-0405c17 .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-7675a56 */.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 */