.elementor-25159 .elementor-element.elementor-element-3301d29{--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-25159 .elementor-element.elementor-element-0c9bd83{--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-25159 .elementor-element.elementor-element-0c9bd83:not(.elementor-motion-effects-element-type-background), .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .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-25159 .elementor-element.elementor-element-0c9bd83::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25159 .elementor-element.elementor-element-0c9bd83:hover::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83:hover > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .elementor-background-slideshow:hover::before, .elementor-25159 .elementor-element.elementor-element-0c9bd83 > .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-25159 .elementor-element.elementor-element-0c9bd83:hover{--overlay-opacity:0.5;}.elementor-25159 .elementor-element.elementor-element-8486697{text-align:center;}.elementor-25159 .elementor-element.elementor-element-8486697 .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-25159 .elementor-element.elementor-element-9ecd602{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-25159 .elementor-element.elementor-element-ab0c576 img{max-width:100%;height:400px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25159 .elementor-element.elementor-element-11d2804{--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-25159 .elementor-element.elementor-element-11d2804:not(.elementor-motion-effects-element-type-background), .elementor-25159 .elementor-element.elementor-element-11d2804 > .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-25159 .elementor-element.elementor-element-11d2804::before, .elementor-25159 .elementor-element.elementor-element-11d2804 > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-11d2804 > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-11d2804 > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-11d2804 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-11d2804 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25159 .elementor-element.elementor-element-11d2804:hover::before, .elementor-25159 .elementor-element.elementor-element-11d2804:hover > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-11d2804:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-11d2804 > .elementor-background-slideshow:hover::before, .elementor-25159 .elementor-element.elementor-element-11d2804 > .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-25159 .elementor-element.elementor-element-11d2804:hover{--overlay-opacity:0.5;}.elementor-25159 .elementor-element.elementor-element-d6a2f4d{text-align:center;}.elementor-25159 .elementor-element.elementor-element-d6a2f4d .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-25159 .elementor-element.elementor-element-01cd9d8{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-25159 .elementor-element.elementor-element-340c3dc img{height:400px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25159 .elementor-element.elementor-element-aca2a13{--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-25159 .elementor-element.elementor-element-aca2a13:not(.elementor-motion-effects-element-type-background), .elementor-25159 .elementor-element.elementor-element-aca2a13 > .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-25159 .elementor-element.elementor-element-aca2a13::before, .elementor-25159 .elementor-element.elementor-element-aca2a13 > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-aca2a13 > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-aca2a13 > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-aca2a13 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-aca2a13 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25159 .elementor-element.elementor-element-aca2a13:hover::before, .elementor-25159 .elementor-element.elementor-element-aca2a13:hover > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-aca2a13:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-aca2a13 > .elementor-background-slideshow:hover::before, .elementor-25159 .elementor-element.elementor-element-aca2a13 > .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-25159 .elementor-element.elementor-element-aca2a13:hover{--overlay-opacity:0.5;}.elementor-25159 .elementor-element.elementor-element-9fbf020{text-align:center;}.elementor-25159 .elementor-element.elementor-element-9fbf020 .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-25159 .elementor-element.elementor-element-6a9436b{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-25159 .elementor-element.elementor-element-91059ac img{height:400px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25159 .elementor-element.elementor-element-8142dd0{--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-25159 .elementor-element.elementor-element-47ac41e{--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-25159 .elementor-element.elementor-element-47ac41e:not(.elementor-motion-effects-element-type-background), .elementor-25159 .elementor-element.elementor-element-47ac41e > .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-25159 .elementor-element.elementor-element-47ac41e::before, .elementor-25159 .elementor-element.elementor-element-47ac41e > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-47ac41e > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-47ac41e > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-47ac41e > .e-con-inner > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-47ac41e > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25159 .elementor-element.elementor-element-47ac41e:hover::before, .elementor-25159 .elementor-element.elementor-element-47ac41e:hover > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-47ac41e:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-47ac41e > .elementor-background-slideshow:hover::before, .elementor-25159 .elementor-element.elementor-element-47ac41e > .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-25159 .elementor-element.elementor-element-47ac41e:hover{--overlay-opacity:0.5;}.elementor-25159 .elementor-element.elementor-element-07c06d8{text-align:center;}.elementor-25159 .elementor-element.elementor-element-07c06d8 .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-25159 .elementor-element.elementor-element-19528eb img{max-width:100%;height:200px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25159 .elementor-element.elementor-element-584f328{--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-25159 .elementor-element.elementor-element-584f328:not(.elementor-motion-effects-element-type-background), .elementor-25159 .elementor-element.elementor-element-584f328 > .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-25159 .elementor-element.elementor-element-584f328::before, .elementor-25159 .elementor-element.elementor-element-584f328 > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-584f328 > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-584f328 > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-584f328 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-584f328 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25159 .elementor-element.elementor-element-584f328:hover::before, .elementor-25159 .elementor-element.elementor-element-584f328:hover > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-584f328:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-584f328 > .elementor-background-slideshow:hover::before, .elementor-25159 .elementor-element.elementor-element-584f328 > .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-25159 .elementor-element.elementor-element-584f328:hover{--overlay-opacity:0.5;}.elementor-25159 .elementor-element.elementor-element-d64d0f2{text-align:center;}.elementor-25159 .elementor-element.elementor-element-d64d0f2 .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-25159 .elementor-element.elementor-element-7c21f3e img{max-width:100%;height:200px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}.elementor-25159 .elementor-element.elementor-element-6f86758{--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-25159 .elementor-element.elementor-element-6f86758:not(.elementor-motion-effects-element-type-background), .elementor-25159 .elementor-element.elementor-element-6f86758 > .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-25159 .elementor-element.elementor-element-6f86758::before, .elementor-25159 .elementor-element.elementor-element-6f86758 > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-6f86758 > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-6f86758 > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-6f86758 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25159 .elementor-element.elementor-element-6f86758 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-0d186ac );--background-overlay:'';}.elementor-25159 .elementor-element.elementor-element-6f86758:hover::before, .elementor-25159 .elementor-element.elementor-element-6f86758:hover > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-6f86758:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-25159 .elementor-element.elementor-element-6f86758 > .elementor-background-slideshow:hover::before, .elementor-25159 .elementor-element.elementor-element-6f86758 > .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-25159 .elementor-element.elementor-element-6f86758:hover{--overlay-opacity:0.5;}.elementor-25159 .elementor-element.elementor-element-e3927de{text-align:center;}.elementor-25159 .elementor-element.elementor-element-e3927de .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-25159 .elementor-element.elementor-element-46c9f99 img{max-width:100%;height:200px;object-fit:contain;object-position:center center;border-radius:25px 25px 25px 25px;}@media(min-width:577px){.elementor-25159 .elementor-element.elementor-element-0c9bd83{--width:50%;}.elementor-25159 .elementor-element.elementor-element-11d2804{--width:50%;}.elementor-25159 .elementor-element.elementor-element-aca2a13{--width:50%;}.elementor-25159 .elementor-element.elementor-element-47ac41e{--width:50%;}.elementor-25159 .elementor-element.elementor-element-584f328{--width:50%;}.elementor-25159 .elementor-element.elementor-element-6f86758{--width:50%;}}@media(min-width:1440px){.elementor-25159 .elementor-element.elementor-element-9ecd602{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-ab0c576 img{height:400px;border-radius:25px 25px 25px 25px;}.elementor-25159 .elementor-element.elementor-element-01cd9d8{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-6a9436b{letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:1024px){.elementor-25159 .elementor-element.elementor-element-3301d29{--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-25159 .elementor-element.elementor-element-0c9bd83{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25159 .elementor-element.elementor-element-8486697{width:auto;max-width:auto;}.elementor-25159 .elementor-element.elementor-element-9ecd602{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-11d2804{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25159 .elementor-element.elementor-element-01cd9d8{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-aca2a13{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25159 .elementor-element.elementor-element-6a9436b{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-8142dd0{--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-25159 .elementor-element.elementor-element-47ac41e{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25159 .elementor-element.elementor-element-584f328{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}.elementor-25159 .elementor-element.elementor-element-6f86758{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}}@media(max-width:576px){.elementor-25159 .elementor-element.elementor-element-0c9bd83{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25159 .elementor-element.elementor-element-9ecd602{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-11d2804{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25159 .elementor-element.elementor-element-01cd9d8{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-aca2a13{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25159 .elementor-element.elementor-element-6a9436b{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-25159 .elementor-element.elementor-element-8142dd0{--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-25159 .elementor-element.elementor-element-47ac41e{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25159 .elementor-element.elementor-element-19528eb img{height:200px;}.elementor-25159 .elementor-element.elementor-element-584f328{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25159 .elementor-element.elementor-element-7c21f3e img{height:200px;}.elementor-25159 .elementor-element.elementor-element-6f86758{--padding-top:18px;--padding-bottom:18px;--padding-left:18px;--padding-right:18px;}.elementor-25159 .elementor-element.elementor-element-46c9f99 img{height:200px;}}/* Start custom CSS for container, class: .elementor-element-3301d29 *//* 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 */