/* --- Base Styles & Reset --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; /* Clean sans-serif font */
}

a {
    text-decoration: none;
}

/* --- Header Section --- */
.site-header {
    background-color: #ffffff;
    border-bottom: 1px solid #f0f0f0;
    padding: 16px 0;
}

.header-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo Styles */
.logo-text {
    font-size: 24px;
    font-weight: 800;
    color: #111827;
    letter-spacing: 2px;
}

.logo-accent {
    color: #1d4ed8; /* Blue matching the design */
}

/* Navigation Styles */
.main-nav ul {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 32px;
}

.main-nav a {
    color: #4b5563; /* Subtle dark gray */
    font-size: 14.5px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s ease;
}

.main-nav a:hover {
    color: #1d4ed8;
}

.chevron {
    width: 14px;
    height: 14px;
    color: #6b7280;
}

/* Header Actions (Right Side) */
.header-actions {
    display: flex;
    align-items: center;
    gap: 32px;
}

.phone-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #111827;
    font-size: 15px;
    font-weight: 700;
}

.phone-icon {
    width: 25px !important;
    height: 25px !important;
}

.btn-primary {
    /*display: flex;*/
    align-items: center;
    gap: 8px;
    background-color: #1753d1; /* Primary blue button color */
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.2s ease;
}

.btn-primary:hover {
    background-color: #1545ad;
}

.btn-arrow {
    width: 16px;
    height: 16px;
}



/* HERO SECTION */

/* --- Hero Section --- */
.hero-section {
    background-color: #fcfdfd; /* Very subtle light background matching the image */
    padding: 80px 0;
    overflow: hidden;
}

.hero-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

/* Left Content Styles */
.hero-content {
    flex: 1;
    max-width: 650px;
}

.hero-tags {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tag-green { color: #16a34a; }
.tag-blue { color: #2563eb; }
.tag-dark { color: #1f2937; }

.hero-title {
    font-size: 46px;
    font-weight: 800;
    line-height: 1.2;
    color: #111827; /* Dark text for primary headline */
    margin-bottom: 24px;
}

.text-blue {
    color: #1753d1; /* Primary brand blue */
}

.hero-description {
    font-size: 16px;
    line-height: 1.6;
    color: #4b5563; /* Gray text */
    margin-bottom: 40px;
    max-width: 580px;
}

/* Hero Buttons */
.hero-buttons {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px;
}

.btn-outline {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    color: #1753d1;
    border: 1px solid #1753d1;
    padding: 11px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
}

.btn-outline:hover {
    background-color: #eff6ff;
}

/* Hero Locations (Flags) */
.hero-locations {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.location {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #374151;
}

.flag {
    font-size: 20px; /* Adjust emoji size */
}

/* Right Image Styles */
.hero-image-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-image {
    width: 100%;
    max-width: 750px;
    height: auto;
    object-fit: contain;
    border-radius: 12px;
}

/* Responsive Design for smaller screens */
@media (max-width: 1024px) {
    .hero-container {
        flex-direction: column;
        padding: 60px 20px;
    }
    
    .hero-content {
        max-width: 100%;
        text-align: center;
    }

    .hero-tags, .hero-buttons, .hero-locations {
        justify-content: center;
    }

    .hero-description {
        margin-left: auto;
        margin-right: auto;
    }
}



/* --- Services/Features Section --- */
.services-section {
    padding: 60px 0 80px 0;
    background-color: #ffffff;
}

.services-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

/* Base Card Styles */
.service-card {
    border-radius: 12px;
    padding: 40px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid rgba(0,0,0,0.03);
}

.service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.05);
}

.card-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 20px;
}

.card-icon svg {
    width: 100%;
    height: 100%;
}

.card-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 16px;
    line-height: 1.3;
}

.card-desc {
    font-size: 14px;
    color: #4b5563;
    line-height: 1.6;
    margin-bottom: 24px;
    flex-grow: 1; /* Pushes the link to the bottom if text heights differ */
}

.card-link {
    font-size: 14px;
    font-weight: 700;
    color: #1753d1; /* Standard blue for all links */
    display: inline-flex;
    align-items: center;
    transition: opacity 0.2s ease;
}

.card-link:hover {
    opacity: 0.8;
}

/* Card Theme: Blue */
.card-blue {
    background-color: #f5f8ff;
}
.card-blue .card-icon { color: #1d4ed8; }
.card-blue .card-title { color: #1d4ed8; }

/* Card Theme: Green */
.card-green {
    background-color: #f4fbf4;
}
.card-green .card-icon { color: #16a34a; }
.card-green .card-title { color: #16a34a; }

/* Card Theme: Purple */
.card-purple {
    background-color: #fbf5ff;
}
.card-purple .card-icon { color: #9333ea; }
.card-purple .card-title { color: #9333ea; }

/* Card Theme: Dark Blue */
.card-darkblue {
    background-color: #f5f7fa;
}
.card-darkblue .card-icon { color: #1e3a8a; }
.card-darkblue .card-title { color: #1e3a8a; }

/* Responsive Design */
@media (max-width: 1024px) {
    .services-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .services-container {
        grid-template-columns: 1fr;
        padding: 0 20px;
    }
}


/*Fourth Section*/
/* --- About / Video Section --- */
.about-section {
    padding: 80px 0;
    background-color: #ffffff;
}

.about-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 64px;
}

/* Left Content Styles */
.about-content {
    flex: 1;
    max-width: 580px;
}

.section-tag {
    display: inline-block;
    font-size: 20px;
    font-weight: 800;
    color: #1753d1;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.section-title {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.25;
    color: #111827;
    margin-bottom: 24px;
}

.section-desc {
    font-size: 16px;
    line-height: 1.6;
    color: #4b5563;
    margin-bottom: 16px;
}

/* Features Grid */
.about-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 32px 0 40px 0;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 15px;
    font-weight: 600;
    color: #374151;
}

.feature-item svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

/* Right Video Placeholder Styles */
.about-video-wrapper {
    flex: 1;
    max-width: 650px;
}

.video-container {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

.video-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.play-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2); /* Slight dark overlay for contrast */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    transition: background 0.3s ease;
}

.video-container:hover .play-overlay {
    background: rgba(0, 0, 0, 0.3);
}

.play-btn {
    width: 72px;
    height: 72px;
    background-color: #ffffff;
    border-radius: 50%;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    transition: transform 0.2s ease;
}

.play-btn svg {
    width: 32px;
    height: 32px;
    color: #1753d1;
    margin-left: 4px; /* Optically center the play triangle */
}

.play-btn:hover {
    transform: scale(1.05);
}

.play-text {
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .about-container {
        flex-direction: column;
    }
    
    .about-content, .about-video-wrapper {
        max-width: 100%;
    }
}

@media (max-width: 640px) {
    .section-title {
        font-size: 32px;
    }
    
    .about-features {
        grid-template-columns: 1fr; /* Stack features on mobile */
    }
}


/* Fifth section */
/* --- Industry Solutions Section --- */
.industry-section {
    padding: 60px 0;
    background-color: #ffffff;
    text-align: center;
}

.industry-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.industry-section-title {
    font-size: 14px;
    font-weight: 800;
    color: #1753d1;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 32px;
}

.industry-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 16px;
}

.industry-card {
    background-color: #ffffff;
    border: 1px solid #f3f4f6;
    border-radius: 8px;
    padding: 24px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    cursor: pointer;
}

.industry-card:hover {
    border-color: #e5e7eb;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px);
}

.industry-icon {
    width: 32px;
    height: 32px;
    margin-bottom: 16px;
}

.industry-name {
    font-size: 13px;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.4;
    text-align: center;
}

/* Responsive Grid Adjustments */
@media (max-width: 1200px) {
    .industry-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .industry-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 480px) {
    .industry-grid {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 10px;
    }
    .industry-container {
        padding: 0 20px;
    }
}


/* --- View All Industries Link --- */
.view-all-container {
    text-align: center;
    padding: 0 0 40px 0;
    background-color: #ffffff;
}

.view-all-link {
    font-size: 14px;
    font-weight: 700;
    color: #1753d1;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.view-all-link:hover {
    opacity: 0.8;
}

/* --- Smart Business Software Section --- */
.software-section {
    padding: 40px 0 80px 0;
    background-color: #ffffff;
}

.software-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.software-section-title {
    font-size: 16px;
    font-weight: 800;
    color: #1753d1;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}

/* 6-Column Grid */
.software-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
}

.software-card {
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.software-card:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.software-img-wrapper {
    width: 100%;
    margin-bottom: 16px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #f8fafc; /* Fallback matching image background */
}

.software-img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    display: block;
}

.software-card-title {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 8px;
}

.software-card-desc {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
    margin-bottom: 16px;
    flex-grow: 1; /* Pushes the "Learn More" link to the bottom */
}

.software-link {
    font-size: 13px;
    font-weight: 700;
    color: #1753d1;
    display: inline-block;
    transition: opacity 0.2s ease;
}

.software-link:hover {
    opacity: 0.8;
}

/* Responsive Grid Adjustments */
@media (max-width: 1280px) {
    .software-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .software-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .software-grid {
        grid-template-columns: 1fr;
    }
    .software-container {
        padding: 0 20px;
    }
}



/* --- Security Banner Section --- */
.security-banner-section {
    padding: 20px 0 80px 0;
    background-color: #ffffff;
}

.security-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.security-banner {
    /* Deep night-blue to match the city background of the camera image */
    background-color: #060e22; 
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 48px 64px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Optional subtle texture/glow to blend with the image */
.security-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 70% 50%, rgba(29, 78, 216, 0.15), transparent 60%);
    pointer-events: none;
}

/* Left Content Styles */
.security-content {
    flex: 1;
    max-width: 550px;
    z-index: 2;
}

.security-tag {
    display: inline-block;
    font-size: 14px;
    font-weight: 800;
    color: #4ade80; /* Bright green from the mockup */
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.security-title {
    font-size: 36px;
    font-weight: 800;
    line-height: 1.25;
    color: #ffffff;
    margin-bottom: 16px;
}

.security-desc {
    font-size: 14px;
    font-weight: 500;
    color: #cbd5e1; /* Light slate gray */
    margin-bottom: 32px;
}

/* Right Image Styles */
.security-image-wrapper {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 2;
    margin: -48px -64px -48px 0; /* Pulls the image to the edges of the banner */
}

.security-image {
    width: 100%;
    max-width: 600px;
    height: auto;
    object-fit: cover;
    /* Optional: Fades the left edge of the image smoothly into the solid background */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 15%);
    mask-image: linear-gradient(to right, transparent 0%, black 15%);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .security-banner {
        flex-direction: column;
        padding: 40px;
        text-align: center;
    }

    .security-content {
        margin-bottom: 40px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .security-image-wrapper {
        margin: 0;
        justify-content: center;
    }

    .security-image {
        -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%);
        mask-image: linear-gradient(to bottom, transparent 0%, black 15%);
    }
}

@media (max-width: 640px) {
    .security-banner {
        padding: 32px 20px;
    }
    
    .security-title {
        font-size: 28px;
    }
}



/* --- Statistics Section --- */
.stats-section {
    padding: 0 0 60px 0; /* No top padding assuming it sits tight below the banner */
    background-color: #ffffff;
}

.stats-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.stats-card {
    background-color: #ffffff;
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    padding: 32px 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03); /* Soft shadow like the mockup */
}

/* 6-Column Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    align-items: center;
}

.stat-item {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: center; /* Centers the content within its grid cell */
}

.stat-icon {
    width: 32px;
    height: 32px;
    color: #1753d1; /* Primary brand blue */
    flex-shrink: 0;
}

.stat-icon svg {
    width: 100%;
    height: 100%;
}

.stat-info {
    display: flex;
    flex-direction: column;
}

.stat-number {
    font-size: 24px;
    font-weight: 800;
    color: #1753d1;
    line-height: 1.1;
    margin-bottom: 4px;
}

.stat-text {
    font-size: 12px;
    font-weight: 500;
    color: #4b5563;
    line-height: 1.2;
}

/* Responsive Grid Adjustments */
@media (max-width: 1200px) {
    .stats-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 24px; /* More vertical gap when wrapped */
    }
    
    .stat-item {
        justify-content: flex-start; /* Align left when wrapped for better readability */
    }
}

@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .stats-card {
        padding: 24px;
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
    .stats-container {
        padding: 0 20px;
    }
}





/* --- Our Work Section --- */
.our-work-section {
    padding: 60px 0 80px 0;
    background-color: #ffffff;
}

.our-work-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.our-work-title {
    font-size: 16px;
    font-weight: 800;
    color: #1753d1; /* Standard brand blue */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    margin-bottom: 32px;
}

/* 5-Column Grid */
.work-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
}

/* Card Styling */
.work-card {
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    overflow: hidden; /* Ensures the image respects the rounded corners */
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.work-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
}

.work-img {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
}

.work-content {
    padding: 20px 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allows content area to fill remaining vertical space */
}

.work-card-title {
    font-size: 16px;
    font-weight: 700;
    color: #1753d1; /* Blue title matching the mockup */
    margin-bottom: 8px;
    line-height: 1.3;
}

.work-card-desc {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.5;
    margin-bottom: 20px;
    flex-grow: 1; /* Pushes the link to the bottom */
}

.work-link {
    font-size: 13px;
    font-weight: 700;
    color: #1753d1;
    display: inline-block;
    transition: opacity 0.2s ease;
}

.work-link:hover {
    opacity: 0.8;
}

/* Responsive Grid Adjustments */
@media (max-width: 1280px) {
    .work-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .work-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .work-grid {
        grid-template-columns: 1fr;
    }
    .our-work-container {
        padding: 0 20px;
    }
}




/* --- View All Case Studies Link --- */
/* (Reusing the view-all-container class from previous step) */

/* --- Testimonials & FAQ Section --- */
.testi-faq-section {
    padding: 20px 0 80px 0;
    background-color: #ffffff;
}

.testi-faq-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.section-subtitle {
    font-size: 22px;
    font-weight: 800;
    color: #1753d1;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 24px;
}

/* --- Left Column: Testimonials --- */
.testimonial-card {
    border: 1px solid #f3f4f6;
    border-radius: 12px;
    padding: 32px;
    background-color: #ffffff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
}

.quote-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.quote-icon {
    width: 32px;
    height: 32px;
    color: #1753d1;
}

.stars {
    display: flex;
    gap: 4px;
    margin-top: 4px;
}

.stars svg {
    width: 18px;
    height: 18px;
}

.quote-text {
    font-size: 16px;
    line-height: 1.6;
    color: #1f2937;
    font-weight: 500;
    margin-bottom: 32px;
}

.quote-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #f3f4f6;
    padding-top: 24px;
}

.author-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.author-img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.author-name {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 2px;
}

.author-role {
    font-size: 12px;
    color: #6b7280;
}

.carousel-controls {
    display: flex;
    align-items: center;
    gap: 24px;
}

.carousel-dots {
    display: flex;
    gap: 6px;
}

.dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #d1d5db;
}

.dot.active {
    background-color: #1753d1;
}

.carousel-arrows {
    display: flex;
    gap: 8px;
}

.arrow-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #e5e7eb;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #1753d1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.arrow-btn:hover {
    background-color: #1753d1;
    color: #ffffff;
    border-color: #1753d1;
}

.arrow-btn svg {
    width: 16px;
    height: 16px;
}

/* --- Right Column: FAQ --- */
.faq-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.faq-item {
    border-radius: 8px;
    background-color: #f8fafc;
    overflow: hidden;
}

/* Remove default marker for details */
.faq-item > summary {
    list-style: none;
}
.faq-item > summary::-webkit-details-marker {
    display: none;
}

.faq-question {
    padding: 16px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #1f2937;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.2s ease;
}

.faq-question:hover {
    background-color: #f1f5f9;
}

.faq-icon {
    width: 16px;
    height: 16px;
    color: #6b7280;
    transition: transform 0.3s ease;
}

/* Rotate icon when open */
.faq-item[open] .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 20px 16px 20px;
    font-size: 13.5px;
    line-height: 1.6;
    color: #4b5563;
    border-top: 1px solid transparent; /* Prevents layout jump */
}

/* Responsive */
@media (max-width: 1024px) {
    .testi-faq-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .quote-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    
    .carousel-controls {
        width: 100%;
        justify-content: space-between;
    }
}






/* --- CTA Banner Section --- */
.cta-section {
    padding: 20px 0 60px 0;
    background-color: #ffffff;
}

.cta-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.cta-banner {
    background: linear-gradient(90deg, #1e3a8a 0%, #1d4ed8 50%, #2563eb 100%);
    border-radius: 12px;
    padding: 32px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 10px 25px rgba(29, 78, 216, 0.2);
}

/* Left Content Styles */
.cta-content {
    display: flex;
    align-items: center;
    gap: 24px;
}

.cta-icon {
    width: 48px;
    height: 48px;
    color: #ffffff;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 8px;
}

.cta-icon svg {
    width: 100%;
    height: 100%;
}

.cta-title {
    font-size: 24px;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 6px;
    line-height: 1.2;
}

.cta-desc {
    font-size: 14px;
    color: #e0e7ff; /* Very light blue/white */
    margin: 0;
}

/* Right Actions Styles */
.cta-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.btn-green {
    display: inline-flex;
    align-items: center;
    background-color: #65a30d; /* Vibrant green matching mockup */
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.2s ease;
}

.btn-green:hover {
    background-color: #4d7c0f;
}

.btn-outline-white {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.btn-outline-white:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
}

.whatsapp-icon {
    width: 18px;
    height: 18px;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .cta-banner {
        flex-direction: column;
        text-align: center;
        padding: 32px 24px;
        gap: 32px;
    }
    
    .cta-content {
        flex-direction: column;
        gap: 16px;
    }
    
    .cta-actions {
        flex-direction: row;
        justify-content: center;
        width: 100%;
    }
}

@media (max-width: 640px) {
    .cta-actions {
        flex-direction: column;
        width: 100%;
    }
    
    .btn-green, .btn-outline-white {
        width: 100%;
        justify-content: center;
    }
}






/* --- Mega Footer Section --- */
.mega-footer {
    background-color: #0b1120; /* Very dark navy/slate matching the image */
    color: #e2e8f0;
    padding: 60px 0 20px 0;
    font-family: 'Inter', sans-serif;
}

.footer-container {
    max-width: 1536px; /* A bit wider to accommodate 7 columns */
    margin: 0 auto;
    padding: 0 40px;
}

/* --- Top Grid Area --- */
.footer-top-grid {
    display: grid;
    grid-template-columns: 2.2fr repeat(6, 1fr);
    gap: 0;
    margin-bottom: 60px;
}

.footer-col {
    padding: 0 24px;
}

.col-brand {
    padding-left: 0; /* Align left with container */
}

.col-border {
    border-left: 1px solid rgba(255, 255, 255, 0.08); /* Vertical dividers */
}

/* Column 1: Brand details */
.footer-logo-img {
    height: 40px;
    width: auto;
    margin-bottom: 20px;
    display: block;
}

.brand-tags {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.tag-gray { color: #cbd5e1; }
.tag-blue { color: #3b82f6; }
.tag-green { color: #10b981; }

.brand-desc {
    font-size: 13.5px;
    line-height: 1.6;
    color: #94a3b8;
    margin-bottom: 24px;
    padding-right: 20px;
}

.brand-divider {
    width: 40px;
    height: 2px;
    background-color: #1e40af;
    margin-bottom: 24px;
}

.follow-title {
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 16px;
}

.social-links {
    display: flex;
    gap: 12px;
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #e2e8f0;
    transition: all 0.2s ease;
}

.social-links a:hover {
    background-color: #3b82f6;
    border-color: #3b82f6;
}

.social-links svg {
    width: 16px;
    height: 16px;
}

/* Link Columns (2-7) */
.col-title {
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: uppercase;
}

.col-title svg {
    width: 20px;
    height: 20px;
    color: #3b82f6;
}

.col-links {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.col-links li a {
    color: #cbd5e1;
    font-size: 13px;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: color 0.2s ease;
}

.col-links li a svg {
    width: 12px;
    height: 12px;
    margin-right: 8px;
    color: #3b82f6;
}

.col-links li a:hover {
    color: #ffffff;
}

.view-all-link {
    margin-top: 10px;
    font-size: 16px;
    font-weight: 600;
    color: #3b82f6;
    text-decoration: none;
    transition: color 0.2s ease;
}

.view-all-link:hover {
    color: #60a5fa;
}

/* --- Middle Row: CTA Box --- */
.footer-cta-box {
    background-color: #111827; /* Slightly lighter dark box */
    border-radius: 12px;
    padding: 32px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
}

.cta-left {
    display: flex;
    align-items: center;
    gap: 24px;
}

.cta-icon-box {
    width: 60px;
    height: 60px;
    background-color: #2563eb;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.cta-icon-box svg {
    width: 32px;
    height: 32px;
    color: #ffffff;
}

.cta-text-content h3 {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 6px;
}

.cta-text-content p {
    font-size: 14px;
    color: #cbd5e1;
}

.cta-right {
    display: flex;
    gap: 16px;
}

.btn-primary-blue {
    background-color: #2563eb;
    color: #ffffff;
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.btn-primary-blue:hover {
    background-color: #1d4ed8;
}

.btn-outline-wa {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: 12px 24px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.btn-outline-wa:hover {
    border-color: #ffffff;
    background-color: rgba(255, 255, 255, 0.05);
}

.btn-outline-wa svg {
    width: 18px;
    height: 18px;
}

/* --- Bottom Row: Contact Info --- */
.footer-contact-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 40px;
    margin-bottom: 24px;
}

.contact-block {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 24px;
}

.contact-block:first-child {
    padding-left: 0;
}

.contact-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.15);
    display: flex;
    justify-content: center;
    align-items: center;
    color: #3b82f6;
    flex-shrink: 0;
}

.contact-icon svg {
    width: 20px;
    height: 20px;
}

.contact-primary {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.contact-secondary {
    display: block;
    font-size: 13px;
    color: #94a3b8;
}

/* --- Copyright --- */
.footer-copyright {
    text-align: center;
    font-size: 13px;
    color: #94a3b8;
}

/* --- Responsive Adjustments --- */
@media (max-width: 1280px) {
    .footer-top-grid {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 48px;
    }
    .col-brand { grid-column: span 3; }
    .col-border { border-left: none; padding-left: 0; }
    .footer-contact-row { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }
    .contact-block.col-border:nth-child(odd) { border-left: none; padding-left: 0; }
}

@media (max-width: 1024px) {
    .footer-cta-box { flex-direction: column; text-align: center; gap: 32px; }
    .cta-left { flex-direction: column; }
    .footer-top-grid { grid-template-columns: repeat(2, 1fr); }
    .col-brand { grid-column: span 2; }
}

@media (max-width: 640px) {
    .footer-top-grid { grid-template-columns: 1fr; }
    .col-brand { grid-column: span 1; padding: 0; }
    .footer-contact-row { grid-template-columns: 1fr; }
    .contact-block { padding-left: 0 !important; border-left: none; }
    .cta-right { flex-direction: column; width: 100%; }
    .cta-right a { justify-content: center; }
}






/* Right Video Styles (1:1 Ratio) */
.about-video-wrapper {
    flex: 1;
    /* Reduced from 650px to 500px so the square doesn't become overly tall on large screens */
    max-width: 500px; 
    margin: 0 auto; /* Centers it nicely when stacked on mobile */
}

.video-container {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
    background-color: #000;
    aspect-ratio: 1 / 1; /* Forces a perfect square */
    width: 100%;
}

.about-video {
    width: 100%;
    height: 100%; /* Fills the square container */
    display: block;
    object-fit: cover; /* Ensures the video perfectly fills the square without stretching */
}





/* --- Security Banner Section --- */
.security-banner-section {
    padding: 20px 0 80px 0;
    background-color: #ffffff;
}

.security-container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.security-banner {
    border-radius: 12px;
    padding: 64px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    
    /* Using the exact image file provided as the full background */
    background-color: #030d22; /* Fallback dark blue */
    background-image: url('Final Camera zotriq.jpg');
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
}

/* Left Content Styles */
.security-content {
    position: relative;
    z-index: 2;
    max-width: 550px;
}

.security-tag {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    color: #7dbf54; /* Light green matching the text in the image */
    margin-bottom: 8px;
}

.security-title {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.25;
    color: #ffffff;
    margin-bottom: 16px;
}

.security-desc {
    font-size: 12px;
    font-weight: 400;
    color: #e2e8f0; 
    margin-bottom: 32px;
    letter-spacing: 0.3px;
}

/* Custom Button matching the new image (Pill shaped, outlined) */
.btn-security-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #ffffff;
    padding: 10px 24px;
    border-radius: 50px; /* Gives the rounded pill shape */
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
    text-decoration: none;
}

.btn-security-outline:hover {
    background-color: #ffffff;
    color: #030d22;
}

.btn-security-outline .btn-arrow {
    width: 14px;
    height: 14px;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .security-banner {
        padding: 48px 40px;
        background-position: center;
        /* Adds a slight dark tint on smaller screens just to guarantee text readability if the image crops */
        background-image: linear-gradient(to right, rgba(3, 13, 34, 0.8) 0%, rgba(3, 13, 34, 0.3) 100%), url('Final Camera zotriq.jpg');
    }
}

@media (max-width: 640px) {
    .security-banner {
        padding: 40px 24px;
    }
    
    .security-title {
        font-size: 28px;
    }
}



/* --- Mobile Header & Navigation Styles --- */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #111827;
    padding: 4px;
}

.mobile-menu-btn svg {
    width: 28px;
    height: 28px;
}

.header-right-wrapper {
    display: flex;
    align-items: center;
    gap: 32px;
}

@media (max-width: 1100px) {
    /* Show Hamburger */
    .mobile-menu-btn {
        display: block;
    }

    /* Make header relative so the absolute menu positions correctly below it */
    .site-header {
        position: relative;
    }

    /* Hide wrapper by default, convert to dropdown */
    .header-right-wrapper {
        display: none; /* Hidden until clicked */
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: #ffffff;
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 40px;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        border-top: 1px solid #f3f4f6;
        gap: 24px;
        z-index: 1000;
    }

    /* Class added by JS to open the menu */
    .header-right-wrapper.active {
        display: flex;
    }

    /* Fix Nav Links layout for Mobile */
    .main-nav, .main-nav ul {
        width: 100%;
    }
    
    .main-nav ul {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    .main-nav li {
        width: 100%;
        border-bottom: 1px solid #f3f4f6;
    }

    .main-nav a {
        padding: 16px 0;
        width: 100%;
        justify-content: space-between; /* Puts arrows on the right */
        font-size: 16px;
    }

    /* Fix Actions layout for Mobile */
    .header-actions {
        flex-direction: column;
        width: 100%;
        gap: 16px;
        align-items: flex-start;
    }

    .phone-text {
        display: inline; /* Ensure it shows up if it was hidden */
    }

    .btn-primary {
        width: 100%;
        justify-content: center;
    }
}

/* --- Mobile Hero Section Fixes --- */
@media (max-width: 640px) {
    /* Stack buttons full width on small screens */
    .hero-buttons {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
    
    .hero-buttons a {
        width: 100%;
        justify-content: center;
    }

    /* Ensure locations wrap nicely */
    .hero-locations {
        justify-content: center;
        gap: 16px;
    }
}