.elementor-1370 .elementor-element.elementor-element-0e075e7{--display:flex;--overlay-opacity:0.5;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;}.elementor-1370 .elementor-element.elementor-element-0e075e7:not(.elementor-motion-effects-element-type-background), .elementor-1370 .elementor-element.elementor-element-0e075e7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://keptcodesign.com/wp-content/uploads/2026/08/hero1.webp");background-size:cover;}.elementor-1370 .elementor-element.elementor-element-0e075e7::before, .elementor-1370 .elementor-element.elementor-element-0e075e7 > .elementor-background-video-container::before, .elementor-1370 .elementor-element.elementor-element-0e075e7 > .e-con-inner > .elementor-background-video-container::before, .elementor-1370 .elementor-element.elementor-element-0e075e7 > .elementor-background-slideshow::before, .elementor-1370 .elementor-element.elementor-element-0e075e7 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1370 .elementor-element.elementor-element-0e075e7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#6027AD7D;--background-overlay:'';}.elementor-1370 .elementor-element.elementor-element-0e075e7 > .elementor-shape-bottom .elementor-shape-fill, .elementor-1370 .elementor-element.elementor-element-0e075e7 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill{fill:#FFFFFF;}.elementor-1370 .elementor-element.elementor-element-0e075e7 > .elementor-shape-bottom svg, .elementor-1370 .elementor-element.elementor-element-0e075e7 > .e-con-inner > .elementor-shape-bottom svg{width:calc(167% + 1.3px);height:137px;}.elementor-1370 .elementor-element.elementor-element-7d0f5fb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:40px;--margin-left:0px;--margin-right:0px;}.elementor-1370 .elementor-element.elementor-element-9bf3068{width:var( --container-widget-width, 50% );max-width:50%;margin:11em 0em calc(var(--kit-widget-spacing, 0px) + 2em) 0em;--container-widget-width:50%;--container-widget-flex-grow:0;}.elementor-1370 .elementor-element.elementor-element-9bf3068.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-9bf3068 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:60px;line-height:1em;letter-spacing:-3.5px;color:#F8F7F4;}.elementor-1370 .elementor-element.elementor-element-40ec966{width:var( --container-widget-width, 72% );max-width:72%;margin:-24px 0px calc(var(--kit-widget-spacing, 0px) + -46px) 0px;--container-widget-width:72%;--container-widget-flex-grow:0;font-family:"Inter Tight", Sans-serif;font-size:24px;color:#F8F7F4;}.elementor-1370 .elementor-element.elementor-element-40ec966.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-d9323e4 .elementor-button{background-color:#EA9010;font-family:"Inter", Sans-serif;font-size:24px;font-weight:700;line-height:23px;letter-spacing:0px;word-spacing:0px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#FFFFFF;color:#FFFFFF;}.elementor-1370 .elementor-element.elementor-element-d9323e4 .elementor-button:hover, .elementor-1370 .elementor-element.elementor-element-d9323e4 .elementor-button:focus{background-color:#E98C09;}.elementor-1370 .elementor-element.elementor-element-d9323e4{margin:48px 16px calc(var(--kit-widget-spacing, 0px) + 16px) 16px;}.elementor-1370 .elementor-element.elementor-element-d9323e4.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-6c5e03f{--display:flex;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;}.elementor-1370 .elementor-element.elementor-element-6c5e03f:not(.elementor-motion-effects-element-type-background), .elementor-1370 .elementor-element.elementor-element-6c5e03f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1370 .elementor-element.elementor-element-4c698bd{margin:2em 0em calc(var(--kit-widget-spacing, 0px) + 0em) 0em;text-align:center;}.elementor-1370 .elementor-element.elementor-element-4c698bd.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-4c698bd .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:40px;font-weight:600;letter-spacing:-1.5px;color:#2B292C;}.elementor-1370 .elementor-element.elementor-element-1adb972.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-0a518ff{--display:flex;--min-height:421px;--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;--overlay-opacity:0.5;--border-radius:0px 0px 0px 0px;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:4em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;--z-index:3;}.elementor-1370 .elementor-element.elementor-element-0a518ff:not(.elementor-motion-effects-element-type-background), .elementor-1370 .elementor-element.elementor-element-0a518ff > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EEF4F1;}.elementor-1370 .elementor-element.elementor-element-0a518ff::before, .elementor-1370 .elementor-element.elementor-element-0a518ff > .elementor-background-video-container::before, .elementor-1370 .elementor-element.elementor-element-0a518ff > .e-con-inner > .elementor-background-video-container::before, .elementor-1370 .elementor-element.elementor-element-0a518ff > .elementor-background-slideshow::before, .elementor-1370 .elementor-element.elementor-element-0a518ff > .e-con-inner > .elementor-background-slideshow::before, .elementor-1370 .elementor-element.elementor-element-0a518ff > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-1370 .elementor-element.elementor-element-d449575{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--border-radius:1em 1em 1em 1em;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-1370 .elementor-element.elementor-element-a183c10{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;text-align:start;}.elementor-1370 .elementor-element.elementor-element-a183c10.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-a183c10 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:42px;font-weight:800;line-height:55px;letter-spacing:-1px;word-spacing:0px;}.elementor-1370 .elementor-element.elementor-element-5bf9650.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-5bf9650{font-size:1.5rem;}.elementor-1370 .elementor-element.elementor-element-b65f1a8 .elementor-button{background-color:#EA9010;font-family:"Inter", Sans-serif;font-size:24px;font-weight:700;line-height:23px;letter-spacing:0px;word-spacing:0px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#FFFFFF;color:#FFFFFF;}.elementor-1370 .elementor-element.elementor-element-b65f1a8 .elementor-button:hover, .elementor-1370 .elementor-element.elementor-element-b65f1a8 .elementor-button:focus{background-color:#E98C09;}.elementor-1370 .elementor-element.elementor-element-b65f1a8{margin:48px 16px calc(var(--kit-widget-spacing, 0px) + 16px) 16px;}.elementor-1370 .elementor-element.elementor-element-b65f1a8.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-3a3fadf{--spacer-size:5.1rem;}.elementor-1370 .elementor-element.elementor-element-3a3fadf.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-5f14acc{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--border-radius:1em 1em 1em 1em;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:0em;--padding-bottom:0em;--padding-left:0em;--padding-right:0em;}.elementor-1370 .elementor-element.elementor-element-25d55c2{--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;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-1370 .elementor-element.elementor-element-b0a8e4f{width:var( --container-widget-width, 40% );max-width:40%;--container-widget-width:40%;--container-widget-flex-grow:0;text-align:start;}.elementor-1370 .elementor-element.elementor-element-b0a8e4f.elementor-element{--align-self:center;}.elementor-1370 .elementor-element.elementor-element-b0a8e4f.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-b0a8e4f img{width:100%;}.elementor-1370 .elementor-element.elementor-element-969913c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0rem;--margin-bottom:-1rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1370 .elementor-element.elementor-element-5ad3bb4{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-1370 .elementor-element.elementor-element-5ad3bb4.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-5ad3bb4 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:1.8rem;}.elementor-1370 .elementor-element.elementor-element-275f650.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-349d98d{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-1370 .elementor-element.elementor-element-349d98d.elementor-element{--align-self:flex-end;}.elementor-1370 .elementor-element.elementor-element-349d98d.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-8d216c3{--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;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;}.elementor-1370 .elementor-element.elementor-element-e361604{width:var( --container-widget-width, 40% );max-width:40%;--container-widget-width:40%;--container-widget-flex-grow:0;text-align:start;}.elementor-1370 .elementor-element.elementor-element-e361604.elementor-element{--align-self:center;}.elementor-1370 .elementor-element.elementor-element-e361604.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-e361604 img{width:100%;}.elementor-1370 .elementor-element.elementor-element-7f9a209{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0rem;--margin-bottom:-1rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1370 .elementor-element.elementor-element-76a8144{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-1370 .elementor-element.elementor-element-76a8144.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-76a8144 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:1.8rem;}.elementor-1370 .elementor-element.elementor-element-cb46fc3.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-362e60c{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-1370 .elementor-element.elementor-element-362e60c.elementor-element{--align-self:flex-end;}.elementor-1370 .elementor-element.elementor-element-362e60c.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-ec140d2{--display:flex;}.elementor-1370 .elementor-element.elementor-element-ec140d2:not(.elementor-motion-effects-element-type-background), .elementor-1370 .elementor-element.elementor-element-ec140d2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1370 .elementor-element.elementor-element-b2845b7{margin:2em 0em calc(var(--kit-widget-spacing, 0px) + 0em) 0em;text-align:center;}.elementor-1370 .elementor-element.elementor-element-b2845b7.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-b2845b7 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:40px;font-weight:600;letter-spacing:-1.5px;color:#2B292C;}.elementor-1370 .elementor-element.elementor-element-f3af42b{margin:-1.5em 0em calc(var(--kit-widget-spacing, 0px) + 0em) 0em;text-align:center;}.elementor-1370 .elementor-element.elementor-element-f3af42b.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-f3af42b .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:24px;font-weight:600;}.elementor-1370 .elementor-element.elementor-element-1b6050d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-start;--border-radius:1em 1em 1em 1em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:2em;--padding-left:0em;--padding-right:0em;}.elementor-1370 .elementor-element.elementor-element-099cf3e{width:var( --container-widget-width, 33% );max-width:33%;margin:1em 0em calc(var(--kit-widget-spacing, 0px) + 0em) 0em;padding:1em 1em 1em 1em;--container-widget-width:33%;--container-widget-flex-grow:0;border-style:solid;border-width:0px 2px 0px 0px;border-color:#9B9B9B82;}.elementor-1370 .elementor-element.elementor-element-099cf3e.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-099cf3e .elementor-icon-box-title, .elementor-1370 .elementor-element.elementor-element-099cf3e .elementor-icon-box-title a{font-family:"Inter", Sans-serif;}.elementor-1370 .elementor-element.elementor-element-099cf3e .elementor-icon-box-title{color:#14142B;}.elementor-1370 .elementor-element.elementor-element-099cf3e .elementor-icon-box-description{font-family:"Inter", Sans-serif;color:#14142B;}.elementor-1370 .elementor-element.elementor-element-7da6671{width:var( --container-widget-width, 33% );max-width:33%;margin:1em 0em calc(var(--kit-widget-spacing, 0px) + 0em) 0em;padding:1em 1em 1em 1em;--container-widget-width:33%;--container-widget-flex-grow:0;border-style:solid;border-width:0px 2px 0px 0px;border-color:#9B9B9B82;}.elementor-1370 .elementor-element.elementor-element-7da6671.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-7da6671 .elementor-icon-box-title, .elementor-1370 .elementor-element.elementor-element-7da6671 .elementor-icon-box-title a{font-family:"Inter", Sans-serif;}.elementor-1370 .elementor-element.elementor-element-7da6671 .elementor-icon-box-title{color:#14142B;}.elementor-1370 .elementor-element.elementor-element-7da6671 .elementor-icon-box-description{font-family:"Inter", Sans-serif;color:#14142B;}.elementor-1370 .elementor-element.elementor-element-64fe121{width:var( --container-widget-width, 33% );max-width:33%;margin:1em 0em calc(var(--kit-widget-spacing, 0px) + 0em) 0em;padding:1em 1em 1em 1em;--container-widget-width:33%;--container-widget-flex-grow:0;border-style:solid;border-width:0px 2px 0px 0px;border-color:#9B9B9B82;}.elementor-1370 .elementor-element.elementor-element-64fe121.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-64fe121 .elementor-icon-box-title, .elementor-1370 .elementor-element.elementor-element-64fe121 .elementor-icon-box-title a{font-family:"Inter", Sans-serif;}.elementor-1370 .elementor-element.elementor-element-64fe121 .elementor-icon-box-title{color:#14142B;}.elementor-1370 .elementor-element.elementor-element-64fe121 .elementor-icon-box-description{font-family:"Inter", Sans-serif;color:#14142B;}.elementor-1370 .elementor-element.elementor-element-ecdb8a2{--display:flex;}.elementor-1370 .elementor-element.elementor-element-ecdb8a2.e-con{--align-self:center;}.elementor-1370 .elementor-element.elementor-element-80151d2{margin:0em 0em calc(var(--kit-widget-spacing, 0px) + 1em) 0em;text-align:start;}.elementor-1370 .elementor-element.elementor-element-80151d2.elementor-element{--align-self:center;}.elementor-1370 .elementor-element.elementor-element-80151d2.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-80151d2 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:38px;line-height:44px;letter-spacing:-1px;word-spacing:0px;color:#27312D;}.elementor-1370 .elementor-element.elementor-element-7ea7c36{margin:-2em 0em calc(var(--kit-widget-spacing, 0px) + 1em) 0em;text-align:start;}.elementor-1370 .elementor-element.elementor-element-7ea7c36.elementor-element{--align-self:center;}.elementor-1370 .elementor-element.elementor-element-7ea7c36.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-1370 .elementor-element.elementor-element-7ea7c36 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:1em;font-weight:400;line-height:21px;letter-spacing:-0.6px;word-spacing:0px;color:#27312D;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-1370 .elementor-element.elementor-element-a183c10 .elementor-heading-title{font-size:35px;letter-spacing:-1.8px;}}@media(min-width:768px){.elementor-1370 .elementor-element.elementor-element-7d0f5fb{--width:100%;}.elementor-1370 .elementor-element.elementor-element-0a518ff{--content-width:80%;}}/* Start custom CSS for button, class: .elementor-element-d9323e4 *//* Button Wrapper */
.my-btn .elementor-button-wrapper {
    position: relative; /* Ensures elements inside can use absolute positioning relative to this wrapper */
    display: inline-block; /* Ensures the wrapper behaves like a button */
    overfow: hidden; /* Prevents pseudo-elements or overflowed content from showing outside the button */
}

/* Fill box */
.my-btn .elementor-button::before {
    content: ''; /* Creates a pseudo-element used as the hover background */
    position: absolute; /* Allows it to cover the entire button */
    background: #3f3f3f; /* <-- Hover background color */
    top: 0; /* Positions the pseudo-element at the top of the button */
    left: 0; /* Positions the pseudo-element at the left edge */
    right: 0; /* Ensures it stretches to the right edge */
    bottom: 0; /* Ensures it stretches to the bottom edge */
    transform: scaleX(0); /* Initially invisible, scaled down horizontally */
    transform-origin: right; /* Animation starts from the right edge */
    transition: transform 0.4s ease-in-out; /* Sets animation duration and timing */
    z-index: -1; /* Places the pseudo-element behind text and icon */

}

/* Hover Effect */
.my-btn .elementor-button:hover::before {
    transform: scaleX(1); /* Fully scales the background horizontally on hover */
    transform-origin: left; /* Expands from the left edge */
}

/* Button Text and Icon */
.my-btn .elementor-button-text, 
.my-btn .elementor-button-icon {
    position: relative; /* Keeps text and icon above the pseudo-element */
    z-index: 1; /* Ensures they remain visible above the background animation */
    transition: color 0.1s ease; /* Smooth transition for color changes */
}

/* Hover Effect for Text and Icon */
.my-btn .elementor-button:hover .elementor-button-text, 
.my-btn .elementor-button:hover .elementor-button-icon {
    color: #ffffff; /* Changes text and icon color to white on hover */
}

/* Ensure Button Retains Shape and Styling */
.my-btn .elementor-button {
    position: relative; /* Enables proper positioning of pseudo-elements */
    display: inline-flex; /* Aligns text and icon horizontally */
    align-items: center; /* Vertically centers text and icon */
    justify-content: center; /* Horizontally centers content */
    background-color: #ffffff; /* Default button background */
    padding: 10px 20px; /* Adds padding inside the button */
    z-index: 0; /* Places text and icon above the pseudo-element */
    overflow: hidden; /* Prevents animated elements from spilling out */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transitions for background and text color */
}

/* Icon Size */
.my-btn .elementor-button-icon {
    transform: scale(1.3); /* Scales the icon for better visibility */
    padding-left: 5px; /* Adds space between the icon and text */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1adb972 */.svc-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 30px 20px 60px;
    background: #ffffff;
    transition: transform .35s ease;
}

/* Gradient sits on its own layer so it can fade independently */
.svc-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #eaf7e3, #7cc45f);
    opacity: 0;
    transition: opacity .35s ease;
    z-index: 0;
}

.svc-card > * {
    position: relative;
    z-index: 1;
}

/* --- Hover states --- */

.svc-card:hover,
.svc-card:focus-within {
    transform: translateY(25px);
}

.svc-card:hover::before,
.svc-card:focus-within::before {
    opacity: 1;
}

/* Icon: black to white, drops toward the bottom of the gradient */
.svc-icon img {
    width: 77px;
    height: 77px;
    transition: filter .35s ease, transform .35s ease;
}

.svc-card:hover .svc-icon img,
.svc-card:focus-within .svc-icon img {
    filter: brightness(0) invert(1);
    transform: translateY(85px);
}

/* "Web Design" fades out */
.svc-label {
    transition: opacity .3s ease;
}

.svc-card:hover .svc-label,
.svc-card:focus-within .svc-label {
    opacity: 0;
}

/* "Learn More" fades in where the label was */
.svc-hover {
    position: absolute;
    top: 130px;
    left: 0;
    right: 0;
    color: #ffffff;
    opacity: 0;
    transition: opacity .3s ease;
}

.svc-card:hover .svc-hover,
.svc-card:focus-within .svc-hover {
    opacity: 1;
}

/* Kill the whole effect on touch */
@media (max-width: 767px) {
    .svc-card:hover { transform: none; }
    .svc-card::before { display: none; }
    .svc-hover { display: none; }
    .svc-label { opacity: 1 !important; }
    .svc-card:hover .svc-icon img {
        filter: none;
        transform: none;
    }
}

.hc-grid a.hc-card,
.hc-grid a.hc-card:link,
.hc-grid a.hc-card:visited,
.hc-grid a.hc-card:hover,
.hc-grid a.hc-card:focus,
.hc-grid a.hc-card:active {
	text-decoration: none;
	border-bottom: 0;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-b65f1a8 *//* Button Wrapper */
.my-btn .elementor-button-wrapper {
    position: relative; /* Ensures elements inside can use absolute positioning relative to this wrapper */
    display: inline-block; /* Ensures the wrapper behaves like a button */
    overfow: hidden; /* Prevents pseudo-elements or overflowed content from showing outside the button */
}

/* Fill box */
.my-btn .elementor-button::before {
    content: ''; /* Creates a pseudo-element used as the hover background */
    position: absolute; /* Allows it to cover the entire button */
    background: #3f3f3f; /* <-- Hover background color */
    top: 0; /* Positions the pseudo-element at the top of the button */
    left: 0; /* Positions the pseudo-element at the left edge */
    right: 0; /* Ensures it stretches to the right edge */
    bottom: 0; /* Ensures it stretches to the bottom edge */
    transform: scaleX(0); /* Initially invisible, scaled down horizontally */
    transform-origin: right; /* Animation starts from the right edge */
    transition: transform 0.4s ease-in-out; /* Sets animation duration and timing */
    z-index: -1; /* Places the pseudo-element behind text and icon */

}

/* Hover Effect */
.my-btn .elementor-button:hover::before {
    transform: scaleX(1); /* Fully scales the background horizontally on hover */
    transform-origin: left; /* Expands from the left edge */
}

/* Button Text and Icon */
.my-btn .elementor-button-text, 
.my-btn .elementor-button-icon {
    position: relative; /* Keeps text and icon above the pseudo-element */
    z-index: 1; /* Ensures they remain visible above the background animation */
    transition: color 0.1s ease; /* Smooth transition for color changes */
}

/* Hover Effect for Text and Icon */
.my-btn .elementor-button:hover .elementor-button-text, 
.my-btn .elementor-button:hover .elementor-button-icon {
    color: #ffffff; /* Changes text and icon color to white on hover */
}

/* Ensure Button Retains Shape and Styling */
.my-btn .elementor-button {
    position: relative; /* Enables proper positioning of pseudo-elements */
    display: inline-flex; /* Aligns text and icon horizontally */
    align-items: center; /* Vertically centers text and icon */
    justify-content: center; /* Horizontally centers content */
    background-color: #ffffff; /* Default button background */
    padding: 10px 20px; /* Adds padding inside the button */
    z-index: 0; /* Places text and icon above the pseudo-element */
    overflow: hidden; /* Prevents animated elements from spilling out */
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth transitions for background and text color */
}

/* Icon Size */
.my-btn .elementor-button-icon {
    transform: scale(1.3); /* Scales the icon for better visibility */
    padding-left: 5px; /* Adds space between the icon and text */
}/* End custom CSS */