:root {
    --primary: #0062ff;
    --dark-bg: #0f172a;
    --text-main: #1e293b;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    color: var(--text-main);
    overflow-x: hidden;
}

.fw-extrabold {
    font-weight: 800;
}

/* Dynamic Hero Sizing for different screens */
.hero {
    padding: 60px 0;
    background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
}

/* Typography Scale */
.hero-title {
    font-size: calc(1.8rem + 2.5vw);
    /* Responsive font fluidly scales */
    line-height: 1.1;
}

.hero-subtext {
    font-size: 1.1rem;
    max-width: 550px;
}

/* Call Button - Premium Feel */
.btn-dark-action {
    background: var(--dark-bg);
    color: white;
    border-radius: 12px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: none;
}

.btn-dark-action:hover {
    background: var(--primary);
    color: white;
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 98, 255, 0.3);
}

/* Tech Visual - iPhone/iPad Optimization */
.preview-window {
    background: #1e293b;
    border-radius: 16px;
    padding-bottom: 8px;
    transform: perspective(1000px) rotateX(2deg) rotateY(-5deg);
    transition: transform 0.5s ease;
}

.preview-window:hover {
    transform: perspective(1000px) rotateX(0) rotateY(0);
}

.window-bar {
    height: 35px;
}

.window-dots span {
    width: 8px;
    height: 8px;
    background: #475569;
    border-radius: 50%;
}

/* Status Indicator Pulse */
.status-dot {
    width: 8px;
    height: 8px;
    background: #22c55e;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);
    }

    70% {
        box-shadow: 0 0 0 8px rgba(34, 197, 94, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
    }
}

/* Tablet & Mobile Specific Adjustments */
@media (max-width: 991.98px) {
    .hero {
        padding: 40px 0;
    }

    .hero-title {
        text-align: center;
    }

    .preview-window {
        transform: none;
        max-width: 500px;
        margin: 40px auto 0;
    }
}

@media (max-width: 576px) {
    .btn-dark-action {
        font-size: 1.1rem;
    }

    .hero-subtext {
        font-size: 1rem;
    }

    .navbar-brand {
        font-size: 1.4rem !important;
    }
    h1.hero-title{
            font-size: 33px !important;
    }
}


/* Section 2 Custom Styles */
.process-section {
    position: relative;
    z-index: 1;
}

.process-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    position: relative;
    overflow: hidden;
}

.process-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 60px -12px rgba(15, 23, 42, 0.12);
    border-color: var(--primary);
}

.process-card.active {
    border-color: var(--primary);
    background: linear-gradient(180deg, #f8faff 0%, #ffffff 100%);
}

.step-number {
    font-size: 3rem;
    font-weight: 800;
    color: rgba(0, 98, 255, 0.1);
    line-height: 1;
}

.process-card.active .step-number {
    color: var(--primary);
    opacity: 0.2;
}

/* Pulse Button for Mobile Sticky Bar */
.pulse-button {
    animation: shadow-pulse 2s infinite;
}

@keyframes shadow-pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 98, 255, 0.4);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(0, 98, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0, 98, 255, 0);
    }
}

/* Responsive Padding for Desktop */
@media (min-width: 992px) {
    .py-lg-10 {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

/* iPad Air and Tablet touch optimization */
@media (max-width: 1024px) {
    .process-card {
        padding: 2rem !important;
    }
}



.diagnostic-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid transparent !important;
}

.diagnostic-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1) !important;
    border-color: rgba(0, 82, 255, 0.2) !important;
}

.fw-extrabold {
    font-weight: 800;
}

.animate-shake {
    animation: shake 2.5s cubic-bezier(.36, .07, .19, .97) infinite;
}

@keyframes shake {

    10%,
    90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%,
    80% {
        transform: translate3d(2px, 0, 0);
    }

    30%,
    50%,
    70% {
        transform: translate3d(-2px, 0, 0);
    }

    40%,
    60% {
        transform: translate3d(2px, 0, 0);
    }
}

.mid-page-cta {
    background: linear-gradient(135deg, #0052FF 0%, #0037B2 100%) !important;
}


/* Card Structure */
.diagnostic-card {
    position: relative;
    isolation: isolate;
    /* Creates a stacking context */
}

/* Background Image Zoom Effect */
.card-bg-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: -2;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.diagnostic-card:hover .card-bg-img {
    transform: scale(1.15);
    /* Smooth Zoom on Hover */
}

/* Dark Overlay */
.card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgb(15 23 42 / 58%) 0%, rgb(15 23 42 / 59%) 100%);
    z-index: -1;
}

/* Icon Box */
.icon-box {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
}

/* Border Utilities */
.border-white-10 {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

/* CTA Section Styling */
.bg-gradient-primary {
    background: linear-gradient(135deg, #0052FF 0%, #0037B2 100%);
}

.mid-page-cta {
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.hover-lift {
    transition: transform 0.2s;
}

.hover-lift:hover {
    transform: translateY(-3px);
}

/* Abstract shapes for CTA background */
.cta-shape-1 {
    position: absolute;
    top: -50px;
    left: -50px;
    width: 200px;
    height: 200px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
}

.cta-shape-2 {
    position: absolute;
    bottom: -30px;
    right: -30px;
    width: 150px;
    height: 150px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 50%;
}


/* 1. The Container: Mesh Gradient & Glassmorphism */
    .mid-cta-container {
     background: radial-gradient(at 0% 0%, #0f558f 0%, #345676 50%, #1770d4 100%);        border: 1px solid #d88a31;
    }

    /* 2. Abstract Background Blobs */
    .glass-blob {
        position: absolute;
        border-radius: 50%;
        filter: blur(60px);
        z-index: 0;
        opacity: 0.4;
    }
    /* .blob-1 {
        width: 300px;
        height: 300px;
        background: #3b82f6;
        top: -100px;
        right: -50px;
    }
    .blob-2 {
        width: 200px;
        height: 200px;
        background: #60a5fa;
        bottom: -50px;
        left: -50px;
    } */

    /* 3. The Premium Button */
    .btn-premium-call {
        background: #FFB800; /* High-Visibility Amber */
        color: #0F172A !important;
        border: 2px solid #FFB800;
        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }
    .btn-premium-call:hover {
        background: #ffffff;
        border-color: #ffffff;
        transform: translateY(-5px) scale(1.02);
        box-shadow: 0 20px 40px rgba(255, 184, 0, 0.3);
    }

    .call-icon-wrapper {
        width: 45px;
        height: 45px;
        background: rgba(15, 23, 42, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
    }

    /* 4. Live Indicator Animation */
    .live-indicator-pulse {
        width: 8px;
        height: 8px;
        background: #22c55e;
        border-radius: 50%;
        box-shadow: 0 0 0 rgba(34, 197, 94, 0.4);
        animation: indicator-pulse 2s infinite;
    }

    @keyframes indicator-pulse {
        0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
        70% { box-shadow: 0 0 0 10px rgba(34, 197, 94, 0); }
        100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
    }

    /* 5. Utility Helpers */
    .z-index-1 { z-index: 1; }
    .tracking-widest { letter-spacing: 0.1em; }
    .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); }



    /* Premium Production UI Styling */
    .bg-navy-dark { background-color: #0b1120; }
    .text-primary-light { color: #60a5fa; }
    .border-white-10 { border-color: rgba(255, 255, 255, 0.1) !important; }
    
    .mesh-gradient-overlay {
        position: absolute;
        top: 0; left: 0; width: 100%; height: 100%;
        background: radial-gradient(at 0% 0%, rgba(0, 82, 255, 0.15) 0%, transparent 50%),
                    radial-gradient(at 100% 100%, rgba(0, 82, 255, 0.1) 0%, transparent 50%);
        z-index: 1;
    }

    .cause-card {
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        background: rgba(255, 255, 255, 0.03);
    }
    
    .cause-card:hover {
        transform: translateY(-10px);
        background: rgba(255, 255, 255, 0.07);
        border-color: rgba(255, 255, 255, 0.25) !important;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    }

    .cause-icon { font-size: 2.5rem; transition: transform 0.3s ease; }
    .cause-card:hover .cause-icon { transform: scale(1.1) rotate(5deg); }

    .cta-bottom-box {
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(10px);
    }

    .hover-link { transition: opacity 0.2s; }
    .hover-link:hover { opacity: 0.8; }

    @keyframes pulse-slow {
        0% { box-shadow: 0 0 0 0 rgba(255, 184, 0, 0.4); }
        70% { box-shadow: 0 0 0 15px rgba(255, 184, 0, 0); }
        100% { box-shadow: 0 0 0 0 rgba(255, 184, 0, 0); }
    }
    .animate-pulse-slow { animation: pulse-slow 3s infinite; }

    .z-index-2 { z-index: 2; }



    /* Premium Clean UI Styling */
    /* .step-card {
        transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        position: relative;
    }
    
    .shadow-hover:hover {
        transform: translateY(-10px);
        box-shadow: 0 30px 60px -12px rgba(15, 23, 42, 0.12) !important;
        border-color: var(--bs-primary) !important;
    }

    Icon Circles
    .icon-circle {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.8rem;
        margin: 0 auto;
    }

    /* Step Badge */
    /* .step-number-badge {
        width: 30px;
        height: 30px;
        background: #0f172a;
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        font-size: 0.85rem;
        border: 4px solid white;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    } */ 


    /* Section Styling */
  .process-section-premium {
    background-color: #fcfcfc;
    padding: 80px 0;
  }

  /* 1. The Card Container */
  .step-card-wrapper {
    background: #ffffff;
    border: 1px solid #e9ecef; /* Light, clean border */
    border-radius: 24px;
    padding: 40px 30px;
    height: 100%;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    position: relative;
    z-index: 1;
  }

  /* Hover State: Border turns Blue and Shadow deepens */
  .step-card-wrapper:hover {
    transform: translateY(-10px);
    border-color: #0d6efd; /* Your Blue color */
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }

  /* 2. The Icon "Squircle" */
  .process-icon-sq {
    width: 80px;
    height: 80px;
    background-color: #0d6efd; /* Your Blue */
    color: #ffffff;
    border-radius: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
  }

  .step-card-wrapper:hover .process-icon-sq {
    transform: rotate(-5deg) scale(1.1);
    box-shadow: 0 10px 20px rgba(13, 110, 253, 0.3);
  }

  /* 3. Typography */
  .step-label-alt {
    color: #ffc107; /* Your Yellow */
    font-weight: 800;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    display: block;
    margin-bottom: 0.75rem;
  }

  .step-heading {
    font-weight: 700;
    font-size: 1.25rem;
    color: #212529;
    margin-bottom: 1rem;
  }

  /* 4. Responsive & Interactive Button */
  .btn-responsive-cta {
    background-color: #ffc107;
    color: #000;
    border: 2px solid #ffc107;
    padding: 16px 35px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.1rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3);
    width: auto;
    max-width: 100%;
  }

  .btn-responsive-cta:hover {
    background-color: transparent;
    color: #000;
    transform: scale(1.03);
    box-shadow: 0 8px 25px rgba(255, 193, 7, 0.4);
  }

  /* For mobile: make button full width if needed */
  @media (max-width: 576px) {
    .btn-responsive-cta {
      width: 100%;
      justify-content: center;
    }
  }

    /* Dashed Border Line for Desktop */
    .border-dashed {
        border-style: dashed !important;
        /* opacity: 0.3; */
    }

    .hover-up { transition: transform 0.2s; }
    .hover-up:hover { transform: translateY(-3px); }

    .z-index-1 { z-index: 1; }

    /* Button Scale */
    .btn-xl {
        font-size: 1.25rem;
    }

    @media (max-width: 768px) {
        .btn-xl { font-size: 1rem; width: 100%; }
        .btn-outline-secondary { width: 100%; }
    }


    /* Premium UI Styling for Trust Section */
    .icon-circle-sm {
        width: 40px; height: 40px;
        border-radius: 12px;
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
    }

    .main-mission-img {
        object-fit: cover;
        height: 450px; width: 100%;
    }

    .floating-proof-card {
        position: absolute;
        bottom: 30px; left: -20px;
        border-left: 5px solid #0052FF;
        min-width: 250px;
        z-index: 10;
    }

    .testimonial-card {
        transition: transform 0.3s ease;
    }
    .testimonial-card:hover { transform: translateY(-5px); }

    .final-cta-footer {
        background: radial-gradient(circle at top right, #1e293b, #0f172a);
    }

    .cta-mesh-bg {
        position: absolute; top: 0; left: 0; width: 100%; height: 100%;
        background-image: radial-gradient(rgba(0, 82, 255, 0.15) 1px, transparent 1px);
        background-size: 20px 20px;
        opacity: 0.3;
    }

    /* Animation */
    .animate-float {
        animation: floating 4s ease-in-out infinite;
    }
    @keyframes floating {
        0%, 100% { transform: translateY(0); }
        50% { transform: translateY(-10px); }
    }

    .hover-up-large:hover {
        transform: scale(1.05) translateY(-5px);
        background-color: #ffffff !important;
        border-color: #ffffff !important;
        color: #0f172a !important;
    }

    @media (max-width: 991px) {
        .floating-proof-card { left: 20px; bottom: 20px; }
        .main-mission-img { height: 300px; }
    }

    /* 1. Header Styling */
    .brand-icon { width: 36px; height: 36px; font-size: 1rem; }
    .tracking-tight { letter-spacing: -0.03em; }
    
    .navbar.scrolled {
        box-shadow: 0 10px 30px -10px rgba(0,0,0,0.1);
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
    }
    .transition-all { transition: all 0.3s ease; }

    /* 2. Hamburger Icon Animation */
    .hamburger-icon { width: 30px; height: 20px; position: relative; display: flex; flex-direction: column; justify-content: space-between; }
    .hamburger-icon span { display: block; height: 2px; width: 100%; background: #0F172A; border-radius: 9px; transition: 0.25s; }
    
    /* 3. Offcanvas Mobile Menu */
    .offcanvas { max-width: 85%; }
    .nav-link { color: #0F172A; transition: color 0.2s; }
    .nav-link:hover { color: #0052FF !important; }

    /* 4. Pulse Dot Animation */
    .pulse-dot {
        width: 8px; height: 8px; background: #22c55e; border-radius: 50%; display: inline-block;
        box-shadow: 0 0 0 rgba(34, 197, 94, 0.4);
        animation: pulse 2s infinite;
    }
    @keyframes pulse {
        0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
        70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
        100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
    }

    .hover-lift { transition: transform 0.2s; }
    .hover-lift:hover { transform: translateY(-2px); }

    /* 1. Base Setup */
    .footer-section {
        background-color: #0B1120; /* Deep Navy/Black */
        color: #fff;
    }

    /* 2. The Unique Watermark */
    .footer-watermark {
        position: absolute;
        bottom: -50px;
        left: -50px;
        font-size: 25rem;
        color: rgba(255, 255, 255, 0.02);
        transform: rotate(15deg);
        pointer-events: none;
        z-index: 1;
    }

    /* 3. Brand Styling */
    .brand-icon-footer {
        width: 40px; height: 40px;
        border-radius: 10px;
        display: flex; align-items: center; justify-content: center;
        background: linear-gradient(135deg, #0052FF, #00C6FF);
        box-shadow: 0 4px 15px rgba(0, 82, 255, 0.3);
    }
    .text-primary-light { color: #60A5FA; }

    /* 4. Link Styling */
    .footer-links li { margin-bottom: 12px; }
    .footer-links a {
        color: rgba(255, 255, 255, 0.6);
        text-decoration: none;
        transition: all 0.2s ease;
        font-size: 0.95rem;
        display: inline-block;
    }
    .footer-links a:hover {
        color: #fff;
        transform: translateX(5px);
    }

    /* 5. Live Status Widget */
    .status-widget {
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }
    .status-indicator {
        display: block; width: 10px; height: 10px;
        background-color: #22c55e; border-radius: 50%;
    }
    .status-ping {
        position: absolute; top: 0; left: 0;
        width: 10px; height: 10px;
        border-radius: 50%;
        background-color: #22c55e;
        opacity: 0.7;
        animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
    }
    @keyframes ping {
        75%, 100% { transform: scale(2.5); opacity: 0; }
    }
    .text-success-light { color: #86efac; }

    /* 6. Glass Contact Card */
    .contact-glass-card {
        background: rgba(255, 255, 255, 0.03);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    }
    .icon-circle {
        width: 45px; height: 45px;
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
        transition: transform 0.3s;
    }
    
    /* Hover Effects for Contact Group */
    .group-hover:hover .icon-circle { transform: scale(1.1) rotate(10deg); }
    .group-hover:hover .group-hover-text { color: #FFB800; transition: color 0.2s; }

    /* Utilities */
    .pt-6 { padding-top: 5rem; }
    .z-index-2 { z-index: 2; }


    /* 1. Container Positioning */
    .fixed-call-wrapper {
        position: fixed;
        bottom: 30px;
        /* right: 30px; */
        z-index: 9999;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* 2. The Main Button */
    .floating-call-btn {
        background:#0d6efd; /* Matches your Secondary Orange */
        color: #fff;
        text-decoration: none;
        padding: 15px 25px;
        border-radius: 50px;
        display: flex;
        align-items: center;
        gap: 12px;
        font-weight: 800;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-size: 1.1rem;
        box-shadow: 0 10px 25px rgba(232, 93, 4, 0.4);
        transition: all 0.3s ease;
        position: relative;
        z-index: 10;
    }

    .floating-call-btn i {
        font-size: 1.3rem;
        animation: phone-shake 2s infinite;
    }

    .floating-call-btn:hover {
        transform: scale(1.05) translateY(-5px);
        background: #fff;
        color: #E85D04;
        box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    }

    /* 3. The Pulse Rings */
    .pulse-ring, .pulse-ring-delayed {
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: 50px;
        background:#0d6efd;
        opacity: 0.6;
        z-index: 5;
        animation: pulse-expand 3s ease-out infinite;
    }

    .pulse-ring-delayed {
        animation-delay: 1.5s;
    }

    /* 4. Animations */
    @keyframes pulse-expand {
        0% { transform: scale(1); opacity: 0.6; }
        100% { transform: scale(1.5, 2); opacity: 0; }
    }

    @keyframes phone-shake {
        0%, 90%, 100% { transform: rotate(0); }
        92% { transform: rotate(15deg); }
        94% { transform: rotate(-15deg); }
        96% { transform: rotate(10deg); }
        98% { transform: rotate(-10deg); }
    }

    /* 5. Mobile Responsiveness */
    @media (max-width: 768px) {
        .fixed-call-wrapper {
            bottom: 20px;
            /* right: 20px; */
        }
        .call-text {
            display: none; /* Shows icon only on mobile for cleaner UI */
        }
        .floating-call-btn {
            padding: 18px;
            border-radius: 50%;
        }
    }


    
 /* Main Container */
.support-contact-wrapper {
padding: 60px 20px;
/*background: #f4f7f9;*/
display: flex;
justify-content: space-between;
font-family: "Plus Jakarta Sans", sans-serif;
}

/* Form Card */
.support-form-card {
background: #ffffff;
width: 100%;
max-width: 40%;
padding: 20px;
border-radius: 12px;
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
border-top: 6px solid #00d3d5;
}

/* Header & Status */
.form-header { text-align: center; margin-bottom: 25px; }
.live-indicator {
font-size: 12px;
font-weight: bold;
color: #27ae60;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}

/* Blinking Dot for 24/7 Support */
.pulse-dot {
width: 10px;
height: 10px;
background: #27ae60;
border-radius: 50%;
animation: pulse 2s infinite;
}

@keyframes pulse {
0% { transform: scale(0.95); opacity: 1; }
70% { transform: scale(1.5); opacity: 0; }
100% { transform: scale(0.95); opacity: 0; }
}

/* Input Fields */
.form-row { margin-bottom: 15px; }
.form-row input, .form-row textarea {
width: 100%;
padding: 12px;
border: 1px solid #ddd;
border-radius: 6px;
box-sizing: border-box;
}

/* Submit Button */
.resolution-btn {
width: 100%;
background: #d32f2f;
color: white;
border: none;
padding: 15px;
border-radius: 6px;
font-weight: bold;
cursor: pointer;
font-size: 16px;
}

.resolution-btn:hover { background: #b71c1c; }

    .modal-backdrop.show{
        opacity: 0 !important;
    }

.lead{
    font-size: 1rem;
}


.modal-backdrop.fade.show {
    display: none !important;
}



#process .fa-solid{
    font-size: 35px;
}



@media (max-width: 576px) {
    .btn-dark-action {
              display: block;
        margin: auto;
        width: 100% !important;
    }
}










.image-panel{
position:relative;
height:100%;
border-radius:20px;
overflow:hidden;
}

.image-panel img{
width:100%;
height:100%;
object-fit:cover;
}

/* FULL IMAGE OVERLAY */
.image-panel::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
/*background:linear-gradient(*/
/*to right,*/
/*rgba(0,0,0,0.75),*/
/*rgba(0,0,0,0.45),*/
/*rgba(0,0,0,0.25)*/
/*);*/
    background: linear-gradient(to right, rgba(0, 0, 0, 0.75), rgb(0 0 0 / 55%), rgb(0 0 0 / 44%));
z-index:1;
}

.image-overlay{
color:#fff;
}

.feature-box{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    margin-top: 10px;
    font-weight: 500;
    margin-top: 4%;
}

/*.feature-box i{*/
/*background:rgba(255,255,255,0.15);*/
/*color:#fff;*/
/*padding:10px;*/
/*border-radius:10px;*/
/*backdrop-filter:blur(10px);*/
/*}*/
.contactImg{
    width:35%;
    margin-left:5%;
}

.contactHeading{
        background: #f4f7f9;
    margin-bottom: 0;
}

#contact{
    background: linear-gradient(rgb(0 0 0 / 79%), rgb(0 0 0 / 78%)), url(./img/contact-trojan.jpg) center / cover no-repeat;
    
}
.image-overlay h3{
       margin-bottom: 7% !important;
}

/* MOBILE RESPONSIVE */
@media(max-width:991px){
.support-section{
padding:40px 15px;
}
.contactImg{
    width:30%;
    margin-left:5%;
}
.image-overlay{
         display: none;
}
.support-form-card{
        max-width: 100%;
}
}


h1.hero-title {
    font-size: 54px;
}
.customHeading{
        font-size: 26px;
}

/* Scoped styles to prevent global leakage */
#dr-service-integration {
    background-color: #ffffff;
    font-family:'Plus Jakarta Sans', sans-serif; /* Fallback to sans-serif if not loaded */
}

#dr-service-integration .dr-main-title {
    color: #1a1d23;
    letter-spacing: -0.02em;
}

#dr-service-integration .dr-feature-card {
    background: #fff;
    border: 1px solid #edf2f7;
    border-radius: 16px;
    padding: 30px;
    height: 100%;
    transition: all 0.3s ease;
}

#dr-service-integration .dr-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border-color: #0d6efd;
}

#dr-service-integration .dr-card-accent {
    background: #0d6efd;
    border-color: #0d6efd;
}

#dr-service-integration .dr-icon-area {
    font-size: 1.75rem;
    color: #0d6efd;
    margin-bottom: 20px;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(13, 110, 253, 0.05);
    border-radius: 12px;
}

#dr-service-integration .dr-card-accent .dr-icon-area {
    color: #fff;
    background: rgba(255, 255, 255, 0.2);
}

#dr-service-integration .dr-status-badge {
    background: #f0fdf4;
    color: #166534;
    padding: 8px 16px;
    border-radius: 50px;
    font-weight: 600;
    font-size: 0.85rem;
    display: flex;
    align-items: center;
}

#dr-service-integration .dr-pulse-dot {
    height: 8px;
    width: 8px;
    background-color: #22c55e;
    border-radius: 50%;
    display: inline-block;
    margin-right: 10px;
    animation: dr-pulse 2s infinite;
}

#dr-service-integration .dr-action-card {
    background: #f8fafc;
    border: 2px dashed #cbd5e1;
    border-radius: 16px;
    padding: 30px;
    text-align: center;
    height: 100%;
}

@keyframes dr-pulse {
    0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(34, 197, 94, 0); }
    100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

#dr-service-integration .dr-btn-glow {
    box-shadow: 0 4px 14px 0 rgba(13, 110, 253, 0.39);
}


#hdf-diagnostics-wrapper {
  font-family: 'Plus Jakarta Sans', sans-serif;
}

#hdf-diagnostics-wrapper .hdf-title {
  color: #1a1d23;
  font-size: 2.5rem;
}

#hdf-diagnostics-wrapper .hdf-image-container {
  height: 300px;
}

#hdf-diagnostics-wrapper .hdf-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(20%);
}

#hdf-diagnostics-wrapper .hdf-overlay-text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  z-index: 2;
}

#hdf-diagnostics-wrapper .hdf-symptom-card {
  background: #fdfdfd;
  border: 1px solid #eeeeee;
  border-radius: 12px;
  transition: all 0.2s ease;
}

#hdf-diagnostics-wrapper .hdf-symptom-card:hover {
  border-color: #3d78e6; /* Warning Red */
  background: #f5f8ff;
  transform: translateX(5px);
}

#hdf-diagnostics-wrapper .hdf-icon-circle {
  width: 45px;
  height: 45px;
  background: rgba(128, 187, 255, 0.1);
  color: #357eec;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

#hdf-diagnostics-wrapper .border-dashed {
  border-style: dashed !important;
  border: 2px solid #dee2e6;
}

#hdf-diagnostics-wrapper .hdf-btn-call {
  background-color: #5280e4;
  color: white;
  border-radius: 50px;
  font-weight: 700;
  box-shadow: 0 4px 15px rgba(220, 53, 69, 0.3);
  transition: transform 0.3s;
}

#hdf-diagnostics-wrapper .hdf-btn-call:hover {
  background-color: #2164af;
  transform: scale(1.02);
  color: white;
}


section#hdf-diagnostics-wrapper {
    background-color: #f8fcff;
}


  .ds-diag-section {
            font-family: 'Plus Jakarta Sans', sans-serif;
            padding: 80px 0;
            background-color: #ffffff; /* Change to transparent if placing on colored BG */
            color: var(--ds-text-main);
        }

        /* Image & Overlay Styles */
        .ds-diag-visual-container {
            position: relative;
            z-index: 1;
        }

        .ds-diag-main-img {
            width: 100%;
            height: auto;
            border-radius: 24px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
            transition: transform 0.5s ease;
        }

        .ds-diag-visual-container:hover .ds-diag-main-img {
            transform: scale(1.02);
        }

        .ds-diag-floating-card {
            position: absolute;
            bottom: -25px;
            left: 5%;
            right: 5%;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.3);
            border-radius: 20px;
            padding: 24px;
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
            display: flex;
            gap: 15px;
            z-index: 2;
        }

        /* Content Styling */
        .ds-diag-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #fef2f2;
            color: var(--ds-danger);
            padding: 8px 16px;
            border-radius: 100px;
            font-size: 0.75rem;
            font-weight: 800;
            letter-spacing: 0.5px;
            margin-bottom: 24px;
        }

        .ds-diag-h1 {
            font-weight: 800;
            font-size: clamp(2.2rem, 5vw, 3rem);
            color: var(--ds-primary);
            line-height: 1.1;
            margin-bottom: 20px;
        }

        .ds-diag-p {
            font-size: 1.1rem;
            line-height: 1.6;
            color: var(--ds-text-muted);
            margin-bottom: 30px;
        }

        /* Diagnostic List */
        .ds-diag-grid-list {
            display: flex;
            flex-direction: column;
            gap: 15px;
            margin-bottom: 35px;
        }

        .ds-diag-list-item {
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 600;
            color: var(--ds-text-main);
            transition: color 0.3s ease;
        }

        .ds-diag-list-item i {
            width: 35px;
            height: 35px;
            background: #eff6ff;
            color: var(--ds-accent);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
        }

        /* Button & Support Tags */
        .ds-diag-btn-primary {
            background-color: var(--ds-primary);
            color: #fff !important;
            padding: 18px 36px;
            border-radius: 14px;
            font-weight: 700;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 12px;
            transition: all 0.3s ease;
            border: none;
        }

        .ds-diag-btn-primary:hover {
            background-color: var(--ds-accent);
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
        }

        .ds-diag-support-status {
            margin-top: 25px;
            display: flex;
            align-items: center;
            gap: 12px;
            font-weight: 600;
            color: var(--ds-success);
        }

        /* Pulse Animation */
        .ds-diag-pulse-dot {
            width: 10px;
            height: 10px;
            background-color: var(--ds-success);
            border-radius: 50%;
            position: relative;
        }

        .ds-diag-pulse-dot::after {
            content: "";
            position: absolute;
            width: 100%;
            height: 100%;
            background-color: var(--ds-success);
            border-radius: 50%;
            animation: ds-diag-pulse 2s infinite;
        }

        @keyframes ds-diag-pulse {
            0% { transform: scale(1); opacity: 0.8; }
            100% { transform: scale(3); opacity: 0; }
        }

        @media (max-width: 991px) {
            .ds-diag-section { padding: 50px 0 100px; }
            .ds-diag-visual-container { margin-bottom: 80px; }
            .ds-diag-h1 { font-size: 2.2rem; }
        }

/* Unique scoped classes to prevent landing page conflicts */
   .remote-hdd-wrapper {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #e5f1ff;
}
    .remote-hdd-process-list li {
        margin-bottom: 12px;
        font-size: 1.1rem;
        display: flex;
        align-items: center;
    }
    .remote-hdd-process-icon {
        color: #0d6efd;
        margin-right: 15px;
        font-size: 1.2rem;
        width: 25px;
        text-align: center;
    }
    .remote-hdd-support-card {
        border: none;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.08);
        background: linear-gradient(145deg, #ffffff, #f1f5ff);
    }
    .remote-hdd-pulse-icon {
        animation: remote-hdd-pulse 2s infinite;
    }
    @keyframes remote-hdd-pulse {
        0% { transform: scale(1); opacity: 1; }
        50% { transform: scale(1.1); opacity: 0.8; }
        100% { transform: scale(1); opacity: 1; }
    }


    #drs-responsive-section {
  font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Responsive Zoom Container */
#drs-responsive-section .drs-hover-box {
  height: 220px;
  cursor: pointer;
}

#drs-responsive-section .drs-zoom-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Dark Grey Overlay */
#drs-responsive-section .drs-dark-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(33, 37, 41, 0.65); /* Dark Greyish-Black */
  transition: background 0.3s ease;
  z-index: 2;
}

/* Responsive Hover Trigger */
#drs-responsive-section .drs-hover-box:hover .drs-zoom-img {
  transform: scale(1.1);
}

#drs-responsive-section .drs-hover-box:hover .drs-dark-overlay {
  background: #292929b3; /* Shifts to Support Blue on Hover */
}

/* Ensure font sizing is responsive */
@media (max-width: 768px) {
  #drs-responsive-section .drs-title { font-size: 1.8rem; }
  #drs-responsive-section .drs-hover-box { height: 180px; }
}


#hdr-technical-section {
  font-family:'Plus Jakarta Sans', sans-serif;
}

#hdr-technical-section .hdr-title {
  font-size: 2.5rem;
  letter-spacing: -0.5px;
}

#hdr-technical-section .hdr-desc {
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Issue Cards */
#hdr-technical-section .hdr-issue-card {
  transition: all 0.3s ease;
  border-color: #e2e8f0 !important;
}

#hdr-technical-section .hdr-issue-card:hover {
  transform: translateY(-8px);
  border-color: #0d6efd !important;
  box-shadow: 0 12px 24px rgba(13, 110, 253, 0.1) !important;
}

#hdr-technical-section .hdr-icon-circle {
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 1.4rem;
}

/* Pulse Animation for Status */
.hdr-pulse-icon {
  width: 12px;
  height: 12px;
  background-color: #0d6efd;
  border-radius: 50%;
  box-shadow: 0 0 0 rgba(13, 110, 253, 0.4);
  animation: hdr-pulse 2s infinite;
}

@keyframes hdr-pulse {
  0% { box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.7); }
  70% { box-shadow: 0 0 0 10px rgba(13, 110, 253, 0); }
  100% { box-shadow: 0 0 0 0 rgba(13, 110, 253, 0); }
}

#hdr-technical-section .italic {
  font-style: italic;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  #hdr-technical-section .hdr-title { font-size: 2rem; }
  #hdr-technical-section .rounded-pill { border-radius: 20px !important; }
}


/* Unique Scoped CSS for HDD Data Recovery Services */
#hdd-interactive-section {
  font-family:'Plus Jakarta Sans', sans-serif;
  background-color: #ffffff;
}

#hdd-interactive-section .hdd-title {
  font-size: 2.75rem;
}

#hdd-interactive-section .hdd-lead-text {
  font-size: 1.15rem;
  line-height: 1.7;
}

#hdd-interactive-section .tracking-wider {
  letter-spacing: 0.1em;
}

#hdd-interactive-section .hdd-diagnosis-note {
  background-color: #f8fafc !important;
}

/* Situation Card Hover Area */
#hdd-interactive-section .hdd-situation-card {
  height: 250px;
  background-color: #f1f5f9;
  border: 1px solid #e2e8f0 !important;
  transition: transform 0.3s ease-in-out, border-color 0.3s ease;
}

#hdd-interactive-section .hdd-situation-card .hdd-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  filter: saturate(0.8);
}

#hdd-interactive-section .hdd-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* Dark grey/blue overlay */
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.4) 0%, rgba(15, 23, 42, 0.8) 100%);
  transition: background 0.3s ease;
}

#hdd-interactive-section .hdd-icon {
    font-size: 2.5rem;
    color: #fff;
    transition: transform 0.5s ease;
}

/* The Hover Effects */
#hdd-interactive-section .hdd-situation-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgba(13, 110, 253, 0.1), 0 10px 10px -5px rgba(13, 110, 253, 0.04) !important;
  border-color: #0d6efd !important; /* Border on zoom */
}

#hdd-interactive-section .hdd-situation-card:hover .hdd-img {
  transform: scale(1.1); /* Zoom Effect */
  filter: saturate(1);
}

#hdd-interactive-section .hdd-situation-card:hover .hdd-icon {
    transform: scale(1.1); /* Icon Zoom Effect */
}

#hdd-interactive-section .hdd-situation-card:hover .hdd-overlay {
  /* Overlay maintain dark gradient on hover */
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.4) 0%, rgba(15, 23, 42, 0.8) 100%);
}

/* Call to Action */
#hdd-interactive-section .hdd-final-cta {
  background-color: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

#hdd-interactive-section .hdd-btn-call {
  background-color: #0d6efd;
  color: #fff;
  font-weight: 700;
  border-radius: 50px;
  transition: all 0.3s;
  box-shadow: 0 4px 14px 0 rgba(13, 110, 253, 0.39);
}

#hdd-interactive-section .hdd-btn-call:hover {
  background-color: #0056b3;
  transform: scale(1.05);
}

/* Text inside card hierarchy */
#hdd-interactive-section h6 {
  line-height: 1.4;
  color: #fff;
}

@media (max-width: 500px) {
  #hdf-diagnostics-wrapper .border-dashed{
    width: 100% !important;
  }
}




.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1) !important;
}

.btn-primary {
    background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%);
    border: none;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(13, 110, 253, 0.4);
}

.bg-dark {
    background-color: #1a1d20 !important; /* Professional Slate Black */
}

/* Icon backgrounds */
.bg-light.border {
    background-color: #ffffff !important;
    border-color: #e9ecef !important;
}


/* Scoped Professional Styles */
.ts-main-container {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    border: 1px solid #edf2f7;
}

.ts-sidebar-bg {
    background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
    color: #ffffff;
}

.ts-status-indicator {
    background: rgba(255, 255, 255, 0.1);
    display: inline-flex;
    align-items: center;
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.ts-dot {
    height: 8px;
    width: 8px;
    background-color: #f56565;
    border-radius: 50%;
    margin-right: 10px;
    animation: pulse-red 2s infinite;
}

.ts-title { letter-spacing: -1px; line-height: 1.2; }
.ts-subtitle { color: #a0aec0; font-size: 1.25rem; font-weight: 300; }

.ts-heading-sm {
    font-size: 1.1rem;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 1.5rem;
}

.ts-list li {
    padding: 10px 0;
    border-bottom: 1px solid #f7fafc;
    color: #4a5568;
    font-size: 0.95rem;
    position: relative;
    padding-left: 25px;
}

.ts-list li::before {
    content: "→";
    position: absolute;
    left: 0;
    color: #4299e1;
    font-weight: bold;
}

.ts-btn-primary {
    background: #3182ce;
    color: white;
    padding: 12px 30px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.ts-btn-outline {
    border: 2px solid #e2e8f0;
    color: #2d3748;
    padding: 10px 30px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.ts-btn-primary:hover { background: #2b6cb0; transform: translateY(-2px); color: white; }
.ts-btn-outline:hover { background: #f7fafc; }

@keyframes pulse-red {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(245, 101, 101, 0.7); }
    70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(245, 101, 101, 0); }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(245, 101, 101, 0); }
}


#services .main-support-form .col-md-6 {
    padding-bottom: 1rem;
}