.elementor-25200 .elementor-element.elementor-element-7ffd349{--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 40px;--row-gap:0px;--column-gap:40px;--padding-top:0px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-25200 .elementor-element.elementor-element-a0d93fd{--display:flex;--min-height:360px;--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;--overflow:hidden;--background-transition:0.3s;--overlay-opacity:1;border-style:none;--border-style:none;--border-radius:16px 16px 16px 16px;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-25200 .elementor-element.elementor-element-a0d93fd:not(.elementor-motion-effects-element-type-background), .elementor-25200 .elementor-element.elementor-element-a0d93fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-0d186ac ) 0%, #F2FAFF 100%);}.elementor-25200 .elementor-element.elementor-element-a0d93fd::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd > .e-con-inner > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25200 .elementor-element.elementor-element-a0d93fd:hover::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd:hover > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd > .elementor-background-slideshow:hover::before, .elementor-25200 .elementor-element.elementor-element-a0d93fd > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at bottom center, #27B3FB5C 13%, #27B3FB00 75%);}.elementor-25200 .elementor-element.elementor-element-a0d93fd:hover{--overlay-opacity:0.5;}.elementor-25200 .elementor-element.elementor-element-2e058fe{text-align:center;}.elementor-25200 .elementor-element.elementor-element-2e058fe .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-f982f8e{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-53171b0 img{max-width:100%;height:400px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25200 .elementor-element.elementor-element-534fb3f{--display:flex;--min-height:360px;--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;--overflow:hidden;--background-transition:0.3s;--overlay-opacity:1;border-style:none;--border-style:none;--border-radius:16px 16px 16px 16px;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-25200 .elementor-element.elementor-element-534fb3f:not(.elementor-motion-effects-element-type-background), .elementor-25200 .elementor-element.elementor-element-534fb3f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-0d186ac ) 0%, #F2FAFF 100%);}.elementor-25200 .elementor-element.elementor-element-534fb3f::before, .elementor-25200 .elementor-element.elementor-element-534fb3f > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-534fb3f > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-534fb3f > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-534fb3f > .e-con-inner > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-534fb3f > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25200 .elementor-element.elementor-element-534fb3f:hover::before, .elementor-25200 .elementor-element.elementor-element-534fb3f:hover > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-534fb3f:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-534fb3f > .elementor-background-slideshow:hover::before, .elementor-25200 .elementor-element.elementor-element-534fb3f > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at bottom center, #27B3FB5C 13%, #27B3FB00 75%);}.elementor-25200 .elementor-element.elementor-element-534fb3f:hover{--overlay-opacity:0.5;}.elementor-25200 .elementor-element.elementor-element-4518ec8{text-align:center;}.elementor-25200 .elementor-element.elementor-element-4518ec8 .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-0552d82{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-8a4c259 img{height:400px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25200 .elementor-element.elementor-element-9c10042{--display:flex;--min-height:360px;--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;--overflow:hidden;--background-transition:0.3s;--overlay-opacity:1;border-style:none;--border-style:none;--border-radius:16px 16px 16px 16px;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-25200 .elementor-element.elementor-element-9c10042:not(.elementor-motion-effects-element-type-background), .elementor-25200 .elementor-element.elementor-element-9c10042 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-0d186ac ) 0%, #F2FAFF 100%);}.elementor-25200 .elementor-element.elementor-element-9c10042::before, .elementor-25200 .elementor-element.elementor-element-9c10042 > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-9c10042 > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-9c10042 > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-9c10042 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-9c10042 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25200 .elementor-element.elementor-element-9c10042:hover::before, .elementor-25200 .elementor-element.elementor-element-9c10042:hover > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-9c10042:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-9c10042 > .elementor-background-slideshow:hover::before, .elementor-25200 .elementor-element.elementor-element-9c10042 > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at bottom center, #27B3FB5C 13%, #27B3FB00 75%);}.elementor-25200 .elementor-element.elementor-element-9c10042:hover{--overlay-opacity:0.5;}.elementor-25200 .elementor-element.elementor-element-fb330bd{text-align:center;}.elementor-25200 .elementor-element.elementor-element-fb330bd .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-2d79969{text-align:center;font-family:var( --e-global-typography-text-font-family ), Sans-serif;letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-5593970 img{height:400px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25200 .elementor-element.elementor-element-d5b007c{--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:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:15px;--padding-bottom:015px;--padding-left:0px;--padding-right:0px;}.elementor-25200 .elementor-element.elementor-element-5a1dd3d{--display:flex;--min-height:250px;--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;--overflow:hidden;--background-transition:0.3s;--overlay-opacity:1;border-style:none;--border-style:none;--border-radius:16px 16px 16px 16px;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-25200 .elementor-element.elementor-element-5a1dd3d:not(.elementor-motion-effects-element-type-background), .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-0d186ac ) 0%, #F2FAFF 100%);}.elementor-25200 .elementor-element.elementor-element-5a1dd3d::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .e-con-inner > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25200 .elementor-element.elementor-element-5a1dd3d:hover::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d:hover > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .elementor-background-slideshow:hover::before, .elementor-25200 .elementor-element.elementor-element-5a1dd3d > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at bottom center, #27B3FB5C 13%, #27B3FB00 75%);}.elementor-25200 .elementor-element.elementor-element-5a1dd3d:hover{--overlay-opacity:0.5;}.elementor-25200 .elementor-element.elementor-element-5dd4efa{text-align:center;}.elementor-25200 .elementor-element.elementor-element-5dd4efa .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-38ed19f img{max-width:100%;height:200px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25200 .elementor-element.elementor-element-f514942{--display:flex;--min-height:250px;--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;--overflow:hidden;--background-transition:0.3s;--overlay-opacity:1;border-style:none;--border-style:none;--border-radius:16px 16px 16px 16px;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-25200 .elementor-element.elementor-element-f514942:not(.elementor-motion-effects-element-type-background), .elementor-25200 .elementor-element.elementor-element-f514942 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-0d186ac ) 0%, #F2FAFF 100%);}.elementor-25200 .elementor-element.elementor-element-f514942::before, .elementor-25200 .elementor-element.elementor-element-f514942 > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-f514942 > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-f514942 > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-f514942 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-f514942 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25200 .elementor-element.elementor-element-f514942:hover::before, .elementor-25200 .elementor-element.elementor-element-f514942:hover > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-f514942:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-f514942 > .elementor-background-slideshow:hover::before, .elementor-25200 .elementor-element.elementor-element-f514942 > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at bottom center, #27B3FB5C 13%, #27B3FB00 75%);}.elementor-25200 .elementor-element.elementor-element-f514942:hover{--overlay-opacity:0.5;}.elementor-25200 .elementor-element.elementor-element-c03f9a1{text-align:center;}.elementor-25200 .elementor-element.elementor-element-c03f9a1 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-510008c img{max-width:100%;height:200px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25200 .elementor-element.elementor-element-935c600{--display:flex;--min-height:250px;--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;--overflow:hidden;--background-transition:0.3s;--overlay-opacity:1;border-style:none;--border-style:none;--border-radius:16px 16px 16px 16px;box-shadow:2px 2px 3px 0px rgba(0,0,0,0.5);--padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;}.elementor-25200 .elementor-element.elementor-element-935c600:not(.elementor-motion-effects-element-type-background), .elementor-25200 .elementor-element.elementor-element-935c600 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-0d186ac ) 0%, #F2FAFF 100%);}.elementor-25200 .elementor-element.elementor-element-935c600::before, .elementor-25200 .elementor-element.elementor-element-935c600 > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-935c600 > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-935c600 > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-935c600 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25200 .elementor-element.elementor-element-935c600 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25200 .elementor-element.elementor-element-935c600:hover::before, .elementor-25200 .elementor-element.elementor-element-935c600:hover > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-935c600:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25200 .elementor-element.elementor-element-935c600 > .elementor-background-slideshow:hover::before, .elementor-25200 .elementor-element.elementor-element-935c600 > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:transparent;--background-overlay:'';background-image:radial-gradient(at bottom center, #27B3FB5C 13%, #27B3FB00 75%);}.elementor-25200 .elementor-element.elementor-element-935c600:hover{--overlay-opacity:0.5;}.elementor-25200 .elementor-element.elementor-element-ed0d125{text-align:center;}.elementor-25200 .elementor-element.elementor-element-ed0d125 .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-25200 .elementor-element.elementor-element-2d475ca img{max-width:100%;height:200px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}@media(min-width:577px){.elementor-25200 .elementor-element.elementor-element-a0d93fd{--width:50%;}.elementor-25200 .elementor-element.elementor-element-534fb3f{--width:50%;}.elementor-25200 .elementor-element.elementor-element-9c10042{--width:50%;}.elementor-25200 .elementor-element.elementor-element-5a1dd3d{--width:50%;}.elementor-25200 .elementor-element.elementor-element-f514942{--width:50%;}.elementor-25200 .elementor-element.elementor-element-935c600{--width:50%;}}@media(min-width:1440px){.elementor-25200 .elementor-element.elementor-element-f982f8e{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-53171b0 img{height:400px;border-radius:25px 25px 25px 25px;}.elementor-25200 .elementor-element.elementor-element-0552d82{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-2d79969{letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:1024px){.elementor-25200 .elementor-element.elementor-element-7ffd349{--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 10px;--row-gap:0px;--column-gap:10px;--padding-top:0px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-25200 .elementor-element.elementor-element-a0d93fd{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25200 .elementor-element.elementor-element-2e058fe{width:auto;max-width:auto;}.elementor-25200 .elementor-element.elementor-element-f982f8e{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-534fb3f{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25200 .elementor-element.elementor-element-0552d82{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-9c10042{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25200 .elementor-element.elementor-element-2d79969{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-d5b007c{--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 10px;--row-gap:0px;--column-gap:10px;--padding-top:0px;--padding-bottom:10px;--padding-left:0px;--padding-right:0px;}.elementor-25200 .elementor-element.elementor-element-5a1dd3d{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25200 .elementor-element.elementor-element-f514942{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25200 .elementor-element.elementor-element-935c600{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}}@media(max-width:576px){.elementor-25200 .elementor-element.elementor-element-a0d93fd{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25200 .elementor-element.elementor-element-f982f8e{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-534fb3f{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25200 .elementor-element.elementor-element-0552d82{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-9c10042{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25200 .elementor-element.elementor-element-2d79969{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25200 .elementor-element.elementor-element-d5b007c{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-25200 .elementor-element.elementor-element-5a1dd3d{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25200 .elementor-element.elementor-element-38ed19f img{height:200px;}.elementor-25200 .elementor-element.elementor-element-f514942{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25200 .elementor-element.elementor-element-510008c img{height:200px;}.elementor-25200 .elementor-element.elementor-element-935c600{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25200 .elementor-element.elementor-element-2d475ca img{height:200px;}}/* Start custom CSS for container, class: .elementor-element-7ffd349 *//* Value Props Cards — clean, smooth hover
   Markup expectation:
     .card
       .card-title
       .card-desc
       .card-visual   (decorative image or illustration)
   Notes:
     - Text sits above the visual (z-index).
     - Visual is centered at rest; glides to bottom-right on hover.
     - Description fades/slides in on hover (visible by default on touch).
     - CSS variables are per-card and updated responsively.
     - Uses motion prefs and hover-capability media queries. */

.card{
  /* Layout & shape */
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  min-height: 360px;

  /* Spacing tokens (tweak via media queries below) */
  --pad: 28px;
  --reserve-bottom: 180px; /* keep text from colliding with the visual */
  padding: var(--pad) var(--pad) calc(var(--pad) + var(--reserve-bottom));

  /* Motion tokens */
  --ease: cubic-bezier(.4,0,.2,1);
  --dur: 600ms;

  /* Effects */
  box-shadow: 0 2px 10px rgba(2,6,23,.06);
  transition:
    transform var(--dur) var(--ease),
    box-shadow var(--dur) var(--ease);
}

.card:hover{
  transform: scale(1.015);
  box-shadow: 0 18px 40px rgba(2,6,23,.12);
}

/* -----------------------------------------
   Title & description
   ----------------------------------------- */

.card .card-title{
  position: relative;
  z-index: 2;
  margin: 0 0 10px;
  line-height: 1.2;
}

.card .card-desc{
  position: relative;
  z-index: 2;
  max-width: 60ch;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity var(--dur) var(--ease),
    transform var(--dur) var(--ease);
}

.card:hover .card-desc{
  opacity: 1;
  transform: translateY(0);
}

/* -----------------------------------------
   Visual (decorative)
   - Centered at rest using right:50% + translateX(50%)
   - Docks bottom-right on hover
   ----------------------------------------- */

.card .card-visual{
  position: absolute;
  z-index: 1;
  pointer-events: none;

  /* Center at rest (avoid left:auto jumps) */
  bottom: 6px;
  right: 50%;
  transform: translateX(50%);
  transform-origin: center bottom;

  /* Rest size */
  width: clamp(280px, 64%, 460px);

  transition:
    right var(--dur) var(--ease),
    bottom var(--dur) var(--ease),
    transform var(--dur) var(--ease),
    width var(--dur) var(--ease),
    opacity 420ms ease;
}

.card:hover .card-visual{
  right: 16px;
  bottom: calc(70px - var(--reserve-bottom));
  transform: translateX(0);
  width: clamp(150px, 44%, 260px);
  opacity: .96;
}

/* -----------------------------------------
   Responsive spacing tokens
   (No need to re-declare padding; it auto-updates via vars)
   ----------------------------------------- */

@media (max-width: 1024px){
  .card{
    --pad: 24px;
    --reserve-bottom: 150px;
  }
}

@media (max-width: 640px){
  .card{
    --pad: 18px;
    --reserve-bottom: 120px;
    min-height: 300px;
  }
}

/* -----------------------------------------
   Touch: show description by default
   ----------------------------------------- */

@media (hover: none){
  .card .card-desc{
    opacity: 1;
    transform: none;
  }
}

/* -----------------------------------------
   Reduced motion: disable transitions
   ----------------------------------------- */

@media (prefers-reduced-motion: reduce){
  .card,
  .card .card-desc,
  .card .card-visual{
    transition: none !important;
  }
}/* End custom CSS */