.elementor-914 .elementor-element.elementor-element-419228ad{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-914 .elementor-element.elementor-element-5afcd058{--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-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#D2D2D2;--border-color:#D2D2D2;box-shadow:0px 1px 10px 0px rgba(0, 0, 0, 0.21);overflow:visible;}.elementor-914 .elementor-element.elementor-element-5afcd058:not(.elementor-motion-effects-element-type-background), .elementor-914 .elementor-element.elementor-element-5afcd058 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-914 .elementor-element.elementor-element-71a966fe{margin:2px 0px calc(var(--kit-widget-spacing, 0px) + -17px) 0px;font-size:13px;font-weight:400;color:#525252;}.elementor-914 .elementor-element.elementor-element-71a966fe a{color:#2E22FD;}.elementor-914 .elementor-element.elementor-element-6133da78{--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;--overlay-opacity:0.85;--padding-top:32px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-914 .elementor-element.elementor-element-6133da78:not(.elementor-motion-effects-element-type-background), .elementor-914 .elementor-element.elementor-element-6133da78 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kapricorp.com/wp-content/uploads/2026/01/bg-wave-shape1.webp");background-repeat:no-repeat;background-size:cover;}.elementor-914 .elementor-element.elementor-element-6133da78::before, .elementor-914 .elementor-element.elementor-element-6133da78 > .elementor-background-video-container::before, .elementor-914 .elementor-element.elementor-element-6133da78 > .e-con-inner > .elementor-background-video-container::before, .elementor-914 .elementor-element.elementor-element-6133da78 > .elementor-background-slideshow::before, .elementor-914 .elementor-element.elementor-element-6133da78 > .e-con-inner > .elementor-background-slideshow::before, .elementor-914 .elementor-element.elementor-element-6133da78 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#F8F8F8;--background-overlay:'';}.elementor-widget-theme-archive-title .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-914 .elementor-element.elementor-element-67e1da46{text-align:center;}.elementor-914 .elementor-element.elementor-element-67e1da46 .elementor-heading-title{font-family:"Lora", Sans-serif;font-size:36px;font-weight:800;color:#000000;}.elementor-widget-heading .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-914 .elementor-element.elementor-element-75ab2e97{text-align:center;}.elementor-914 .elementor-element.elementor-element-75ab2e97 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:17px;font-weight:400;line-height:26px;color:#000000;}.elementor-914 .elementor-element.elementor-element-81c660b{--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:14px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:122px;--padding-left:0px;--padding-right:0px;overflow:visible;}.elementor-914 .elementor-element.elementor-element-81c660b:not(.elementor-motion-effects-element-type-background), .elementor-914 .elementor-element.elementor-element-81c660b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://kapricorp.com/wp-content/uploads/2026/01/bg-2.jpg");}@media(min-width:768px){.elementor-914 .elementor-element.elementor-element-5afcd058{--content-width:1400px;}.elementor-914 .elementor-element.elementor-element-6133da78{--content-width:1400px;}.elementor-914 .elementor-element.elementor-element-81c660b{--content-width:1400px;}}/* Start custom CSS for html, class: .elementor-element-6c334f8 */.products-section {
            min-height: 100vh;
            padding: 80px 5%;
            position: relative;
            background: linear-gradient(180deg, #ffffff 0%, #f9f9f9 50%, #ffffff 100%);
        }

        /* Animated background effects */
        .bg-effects {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            overflow: hidden;
            pointer-events: none;
            z-index: 0;
        }

        /* Radar scanning effect */
        .radar-line {
            position: absolute;
            width: 500px;
            height: 500px;
            border-radius: 50%;
            border: 2px solid rgba(220, 38, 38, 0.1);
            top: 10%;
            right: -100px;
            animation: radarScan 8s infinite linear;
        }

        .radar-line::before {
            content: '';
            position: absolute;
            width: 100%;
            height: 2px;
            background: linear-gradient(90deg, transparent, rgba(220, 38, 38, 0.5), transparent);
            top: 50%;
            left: 50%;
            transform-origin: left center;
            animation: radarSweep 4s infinite linear;
        }

        @keyframes radarScan {
            0% {
                transform: scale(0.8);
                opacity: 0;
            }
            50% {
                opacity: 0.3;
            }
            100% {
                transform: scale(1.2);
                opacity: 0;
            }
        }

        @keyframes radarSweep {
            from {
                transform: rotate(0deg);
            }
            to {
                transform: rotate(360deg);
            }
        }

        /* Grid pattern overlay */
        .grid-overlay {
            position: absolute;
            width: 100%;
            height: 100%;
            background-image: 
                linear-gradient(rgba(220, 38, 38, 0.02) 1px, transparent 1px),
                linear-gradient(90deg, rgba(220, 38, 38, 0.02) 1px, transparent 1px);
            background-size: 50px 50px;
            animation: gridMove 20s infinite linear;
        }

        @keyframes gridMove {
            0% {
                transform: translate(0, 0);
            }
            100% {
                transform: translate(50px, 50px);
            }
        }

        /* Floating security icons */
        .floating-icon {
            position: absolute;
            font-size: 40px;
            opacity: 0.05;
            animation: iconFloat 15s infinite ease-in-out;
        }

        .floating-icon:nth-child(1) {
            top: 15%;
            left: 10%;
            animation-delay: 0s;
        }

        .floating-icon:nth-child(2) {
            top: 60%;
            right: 15%;
            animation-delay: 3s;
        }

        .floating-icon:nth-child(3) {
            bottom: 20%;
            left: 20%;
            animation-delay: 6s;
        }

        @keyframes iconFloat {
            0%, 100% {
                transform: translateY(0) rotate(0deg);
            }
            50% {
                transform: translateY(-30px) rotate(10deg);
            }
        }

        /* Light beam effect */
        .light-beam {
            position: absolute;
            width: 2px;
            height: 200px;
            background: linear-gradient(180deg, transparent, rgba(220, 38, 38, 0.2), transparent);
            animation: beamScan 6s infinite ease-in-out;
        }

        .light-beam:nth-child(4) {
            top: 0;
            left: 30%;
            animation-delay: 0s;
        }

        .light-beam:nth-child(5) {
            top: 0;
            right: 25%;
            animation-delay: 2s;
        }

        @keyframes beamScan {
            0%, 100% {
                transform: translateY(-100%);
                opacity: 0;
            }
            50% {
                transform: translateY(100vh);
                opacity: 1;
            }
        }

        .container {
            margin: 0 auto;
            position: relative;
            z-index: 1;
        }

        /* Header Section */
        .section-header1 {
            text-align: center;
            margin-bottom: 70px;
            animation: fadeInDown 1s ease-out;
        }

        @keyframes fadeInDown {
            from {
                opacity: 0;
                transform: translateY(-50px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .section-label1 {
            font-size: 15px;
            font-weight: 600;
            letter-spacing: 4px;
            color: #dc2626;
            text-transform: uppercase;
            margin-bottom: 15px;
            display: inline-block;
            position: relative;
        }

        .section-label1::before,
        .section-label1::after {
            content: '';
            position: absolute;
            width: 60px;
            height: 2px;
            background: #dc2626;
            top: 50%;
        }

        .section-label1::before {
            left: -60px;
            animation: expandLineLeft 1s ease-out 0.5s both;
        }

        .section-label1::after {
            right: -60px;
            animation: expandLineRight 1s ease-out 0.5s both;
        }

        @keyframes expandLineLeft {
            from {
                width: 0;
            }
            to {
                width: 40px;
            }
        }

        @keyframes expandLineRight {
            from {
                width: 0;
            }
            to {
                width: 40px;
            }
        }

        .section-header1 h2 {
            font-size: 48px;
            font-weight: 800;
            color: #1a1a1a;
            margin-bottom: 20px;
        }

        .section-subtitle {
            font-size: 18px;
            color: #666666;
            max-width: 700px;
            margin: 0 auto;
        }

        /* Products Grid */
        .products-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 40px;
            margin-bottom: 40px;
        }

        /* Product Card */
        .product-card {
            background: #ffffff;
            border-radius: 20px;
            padding: 40px 30px;
            position: relative;
            overflow: hidden;
            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
            border: 2px solid transparent;
            cursor: pointer;
            animation: fadeInUp 0.8s ease-out both;
        }

        .product-card:nth-child(1) { animation-delay: 0.2s; }
        .product-card:nth-child(2) { animation-delay: 0.3s; }
        .product-card:nth-child(3) { animation-delay: 0.4s; }
        .product-card:nth-child(4) { animation-delay: 0.5s; }
        .product-card:nth-child(5) { animation-delay: 0.6s; }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(50px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* FIX: pseudo-elements must not block clicks */
        .product-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(220, 38, 38, 0.1), transparent);
            transition: left 0.6s ease;
            pointer-events: none; /* FIX */
        }

        .product-card:hover::before {
            left: 100%;
        }

        .product-card::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 20px;
            padding: 2px;
            background: linear-gradient(135deg, #dc2626, #000000);
            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: xor;
            mask-composite: exclude;
            opacity: 0;
            transition: opacity 0.4s ease;
            pointer-events: none; /* FIX */
        }

        .product-card:hover {
            transform: translateY(-15px) scale(1.02);
            box-shadow: 0 25px 50px rgba(220, 38, 38, 0.2);
        }

        .product-card:hover::after {
            opacity: 1;
        }

        /* Card Number */
        .card-number {
            position: absolute;
            top: 20px;
            right: 30px;
            font-size: 80px;
            font-weight: 900;
            color: rgba(220, 38, 38, 0.05);
            line-height: 1;
            transition: all 0.4s ease;
            pointer-events: none; /* FIX */
        }

        .product-card:hover .card-number {
            color: rgba(220, 38, 38, 0.15);
            transform: scale(1.2) rotate(10deg);
        }

        /* Icon Container */
        .icon-container {
            width: 80px;
            height: 80px;
            background: linear-gradient(135deg, rgba(220, 38, 38, 0.1), rgba(220, 38, 38, 0.05));
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 25px;
            position: relative;
            transition: all 0.4s ease;
        }

        .product-card:hover .icon-container {
            background: linear-gradient(135deg, #dc2626, #b91c1c);
            transform: rotateY(360deg);
        }

        .product-icon {
            font-size: 40px;
            transition: all 0.4s ease;
        }

        .product-card:hover .product-icon {
            filter: brightness(0) invert(1);
        }

        /* Icon pulse effect */
        .icon-container::before {
            content: '';
            position: absolute;
            top: -5px;
            left: -5px;
            right: -5px;
            bottom: -5px;
            border-radius: 25px;
            border: 2px solid #dc2626;
            opacity: 0;
            animation: iconPulse 2s infinite;
            pointer-events: none; /* FIX */
        }

        @keyframes iconPulse {
            0% {
                transform: scale(1);
                opacity: 0;
            }
            50% {
                opacity: 0.5;
            }
            100% {
                transform: scale(1.2);
                opacity: 0;
            }
        }

        .product-card:hover .icon-container::before {
            animation: iconPulse 1s infinite;
        }

        /* Product Title */
        .product-title {
            font-size: 22px;
            font-weight: 700;
            color: #1a1a1a;
            margin-bottom: 15px;
            line-height: 1.3;
            transition: color 0.3s ease;
        }

        .product-card:hover .product-title {
            color: #dc2626;
        }

        /* Product Description */
        .product-description {
            font-size: 15px;
            line-height: 1.7;
            color: #666666;
            margin-bottom: 25px;
            transition: color 0.3s ease;
        }

        .product-card:hover .product-description {
            color: #333333;
        }

        /* Learn More Link — FIX: always on top and clickable */
        .learn-more {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            font-size: 14px;
            font-weight: 600;
            color: #dc2626;
            text-decoration: none;
            transition: all 0.3s ease;
            position: relative;
            z-index: 10;         /* FIX: above all pseudo-elements */
            pointer-events: auto; /* FIX: always clickable */
        }

        .learn-more::after {
            content: '→';
            font-size: 18px;
            transition: transform 0.3s ease;
        }

        .learn-more:hover::after {
            transform: translateX(5px);
        }

        .learn-more::before {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 0;
            height: 2px;
            background: #dc2626;
            transition: width 0.3s ease;
            pointer-events: none; /* FIX */
        }

        .learn-more:hover::before {
            width: calc(100% - 30px);
        }

        /* Decorative corner elements */
        .corner-decoration {
            position: absolute;
            width: 40px;
            height: 40px;
            opacity: 0;
            transition: all 0.4s ease;
            pointer-events: none; /* FIX */
        }

        .corner-decoration.top-left {
            top: 10px;
            left: 10px;
            border-top: 3px solid #dc2626;
            border-left: 3px solid #dc2626;
        }

        .corner-decoration.bottom-right {
            bottom: 10px;
            right: 10px;
            border-bottom: 3px solid #dc2626;
            border-right: 3px solid #dc2626;
        }

        .product-card:hover .corner-decoration {
            opacity: 1;
        }

        .product-card:hover .corner-decoration.top-left {
            top: 20px;
            left: 20px;
        }

        .product-card:hover .corner-decoration.bottom-right {
            bottom: 20px;
            right: 20px;
        }

        /* Feature tags */
        .feature-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 20px;
        }

        .feature-tag {
            padding: 5px 12px;
            background: rgba(220, 38, 38, 0.05);
            border: 1px solid rgba(220, 38, 38, 0.2);
            border-radius: 15px;
            font-size: 11px;
            font-weight: 600;
            color: #dc2626;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
        }

        .product-card:hover .feature-tag {
            background: rgba(220, 38, 38, 0.1);
            border-color: #dc2626;
            transform: translateY(-2px);
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .products-grid {
                grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
                gap: 30px;
            }

            h2 {
                font-size: 38px;
            }
        }

        @media (max-width: 768px) {
            .products-section {
                padding: 60px 5%;
            }

            h2 {
                font-size: 32px;
            }

            .section-label1::before,
            .section-label1::after {
                display: none;
            }

            .products-grid {
                grid-template-columns: 1fr;
            }

            .product-card {
                padding: 30px 25px;
            }
        }/* End custom CSS */