/* ========================================
   MaxRecon - Custom Styles
   ======================================== */

/* === Root Variables === */
:root {
    --primary-color: hsl(211 100% 50%);
    --primary-dark: #4338CA;
    --primary-light: #818CF8;
    --primary-hover: #86b7fe1c;
    --secondary-color: #10B981;
    --dark-bg: #1F2937;
    --light-bg: #F9FAFB;
    --text-primary: #111827;
    --text-secondary: #6B7280;
    --border-radius: 16px;
    --transition: all 0.3s ease;
    --gradient-accent: linear-gradient(135deg, hsl(211 100% 50%), hsl(233 47% 25%));
    --gradient-subtle: linear-gradient(180deg, hsl(0 0% 100%), hsl(220 13% 97%));
    --primary-foreground: 0 0% 100%;
    --accent: 211 100% 50%;
}

/* === Global Styles === */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

img {
  -webkit-user-drag: none;
  /* Safari/Chrome */
  -khtml-user-drag: none;
  /* Konqueror */
  -moz-user-drag: none;
  /* Firefox */
  -o-user-drag: none;
  /* Opera */
  -user-drag: none;
  /* Standard */

  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  pointer-events: none;
  /* Optional: disables right-click and interaction */
}


.ptb-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.ptb-70 {
  padding-top: 70px;
  padding-bottom: 70px;
}

.pt-100 {
  padding-top: 100px;
}

.pb-100 {
  padding-bottom: 100px;
}

.pt-70 {
  padding-top: 70px;
}

.pb-70 {
  padding-bottom: 70px;
}

.pt-50 {
  padding-top: 50px;
}

.pb-50 {
  padding-top: 50px;
}

.ptb-50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

.pb-200 {
  padding-bottom: 200px;
}

.mpt-70 {
  padding-top: -70px;
}

.mt-ng2 {
  margin-top: -3rem !important;
}

.mt-ng4 {
  margin-top: -7rem !important;
}

.mt-n4 {
  margin-top: -3rem !important;
}

.primary-foreground {
    background:hsl(233 47% 25%);
}

/* === Navigation === */
.navbar {
    padding: 1rem 0;
    transition: var(--transition);
}

.navbar.scrolled {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(10px);
}

.navbar-brand {
    font-size: 1.5rem;
    font-weight: 700;
}

.nav-link {
    color: hsl(222deg 47% 11% / 80%) !important;
    font-weight: 500;
    font-size: 14px;
    padding: 0.5rem 1rem !important;
    transition: var(--transition);
}

.nav-link:hover {
    color: var(--primary-color) !important;
}

.text-gradient {
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    background-image: var(--gradient-accent);
}

.custom-btn {
  background-clip: text;
  color: white;
  background: var(--gradient-accent);
  transition: transform 0.3s ease; /* smooth animation */
}

.custom-btn:hover {
  transform: scale(1.08); /* increase button size by 8% */
}


/* === Hero Section === */
.hero-section {
    padding: 120px 0 80px;
    background: linear-gradient(135deg, #F9FAFB 0%, #EEF2FF 100%);
    position: relative;
    overflow: hidden;
}

.hero-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(79, 70, 229, 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

.hero-image-container {
    position: relative;
}

.hero-gradient-bg {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    border-radius: 24px;
    opacity: 0.1;
    filter: blur(40px);
    z-index: 0;
}

.hero-image-container img {
    position: relative;
    z-index: 1;
    /* animation: float 6s ease-in-out infinite; */
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-20px); }
}


/* === Cost Section === */
.cost-section {
    background: hsl(0 0% 100%);
    padding: 80px 0 80px;
}

.stat-card {
    background: white;
    border-radius: var(--border-radius);
    border: 1px solid #E5E7EB;
    transition: var(--transition);
    height: 100%;
}

.stat-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border-color: var(--primary-color);
    background: var(--primary-hover);
}

.stat-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
}

/* === Workflow Section === */
.workflow-section {
    background: var(--gradient-subtle);
    padding: 80px 0 80px;
}

.workflow-card {
    background: white;
    border-radius: var(--border-radius);
    box-shadow: 0 15px 30px rgba(0, 123, 255, 0.1); /* example bluish shadow */
    border: 2px solid hsl(211deg 100% 50% / 20%);
    transition: var(--transition);
    height: 100%;
    min-height: 180px;
}

.workflow-card:hover {
    border-color: var(--primary-color);
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(79, 70, 229, 0.15);
}



.workflow-icon {
    /* width: 60px;
    height: 60px;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.5rem; */
    /* margin: 0 auto; */
}

/* === Modules Section === */
.modules-section {
    background: transparent;
    padding: 80px 0 80px;
}

.module-card {
    background: white;
    border-radius: var(--border-radius);
    border: 1px solid #E5E7EB;
    transition: var(--transition);
    height: 100%;
}

.module-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border-color: var(--primary-color);
}

.module-icon {
    /* width: 70px;
    height: 70px;
    background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 2rem;*/
}

/* === Capabilities Section === */
.capabilities-section {
    /* background: var(--light-bg);*/
    padding: 0px 20px 80px 20px; 
}

.icon-circle {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: -18px;
}


.capability-card {
    /* background: white;
    border-radius: var(--border-radius);
    border: 1px solid #E5E7EB;
    transition: var(--transition);
    height: 100%; */
}

.capability-card:hover {
    /* transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(79, 70, 229, 0.15); */
}

/* === Outcomes Section === */
.outcomes-section {
     background: var(--gradient-subtle);
    padding: 80px 0 80px;
}

.outcome-card {
    /* background: linear-gradient(135deg, #F9FAFB 0%, #EEF2FF 100%); */
    border-radius: var(--border-radius);
    /* border-color: var(--primary-color); */
   border: 2px solid hsl(211deg 100% 50% / 20%);
    transition: var(--transition);
}

.outcome-card:hover {
    /* transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(79, 70, 229, 0.2); */
     border-color: var(--primary-color);
}

.outcomes-dashboard {

    border: 2px solid hsl(211deg 100% 50% / 20%);
}

.metric-box {
     background-color: hsl(250 40% 96%);
    border-radius: var(--border-radius);
    border: 1px solid #E5E7EB;
    transition: var(--transition);
    height: 100%;
}

.metric-box:hover {
        /* transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border-color: var(--primary-color); */
    background: var(--primary-hover);
}

.metric-icon {
    /* color: var(--primary-color);
    font-size: 2rem; */

}

.chart-box {
    background: white;
    border-radius: var(--border-radius);
    border: 1px solid #E5E7EB;
}

.chart-box:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.chart-placeholder {
    position: relative;
}

.chart-placeholder img {
    width: 100%;
    height: auto;
    display: block;
}

.bar-chart .progress {
    height: 24px;
    background: #E5E7EB;
    border-radius: 8px;
}

.bar-chart .progress-bar {
    background: var(--primary-color);
    border-radius: 8px;
}

/* === Pricing Section === */
.pricing-section {
    /*background: var(--light-bg);*/
    padding: 80px 0 80px;
}

.pricing-card {
    background: white;
    border-radius: var(--border-radius);
    border: 2px solid #E5E7EB;
    transition: var(--transition);
    height: 100%;
    position: relative; /* Positioning context for the badge */
    overflow: visible; /* Ensure no clipping of the badge */
}

.pricing-card:hover {
    border-color: var(--primary-color);
}

.pricing-card.featured {
    border-color: var(--primary-color);
    position: relative;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
    overflow: visible; /* Allow badge to show outside */
    transform: scale(1.05); /* Default scale for larger screens */
}

.pricing-badge {
    position: absolute;
    margin-top: -30px;/* Adjusted to reduce overlap risk */
    left: 50%;
    transform: translateX(-50%); /* Center horizontally */
    background: var(--primary-color);
    color: white;
    padding: 5px 15px;
    border-radius: var(--border-radius);
    font-size: 0.9rem;
    font-weight: 500;
    z-index: 2; /* Ensure badge is above card */
}

/* Media query for tablets and smaller screens (max-width: 991px) */
@media (max-width: 991px) {
    .pricing-card.featured {
        transform: scale(1); /* Remove scale effect on smaller screens */
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); /* Softer shadow for smaller screens */
    }

    .pricing-badge {
           margin-top: -15px; /* Slightly adjust badge position for better fit */
        font-size: 0.8rem; /* Smaller font size for better proportionality */
        padding: 4px 12px; /* Slightly smaller padding */
            left: 72%;
    }
}

/* Media query for mobile screens (max-width: 576px) */
@media (max-width: 576px) {
    .pricing-badge {
        display: none; /* Remove badge on mobile to prevent overlap */
    }

    .pricing-card.featured {
        transform: scale(1); /* Ensure no scaling on mobile */
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); /* Minimal shadow for mobile */
    }
}

.pricing-card .bi-check {
    font-size: 1.5rem;
    vertical-align: middle;
}

.pricing-card li {
    display: flex;
    align-items: center;
}

.pricing-card.featured::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    border-radius: var(--border-radius) var(--border-radius) 0 0;

}




/* === Security Section === */
.security-section {
         background: var(--gradient-subtle);
    padding: 80px 0 80px;
}

.security-card {
    background: white;
    border-radius: var(--border-radius);
 border: 2px solid hsl(211deg 100% 50% / 20%);
    transition: var(--transition);
    height: 100%;
}

.security-card:hover {
    /* transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); */
     border-color: var(--primary-color);
}

/* === Contact Section === */
.contact-section {
 padding: 80px 0 80px;
}

.contact-info {
    background: white;
    border-radius: var(--border-radius);
    border: 1px solid #E5E7EB;
}

.contact-icon {
    width: 45px;
    height: 45px;
    background: linear-gradient(135deg, #EEF2FF 0%, #E0E7FF 100%);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    font-size: 1.5rem;
}


.contact-form {
 border: 2px solid hsl(211deg 100% 50% / 20%);
     border-radius: var(--border-radius);
}

.form-control, .form-select {
    border-radius: 10px;
    border: 1px solid #E5E7EB;
    padding: 12px 16px;
    transition: var(--transition);
}

.form-control:focus, .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
}

/* === Footer === */
.footer {
   padding: 80px 0 10px;
}

.footer a:hover {
    color: var(--primary-light) !important;
}

/* === Badges === */
.badge {
    padding: 6px 14px;
    border-radius: 8px;
    font-weight: 600;
}

/* === Responsive Design === */
@media (max-width: 992px) {
    .hero-section {
        padding: 120px 0 60px;
    }
    
    section {
        padding: 60px 0;
    }
    
    .display-3 {
        font-size: 2rem;
    }
    
    .display-4 {
        font-size: 1.75rem;
    }
    
    .display-5 {
        font-size: 1.5rem;
    }
}

@media (max-width: 768px) {
    .hero-section {
        padding: 120px 0 40px;
    }
    
    section {
        padding: 40px 0;
    }
    
    .display-3 {
        font-size: 2rem;
    }
    
    .display-4 {
        font-size: 1.75rem;
    }
    
    .display-5 {
        font-size: 1.5rem;
    }
    
    .btn-lg {
        padding: 10px 20px;
        font-size: 1rem;
    }
    
    .workflow-card {
        margin-bottom: 1rem;
    }
}

@media (max-width: 576px) {
    .hero-section {
        padding: 120px 0 30px;
    }
    
    .display-3 {
        font-size: 1.5rem;
    }
    
    .stat-card, .module-card, .pricing-card {
        margin-bottom: 1.5rem;
    }
}

/* === Animations === */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-on-scroll {
    animation: fadeInUp 0.6s ease-out;
}

/* === circle hero Classes === */
/* .recon-wrapper {
            overflow: hidden;
        }

.recon-diagram {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 650px;
    aspect-ratio: 1;
    margin: 0 auto; 
}


        .pulse-wrapper {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 140px;
            height: 140px;
            transform: translate(-50%, -50%);
            z-index: 5;
        }

        .pulse-ring {
            position: absolute;
            top: 0;
            left: 0;
            width: 140px;
            height: 140px;
            border: 3px solid #d7d4de;
            border-radius: 50%;
            opacity: 0;
            animation: pulse 3s ease-out infinite;
        }

        .pulse-ring:nth-child(2) { animation-delay: 1s; }
        .pulse-ring:nth-child(3) { animation-delay: 2s; }

        @keyframes pulse {
            0% { transform: scale(1); opacity: 0.8; }
            80%,100% { transform: scale(2.5); opacity: 0; }
        }

        .center-core {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 140px;
            height: 140px;
            background: #00159E;
            z-index: 10;
        }

        .orbit-border-gradient {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 500px;
            height: 500px;
            border-radius: 50%;
            padding: 40px;
            background: conic-gradient(
                from 0deg,
                #8700D678 0deg,
                #2563EB 80deg,
                #8700D678 130deg,
                #678CDD 250deg,
                #8700D678 360deg
            );
        }

        .orbit-border-inner {
            width: 100%;
            height: 100%;
            border-radius: 50%;
            background-color: white;
        }

        .orbit-container {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 500px;
            height: 500px;
            transform: translate(-50%, -50%);
            animation: rotateOrbit 40s linear infinite;
        }

        @keyframes rotateOrbit {
            from { transform: translate(-50%, -50%) rotate(0deg); }
            to { transform: translate(-50%, -50%) rotate(360deg); }
        }

        .orbit-item {
            position: absolute;
            width: 100px;
            height: 100px;
            font-size: 0.7rem;
            animation: counterRotate 40s linear infinite;
        }

        @keyframes counterRotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(-360deg); }
        }

        .orbit-inner {
            transition: transform 0.3s ease;
             width: 100px;
            height: 100px;
        }

        .orbit-item:hover .orbit-inner {
            transform: scale(1.15);
            z-index: 20;
        }

        .item-1 { top: -30px; left: 40%; }
        .item-2 { top: 50px; right: 25px; }
        .item-3 { top: 40%; right: -35px; }
        .item-4 { bottom: 47px; right: 18px; }
        .item-5 { bottom: 35px; left: 35px; }
        .item-6 { top: 40%; left: -35px; }
        .item-7 { top: 50px; left: 25px; }
        .item-ai { bottom: -40px; left: 40%; }

        .orbit-item-large {
            position: absolute;
            color: white;
            width: 130px;
            font-size: 1.2rem;
            height: 130px;
            animation: counterRotate 40s linear infinite;
        }

        .orbit-inner-lg{
            width: 130px;
            height: 130px;
        }

        .orbit-inner-lg .bg-purple {
            background-color: #6065FF;
        }
        .orbit-item-large:hover .orbit-inner-lg {
            transform: scale(1.15);
            z-index: 20;
        }



        @media (max-width: 768px) {
            .recon-diagram { max-width: 500px; }
            .orbit-container { width: 460px; height: 460px; }
            .orbit-border-gradient { width: 460px; height: 460px; padding: 35px; }
            .center-core { width: 120px; height: 120px; }
            .orbit-item { width: 85px; height: 85px; }
            .orbit-item-large { width: 110px; height: 110px; }
            .icon-box { width: 38px; height: 38px; }
            .icon-box-large { width: 48px; height: 48px; }
            .pulse-ring { width: 120px; height: 120px; }
            .item-1 { top: -42px; }
            .item-3 { right: -42px; }
            .item-5 { bottom: -42px; }
            .item-7 { left: -42px; }
            .item-ai { bottom: -55px; }
        }

        @media (max-width: 480px) {
            .recon-diagram { max-width: 360px; }
            .orbit-container { width: 360px; height: 360px; }
            .orbit-border-gradient { width: 360px; height: 360px; padding: 30px; }
            .center-core { width: 100px; height: 100px; }
            .orbit-item { width: 70px; height: 70px; }
            .orbit-item-large { width: 90px; height: 90px; }
            .icon-box { width: 32px; height: 32px; }
            .icon-box-large { width: 40px; height: 40px; }
            .pulse-ring { width: 100px; height: 100px; }
            .item-1 { top: -35px; }
            .item-3 { right: -35px; }
            .item-5 { bottom: -35px; }
            .item-7 { left: -35px; }
            .item-ai { bottom: -45px; }
        } */