:root {
    --primary-color: rgba(246, 149, 41, 1);
    /* Golden Orange */
    --secondary-color: rgba(36, 158, 162, 1);
    /* Teal */
    --text-color: #333333;
    /* Dark Gray */
    --bg-color: #ffffff;
    /* White */
    --bg-alt: #f5f5f5;
    /* Light Gray */
    --white: #ffffff;
    --nav-height: 100px;
    --transition: all 0.3s ease;
    --font-main: 'Cairo', sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-main);
    color: var(--text-color);
    line-height: 1.6;
    background-color: var(--bg-color);
    direction: rtl;
    /* Global RTL */
    text-align: right;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.hero {
    height: 100vh;
    background: url('background.png') no-repeat center center/cover;
    background-attachment: fixed;
    /* Parallax effect */
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #000000;
    margin-top: 0;
    margin-bottom: 0;
    /* Removed space after Hero */
}

/* Hero content moves slower for parallax feel */
.hero-content {
    position: relative;
    z-index: 2;
    transform: translateZ(0);
    /* Enable hardware acceleration */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-width: 900px;
}

/* Statistics Counter Section - Elevated layer with shadow */
#stats {
    background-color: #ffffff !important;
    background: #ffffff !important;
    padding: 80px 0;
    position: relative;
    z-index: 20;
    /* Higher than merged background */
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 10px 20px rgba(0, 0, 0, 0.1);
    /* Strong shadow for elevation */
    margin-bottom: -50px;
    /* Overlap the next section */
}

.stats-grid {
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    gap: 60px;
}

.stat-item {
    text-align: center;
    background: linear-gradient(145deg, #ffffff, #f5f5f5) !important;
    border: 1px solid rgba(246, 149, 41, 0.2) !important;
    border-radius: 25px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08),
        0 5px 15px rgba(246, 149, 41, 0.1) !important;
    padding: 40px 50px;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}


.stat-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12),
        0 10px 25px rgba(246, 149, 41, 0.15) !important;
    border-color: var(--primary-color) !important;
}

.stat-number {
    font-size: 5rem;
    font-weight: 700;
    color: #000000 !important;
}

.stat-label {
    font-size: 1.5rem;
    color: #333333 !important;
    margin-top: 15px;
}

#about,
#values,
#services,
#projects {
    padding-bottom: 150px;
    padding-top: 100px;
    /* Added internal top spacing */
}

/* Values Section Title */
#values .section-title {
    text-align: center;
    font-size: 3.5rem;
}

/* Values Section - Elevated Parallax Effect */
#values {
    position: relative;
    z-index: 30;
    background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%);
    box-shadow: 0 -30px 80px rgba(0, 0, 0, 0.2), 0 30px 80px rgba(0, 0, 0, 0.15);
    margin-top: -80px;
}

/* About Us Section - Below Values */
.merged-background-section {
    position: relative;
    z-index: 10;
    padding-bottom: 120px;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    /* Overlay removed */
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero h1 {
    font-size: 4rem;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

.hero p {
    font-size: 1.5rem;
    margin-bottom: 40px;
    font-weight: 500;
}

/* New Hero Elements */
.hero-badge {
    display: inline-block;
    background: rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0, 0, 0, 0.2);
    padding: 10px 25px;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 500;
    color: #000000;
    margin-bottom: 25px;
}

.hero-description {
    font-size: 1.25rem;
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.8;
    color: #333333;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Values Section */
.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.value-card {
    background: var(--white);
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.value-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.value-icon {
    margin-bottom: 20px;
    color: var(--secondary-color);
    transition: var(--transition);
}

.value-card:hover .value-icon {
    transform: scale(1.1);
    color: var(--primary-color);
}

.value-card h3 {
    font-size: 1.25rem;
    margin-bottom: 10px;
    color: #2CA58D;
    /* Teal color from image concept */
}



.section-title {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 50px;
    color: var(--text-color);
    position: relative;
    padding-bottom: 15px;
}

.section-title::after {
    display: none;
}

.section-title.left-align {
    text-align: left;
}

.section-title.left-align::after {
    left: 0;
    transform: none;
}

.section-description {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 40px;
    font-size: 1.1rem;
    color: #666;
    line-height: 1.8;
}

/* Grids */
.why-us-grid,
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.two-col-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

/* Merged Background Section - Slides under Stats with parallax */
.merged-background-section {
    position: relative;
    background: url('background3.png') no-repeat center center/cover;
    background-attachment: fixed;
    /* Parallax effect */
    padding-top: 100px;
    /* Extra space to account for Stats overlap */
    z-index: 5;
    /* Below Stats section */
}

.merged-background-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    /* No overlay */
    z-index: 1;
}

/* Why Us Section */
#why-us {
    position: relative;
    background: transparent;
    /* Remove individual bg */
    padding-bottom: 50px;
    /* Adjust padding for flow */
    padding-top: 100px;
}

#why-us::before {
    display: none;
    /* Remove individual overlay */
}

#why-us .container,
#about .container {
    position: relative;
    z-index: 2;
}

/* About Us Section adjustment */
#about {
    position: relative;
    background: transparent;
    padding-top: 50px;
    /* Reduced top padding */
    padding-bottom: 150px;
}

#why-us .section-title,
#about .section-title {
    color: var(--white);
}

#about p {
    color: #eee;
    line-height: 1.8;
}

#about .accent-text {
    color: var(--white);
}

/* Standalone Why Us Section (outside merged background) */
.why-us-standalone {
    background: #f8f9fa;
    padding: 100px 0;
    position: relative;
}

.why-us-standalone .section-title {
    color: #333;
}

.why-us-standalone .section-description {
    color: #555;
}

.why-us-standalone .feature-card {
    background: #fff;
    border: 1px solid #e0e0e0;
}

.why-us-standalone .feature-card h3 {
    color: #333;
}

.why-us-standalone .feature-card p {
    color: #555;
}

/* Odd cards: Orange hover */
.why-us-standalone .feature-card:nth-child(odd):hover {
    transform: translateY(-10px);
    border-color: var(--primary-color);
    box-shadow: 0 15px 40px rgba(246, 149, 41, 0.2);
    background: #fff;
}

.why-us-standalone .feature-card:nth-child(odd):hover h3 {
    color: var(--primary-color);
}

/* Even cards: Teal/Blue hover */
.why-us-standalone .feature-card:nth-child(even):hover {
    transform: translateY(-10px);
    border-color: var(--secondary-color);
    box-shadow: 0 15px 40px rgba(36, 158, 162, 0.2);
    background: #fff;
}

.why-us-standalone .feature-card:nth-child(even):hover h3 {
    color: var(--secondary-color);
}

/* Feature Cards (Why Us) */
.feature-card {
    background: rgba(255, 255, 255, 0.1);
    /* Glassmorphism */
    padding: 40px 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: var(--transition);
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
    border-color: var(--primary-color);
    background: rgba(255, 255, 255, 0.15);
}

.icon-box {
    font-size: 2rem;
    font-weight: bold;
    color: var(--primary-color);
    /* Updated for visibility */
    margin-bottom: 20px;
    font-family: monospace;
}

.feature-card h3 {
    margin-bottom: 15px;
    font-size: 1.5rem;
    color: var(--white);
}

.feature-card p {
    color: #eee;
}

#services {
    padding-bottom: 150px;
    position: relative;
    background: url('background.png') no-repeat center center/cover;
    background-attachment: fixed;
}

#services::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0, 0, 0, 0.7);
    /* Darker overlay */
    z-index: 1;
}

#services .container {
    position: relative;
    z-index: 2;
}

#services .section-title {
    color: var(--black);
    padding-top: 80px;
}

/* Service Cards */
/* Service Cards */
.service-card {
    background: rgba(255, 255, 255, 0.8);
    /* Less transparent for border visibility */
    padding: 30px;
    border-radius: 10px;
    text-align: center;
    border: 1px solid #e0e0e0;
    /* Distinct border */
    transition: all 0.4s ease;
    backdrop-filter: blur(10px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 250px;
}

.service-card:hover {
    background: #fff;
    transform: translateY(-10px);
}

/* Odd cards: Orange Hover (Default Primary) */
.service-card:nth-child(odd):hover {
    border-color: var(--primary-color);
    box-shadow: 0 15px 30px rgba(255, 87, 34, 0.3);
    /* Orange Glow */
}

/* Even cards: Blue Hover (Secondary) */
.service-card:nth-child(even):hover {
    border-color: var(--secondary-color);
    box-shadow: 0 15px 30px rgba(3, 169, 244, 0.3);
    /* Blue Glow */
}

.service-icon {
    font-size: 3rem;
    margin-bottom: 20px;
    color: var(--primary-color);
    transition: var(--transition);
}

.service-card:hover .service-icon {
    transform: scale(1.1);
    /* Removed rotation for cleaner look */
    margin-bottom: 15px;
    /* Adjust spacing on hover */
}

.service-card h3 {
    margin-bottom: 0;
    /* Remove bottom margin initially */
    color: var(--black);
    transition: var(--transition);
}

.service-card:hover h3 {
    margin-bottom: 10px;
    /* Add margin back when description appears */
}

.service-card p {
    color: var(--black);
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.4s ease;
    margin-top: 0;
}

.service-card:hover p {
    max-height: 200px;
    /* Arbitrary large height to accommodate text */
    opacity: 1;
    margin-top: 10px;
}

/* About Section Specifics */
.about-text p {
    margin-bottom: 20px;
    font-size: 1.1rem;
    color: #555;
}

.rounded-img {
    border-radius: 20px;
}

.shadow-img {
    box-shadow: 20px 20px 0px rgba(3, 169, 244, 0.1);
    /* Decorative shadow */
}

@media (max-width: 768px) {
    .two-col-grid {
        grid-template-columns: 1fr;
    }

    .hero h1 {
        font-size: 2.5rem;
    }

    .hero p {
        font-size: 1.2rem;
    }
}

/* Buttons */
.btn-primary {
    background-color: var(--primary-color);
    color: var(--white);
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 500;
    transition: var(--transition);
}

.btn-primary:hover {
    background-color: #e64a19;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 87, 34, 0.3);
}

.btn-secondary {
    background-color: #000000;
    border: 2px solid #000000;
    color: var(--white);
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 500;
    transition: var(--transition);
}

.btn-secondary:hover {
    background-color: transparent;
    color: #000000;
}

.accent-text {
    color: var(--primary-color);
    font-weight: bold;
}

/* Navbar */
/* Navbar */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--nav-height);
    background: transparent;
    /* Initial transparent state */
    backdrop-filter: none;
    /* No blur initially */
    z-index: 1000;
    box-shadow: none;
    /* No shadow initially */
    transition: all 0.4s ease;
    /* Smooth transition */
}

.navbar.scrolled {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding: 0 1px;
    /* Minimal padding */
}

/* Nav Links Active State */
.nav-links a {
    font-weight: 500;
    font-size: 1rem;
    transition: var(--transition);
    position: relative;
    /* For Pseudo-element */
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -5px;
    width: 0;
    height: 3px;
    background: var(--primary-color);
    transition: width 0.3s ease;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 2px;
}

.nav-links a.active {
    color: var(--primary-color);
}

.nav-links a.active::after {
    width: 100%;
}

/* Fix for Button Active State */
.nav-links a.btn-primary.active {
    color: var(--white) !important;
}

.nav-links a.btn-primary.active::after {
    display: none;
    /* No underline for button */
}

.logo {
    display: flex;
    align-items: center;
    /* Center Vertically */
    height: 100%;
    padding-top: 0;
}

.logo img {
    height: 250px;
    /* Huge size to crop out whitespace visually */
    width: auto;
    position: relative;
    z-index: 1001;
    max-width: none;
    /* Allow it to overflow width limits if any */
}

.nav-links {
    display: flex;
    gap: 30px;
    align-items: center;
}

.nav-links a {
    font-weight: 500;
    font-size: 1rem;
    transition: var(--transition);
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--primary-color);
}

/* Fix for specific Contact Us button in Nav */
.nav-links .btn-primary {
    color: var(--white);
    /* Ensure visible initially */
}

/* Allow default btn-primary hover effects to apply, or customize here */
.nav-links .btn-primary:hover {
    background-color: var(--white);
    color: var(--primary-color) !important;
    /* Invert colors for nav button */
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.hamburger {
    display: none;
    cursor: pointer;
    flex-direction: column;
    gap: 5px;
}

.hamburger span {
    width: 25px;
    height: 3px;
    background-color: var(--text-color);
    border-radius: 5px;
    transition: var(--transition);
}

/* Carousel */
.carousel-container {
    position: relative;
    width: 100%;
    padding: 20px 0;
    /* Manual Scroll Container */
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    /* Smooth scroll on iOS */
    scrollbar-width: none;
    /* Hide scrollbar Firefox */
}

.carousel-container::-webkit-scrollbar {
    display: none;
    /* Hide scrollbar Chrome/Safari */
}

.carousel-track {
    display: flex;
    gap: 20px;
    /* Restored gap for manual scroll */
    width: max-content;
    direction: ltr;
    padding: 0 50px;
    /* Side padding for visual balance */
}

/* Remove Animation */

.carousel-slide {
    min-width: 350px;
    /* Slightly wider cards */
    height: 450px;
    /* Taller cards */
    flex: 0 0 350px;
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    margin: 0;
    white-space: normal;
    /* Allow text inside to wrap */
    /* Scroll Snap */
    scroll-snap-align: center;
}

.carousel-container:hover .carousel-track {
    animation-play-state: paused;
    /* Stop on hover */
}

.carousel-slide {
    min-width: 300px;
    height: 400px;
    flex: 0 0 300px;
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    white-space: normal;
    /* Allow text inside to wrap */
    /* Scroll Snap */
    scroll-snap-align: center;
}

/* Scroll Buttons */
.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: var(--white);
    color: var(--primary-color);
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 1.5rem;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    z-index: 10;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
}

.scroll-btn:hover {
    background: var(--primary-color);
    color: var(--white);
    transform: translateY(-50%) scale(1.1);
}

.prev-btn {
    right: -25px;
    /* RTL right */
}

.next-btn {
    left: -25px;
    /* RTL left */
}

@media (max-width: 768px) {
    .scroll-btn {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }

    .prev-btn {
        right: 0;
    }

    .next-btn {
        left: 0;
    }
}

.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.carousel-slide:hover img {
    transform: scale(1.1);
    filter: brightness(1.2);
    /* Light effect */
}

.project-info {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    color: var(--white);
    padding: 20px;
    transform: translateY(100%);
    transition: var(--transition);
}

.carousel-slide:hover .project-info {
    transform: translateY(0);
}

/* Buttons removed as requested for continuous scroll */

/* Contact Section */
/* Contact Section - Matching Reference Design */
#contact {
    position: relative;
    background: url('background2.png') no-repeat center center/cover;
    background-attachment: fixed;
    padding: 30px 0;
    /* Reduced padding */
}

#contact::before {
    display: none;
}

#contact .section-title {
    color: var(--white);
    margin-bottom: 10px;
    /* Reduced margin */
    font-size: 2rem;
    /* Slightly smaller title */
}

.contact-desc {
    color: #94a3b8;
    margin-bottom: 30px;
    font-size: 0.95rem;
    /* Slightly smaller text */
}

/* Two Column Layout */
.contact-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

/* Contact Info Column */
.contact-info-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    /* Reduced gap from 20px */
}

/* Contact Pills */
.contact-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    padding: 10px 20px;
    /* Reduced padding */
    transition: var(--transition);
}

.contact-pill:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--primary-color);
    transform: translateX(-5px);
}

.pill-content {
    display: flex;
    flex-direction: column;
    text-align: right;
}

.pill-label {
    font-size: 0.85rem;
    color: var(--primary-color);
    margin-bottom: 3px;
}

.pill-value {
    font-size: 1rem;
    color: var(--white);
    font-weight: 500;
}

.pill-icon {
    width: 40px;
    /* Reduced size */
    height: 40px;
    /* Reduced size */
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-color);
    transition: var(--transition);
}

.contact-pill:hover .pill-icon {
    background: var(--primary-color);
    color: white;
}

.pill-icon.whatsapp {
    color: #25d366;
}

.contact-pill:hover .pill-icon.whatsapp {
    background: #25d366;
    color: white;
}

/* Social Icons Row */
.social-icons-row {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}

.social-label {
    color: #94a3b8;
    font-size: 0.9rem;
}

.social-icons {
    display: flex;
    gap: 10px;
}

.social-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    transition: var(--transition);
}

.social-icon:hover {
    background: var(--primary-color);
    transform: translateY(-3px);
}

/* Form Column */
.contact-form-column {
    background: transparent;
}

.contact-form-styled {
    display: flex;
    flex-direction: column;
    gap: 12px;
    /* Reduced gap */
}

.contact-form-styled .form-group input,
.contact-form-styled .form-group textarea {
    width: 100%;
    padding: 12px 15px;
    /* Reduced padding */
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    color: var(--white);
    font-family: var(--font-main);
    font-size: 0.95rem;
    /* Smaller font */
    transition: var(--transition);
}

.contact-form-styled .form-group input::placeholder,
.contact-form-styled .form-group textarea::placeholder {
    color: #64748b;
}

.contact-form-styled .form-group input:focus,
.contact-form-styled .form-group textarea:focus {
    border-color: var(--primary-color);
    outline: none;
    background: rgba(255, 255, 255, 0.08);
}

.btn-submit {
    align-self: flex-end;
    background: transparent;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    padding: 12px 40px;
    border-radius: 8px;
    font-family: var(--font-main);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: var(--transition);
}

.btn-submit:hover {
    background: var(--primary-color);
    color: white;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contact-info-column {
        order: 2;
    }

    .contact-form-column {
        order: 1;
    }

    .social-icons-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .btn-submit {
        width: 100%;
    }
}

/* Partners Section */
#partners {
    padding-bottom: 100px;
    /* overflow: hidden; Not needed for static */
}

.partners-grid-static {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}

.partner-item {
    background: var(--white);
    padding: 10px;
    border-radius: 50%;
    /* Circle/Roundish */
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    width: 100px;
    /* Small size */
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    border: 1px solid #eee;
}

.partner-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-color: var(--primary-color);
}

.partner-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: grayscale(100%);
    /* Optional: Make logos grayscale initially */
    transition: var(--transition);
    opacity: 0.7;
}

.partner-item:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

/* Specific colors if needed, though primary looks consistent */
.contact-item:nth-child(3) .contact-icon {
    color: #25D366;
    /* WhatsApp Green */
}

@media (max-width: 768px) {
    .hamburger {
        display: flex;
    }

    .nav-links {
        position: absolute;
        top: var(--nav-height);
        left: -100%;
        /* RTL Change */
        width: 100%;
        height: calc(100vh - var(--nav-height));
        background-color: var(--white);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        transition: var(--transition);
    }

    .nav-links.active {
        left: 0;
        /* RTL Change */
    }
}

/* Scroll Animations */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* Specific slower animation for Hero section */
.hero .animate-on-scroll {
    transition: opacity 1.5s ease-out, transform 1.5s ease-out;
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Specific delays or types if needed */
.delay-100 {
    transition-delay: 0.1s;
}

.delay-200 {
    transition-delay: 0.2s;
}

.delay-300 {
    transition-delay: 0.3s;
}

.slide-in-right {
    transform: translateX(-50px);
    /* Starts from left (RTL logic reverse?) No, standard transform */
}

.slide-in-right.is-visible {
    transform: translateX(0);
}

.slide-in-left {
    transform: translateX(50px);
}

.slide-in-left.is-visible {
    transform: translateX(0);
}

/* -------------------------------------------------- */
/* NEW PROJECTS SECTION STYLES (Site Theme Integration) */
/* -------------------------------------------------- */

.dark-bg {
    /* Use a dark overlay over a background image to match site style */
    background: url('background4.png') no-repeat center center/cover;
    background-attachment: fixed;
    color: var(--white);
    padding-top: 80px;
    padding-bottom: 80px;
}

/* Projects Header & Filters */
.projects-header {
    display: flex;
    justify-content: center;
    margin-bottom: 50px;
}

.filter-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

.filter-btn {
    background: rgba(255, 255, 255, 0.1);
    /* Glassy background */
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 10px 25px;
    border-radius: 50px;
    /* Rounded pill like site buttons */
    font-family: var(--font-main);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    color: var(--white);
    transition: var(--transition);
}

.filter-btn.active,
.filter-btn:hover {
    background-color: var(--primary-color);
    /* Site Orange */
    border-color: var(--primary-color);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 87, 34, 0.3);
}


/* Gallery Container Layout */
.projects-gallery-container {
    /* Standard RTL Direction (Inherited) */
    display: grid;
    /* RTL Grid: Col 1 is Right, Col 2 Center, Col 3 Left */
    grid-template-areas: "text image thumbnails";
    grid-template-columns: 1.2fr 2fr 120px;
    /* Text (Right) | Image | Thumbnails (Left) */
    gap: 40px;
    /* Center vertically */
    align-items: center;
    min-height: 500px;
}

#main-project-link {
    text-decoration: none;
    color: inherit;
    display: block;
    width: fit-content;
    /* Don't stretch full width unnecessarily */
}

#main-project-link h2 {
    transition: color 0.3s ease;
    /* Ensure smooth color transition */
}

#main-project-link:hover h2 {
    color: var(--primary-color);
    text-decoration: none;
}

/* Mobile responsive fixes */
@media (max-width: 768px) {
    #main-project-link {
        width: 100%;
    }
}

.project-image-container {
    grid-area: image;
    display: block;
    width: 100%;
    height: 100%;
    /* Add subtle shadow/border like site cards */
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

/* Right Column (Visually in RTL): Text Content */
/* Right Column (Visually in RTL): Text Content */
.project-text-content {
    grid-area: text;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    text-align: right;
    transition: opacity 0.5s ease;
    /* Smooth fade for text */
    opacity: 1;
}

.project-tags {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.tag {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--white);
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.tag.light {
    background-color: transparent;
    color: #ccc;
    border: none;
    padding: 5px 0;
}

.project-text-content h2 {
    font-size: 2.8rem;
    line-height: 1.3;
    margin-bottom: 20px;
    font-weight: 700;
}

.project-meta {
    font-size: 1.1rem;
    color: #ddd;
    margin-bottom: 30px;
    line-height: 1.8;
}

.project-meta p span {
    color: var(--primary-color);
    /* Orange highlight */
    font-weight: 600;
}

.project-nav-controls {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.nav-arrow {
    width: 50px;
    height: 50px;
    background: transparent;
    border: 2px solid var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    cursor: pointer;
    color: var(--white);
    transition: var(--transition);
}

.nav-arrow:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
    transform: scale(1.1);
}


/* Center Column: Main Image */
.main-image-wrapper {
    width: 100%;
    height: 500px;
    border-radius: 20px;
    /* Matching site rounding */
    overflow: hidden;
    position: relative;
}

.main-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease, opacity 0.5s ease;
    /* Add opacity transition */
    opacity: 1;
}

.main-image-wrapper:hover img {
    transform: scale(1.05);
}

/* Right Column (Visually): Thumbnails Strip */
.thumbnails-strip {
    grid-area: thumbnails;
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
    max-height: 500px;
    overflow-y: auto;
    scrollbar-width: none;
    align-items: center;
    justify-content: center;
}

.thumbnails-strip::-webkit-scrollbar {
    display: none;
}

.thumbnail-item {
    width: 90px;
    height: 90px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid rgba(255, 255, 255, 0.2);
    opacity: 0.6;
    transition: var(--transition);
}

.thumbnail-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thumbnail-item:hover,
.thumbnail-item.active {
    opacity: 1;
    border-color: var(--primary-color);
    /* Orange active border */
    transform: scale(1.1);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}


/* Responsive Adjustments for Gallery */
@media (max-width: 768px) {
    .projects-gallery-container {
        display: flex;
        flex-direction: column;
        gap: 30px;
        align-items: center;
        grid-template-areas: none;
        grid-template-columns: 1fr;
    }

    /* Order for Mobile: 1. Image, 2. Thumbnails, 3. Text */

    .project-image-container {
        order: 1;
        width: 100%;
    }

    .main-image-wrapper {
        height: 300px;
        width: 100%;
    }

    .thumbnails-strip {
        order: 2;
        flex-direction: row;
        width: 100%;
        justify-content: center;
        overflow-x: auto;
        max-height: none;
        height: auto;
    }

    .project-text-content {
        order: 3;
        text-align: center;
        align-items: center;
        width: 100%;
    }

    /* Ensure no grid area interference in flex */
    .thumbnails-strip,
    .project-image-container,
    .project-text-content {
        grid-area: auto;
    }

    .project-nav-controls {
        margin-top: 20px;
        justify-content: center;
    }
}

/* Project Details Page Specifics */
/* Project Details Page Specifics - Centered Layout */
.project-hero {
    height: 70vh;
    /* Taller hero */
    background: url('background5.png') no-repeat center center/cover;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
}

.hero-content h1 {
    font-size: 3.5rem;
    margin-bottom: 20px;
}

/* Horizontal Info Bar */
.project-info-bar {
    background: var(--white);
    padding: 30px 0;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    margin-top: -50px;
    /* Overlap hero */
    position: relative;
    z-index: 2;
    border-radius: 12px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.info-bar-grid {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 20px;
    text-align: center;
}

.info-item .label {
    display: block;
    color: var(--primary-color);
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.info-item .value {
    font-size: 1.1rem;
    color: var(--text-color);
    font-weight: 600;
}

/* Main Content Centered */
.project-content-centered {
    max-width: 900px;
    margin: 60px auto;
    text-align: center;
    line-height: 2;
    font-size: 1.1rem;
    color: #444;
}

.project-content-centered h2 {
    font-size: 2.2rem;
    margin-bottom: 30px;
    color: var(--text-color);
}

.project-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    /* Larger images */
    gap: 25px;
    margin-top: 60px;
}

.project-gallery-grid img {
    border-radius: 15px;
    height: 300px;
    object-fit: cover;
    width: 100%;
    transition: transform 0.3s ease;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.project-gallery-grid img:hover {
    transform: scale(1.02);
}

/* =========================================
   Responsive Design Adjustments
   ========================================= */

/* Tablet (1024px and below) */
@media (max-width: 1024px) {
    .container {
        padding: 0 30px;
    }

    .hero h1 {
        font-size: 3.5rem;
    }

    .section-title {
        font-size: 2.2rem;
    }

    /* Adjust Grid Columns for Tablet */
    .why-us-grid,
    .services-grid,
    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile (768px and below) */
@media (max-width: 768px) {
    :root {
        --nav-height: 80px;
        /* Smaller Navbar */
    }

    /* Typography */
    .hero h1 {
        font-size: 2.5rem;
    }

    .hero p {
        font-size: 1.1rem;
    }

    .section-title {
        font-size: 1.8rem;
        margin-bottom: 30px;
    }

    /* Grids to Single Column */
    .two-col-grid,
    .why-us-grid,
    .services-grid,
    .values-grid,
    .info-bar-grid,
    .project-gallery-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .project-details-grid {
        grid-template-columns: 1fr;
    }

    /* Navigation */
    .navbar {
        background: var(--white);
        /* Solid bg on mobile */
    }

    .nav-links {
        position: fixed;
        top: var(--nav-height);
        right: -100%;
        /* Hidden by default */
        width: 100%;
        height: calc(100vh - var(--nav-height));
        background: var(--white);
        flex-direction: column;
        justify-content: center;
        transition: 0.4s ease;
        box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
    }

    .nav-links.active {
        right: 0;
    }

    .hamburger {
        display: flex;
        /* Show hamburger */
    }

    .logo img {
        height: 60px;
        /* Smaller Logo */
        width: auto;
    }

    /* Project Details specific mobile fixes */
    .project-hero {
        height: 50vh;
    }

    .hero-content h1 {
        font-size: 2.5rem;
    }

    .project-info-bar {
        margin: -30px 15px 30px;
        padding: 20px;
    }

    .info-bar-grid {
        flex-direction: column;
        gap: 20px;
    }

    .project-content-centered {
        padding: 0 20px;
        margin: 30px auto;
    }
}

/* Small Mobile (480px and below) */
@media (max-width: 480px) {
    .hero h1 {
        font-size: 2rem;
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
        text-align: center;
        display: block;
        margin-bottom: 10px;
    }

    .info-bar-grid {
        gap: 15px;
    }
}

/ *   W o r k   P r o c e s s   S e c t i o n   * /     . p r o c e s s - g r i d    {
                 d i s p l a y :    g r i d ;
                 g r i d - t e m p l a t e - c o l u m n s :    r e p e a t ( a u t o - f i t ,    m i n m a x ( 2 5 0 p x ,    1 f r ) ) ;
                 g a p :    4 0 p x ;
                 m a r g i n - t o p :    5 0 p x ;
         
}

         . p r o c e s s - s t e p    {
                 t e x t - a l i g n :    c e n t e r ;
                 p o s i t i o n :    r e l a t i v e ;
                 p a d d i n g :    2 0 p x ;
         
}

         / *   C o n n e c t i n g   L i n e   ( D e s k t o p )   * /     @ m e d i a   ( m i n - w i d t h :   9 9 2 p x )    {
                 . p r o c e s s - s t e p : : a f t e r    {
                             c o n t e n t :    ' '  ;
                             p o s i t i o n :    a b s o l u t e ;
                             t o p :    4 0 p x ;
                             l e f t :    - 5 0 % ;
                             w i d t h :    1 0 0 % ;
                             h e i g h t :    2 p x ;
                             b a c k g r o u n d :    # e 0 e 0 e 0 ;
                             z - i n d e x :    - 1 ;
                     
    }

                     . p r o c e s s - s t e p : f i r s t - c h i l d : : a f t e r    {
                             d i s p l a y :    n o n e ;
                     
    }

         
}

         . s t e p - i c o n    {
                 w i d t h :    8 0 p x ;
                 h e i g h t :    8 0 p x ;
                 b a c k g r o u n d :    v a r ( - - w h i t e ) ;
                 b o r d e r :    2 p x   s o l i d   v a r ( - - p r i m a r y - c o l o r ) ;
                 b o r d e r - r a d i u s :    5 0 % ;
                 d i s p l a y :    f l e x ;
                 a l i g n - i t e m s :    c e n t e r ;
                 j u s t i f y - c o n t e n t :    c e n t e r ;
                 f o n t - s i z e :    1 . 5 r e m ;
                 f o n t - w e i g h t :    b o l d ;
                 c o l o r :    v a r ( - - p r i m a r y - c o l o r ) ;
                 m a r g i n :    0   a u t o   2 0 p x ;
                 p o s i t i o n :    r e l a t i v e ;
                 z - i n d e x :    1 ;
                 b o x - s h a d o w :    0   5 p x   1 5 p x   r g b a ( 0 ,    0 ,    0 ,    0 . 1 ) ;
                 t r a n s i t i o n :    v a r ( - - t r a n s i t i o n ) ;
         
}

         . p r o c e s s - s t e p : h o v e r   . s t e p - i c o n    {
                 b a c k g r o u n d :    v a r ( - - p r i m a r y - c o l o r ) ;
                 c o l o r :    v a r ( - - w h i t e ) ;
                 t r a n s f o r m :    s c a l e ( 1 . 1 ) ;
         
}

         . p r o c e s s - s t e p   h 3    {
                 m a r g i n - b o t t o m :    1 5 p x ;
                 c o l o r :    v a r ( - - t e x t - c o l o r ) ;
         
}

         . p r o c e s s - s t e p   p    {
                 c o l o r :    # 6 6 6 ;
                 f o n t - s i z e :    0 . 9 5 r e m ;
         
}

     / *   T e s t i m o n i a l s   S e c t i o n   * /     . t e s t i m o n i a l s - g r i d    {
                 d i s p l a y :    g r i d ;
                 g r i d - t e m p l a t e - c o l u m n s :    r e p e a t ( a u t o - f i t ,    m i n m a x ( 3 0 0 p x ,    1 f r ) ) ;
                 g a p :    3 0 p x ;
         
}

         . t e s t i m o n i a l - c a r d    {
                 b a c k g r o u n d :    v a r ( - - w h i t e ) ;
                 p a d d i n g :    3 0 p x ;
                 b o r d e r - r a d i u s :    1 5 p x ;
                 b o x - s h a d o w :    0   5 p x   2 0 p x   r g b a ( 0 ,    0 ,    0 ,    0 . 0 5 ) ;
                 p o s i t i o n :    r e l a t i v e ;
                 t r a n s i t i o n :    v a r ( - - t r a n s i t i o n ) ;
         
}

         . t e s t i m o n i a l - c a r d : h o v e r    {
                 t r a n s f o r m :    t r a n s l a t e Y ( - 5 p x ) ;
                 b o x - s h a d o w :    0   1 0 p x   3 0 p x   r g b a ( 0 ,    0 ,    0 ,    0 . 1 ) ;
         
}

         . c l i e n t - q u o t e    {
                 f o n t - s i z e :    4 r e m ;
                 c o l o r :    r g b a ( 0 ,    0 ,    0 ,    0 . 0 5 ) ;
                 p o s i t i o n :    a b s o l u t e ;
                 t o p :    0 p x ;
                 r i g h t :    2 0 p x ;
                 f o n t - f a m i l y :    s e r i f ;
                 l i n e - h e i g h t :    1 ;
         
}

         . t e s t i m o n i a l - c a r d   p    {
                 c o l o r :    # 5 5 5 ;
                 m a r g i n - b o t t o m :    2 0 p x ;
                 p o s i t i o n :    r e l a t i v e ;
                 z - i n d e x :    1 ;
                 f o n t - s t y l e :    i t a l i c ;
         
}

         . c l i e n t - i n f o   s t r o n g    {
                 d i s p l a y :    b l o c k ;
                 c o l o r :    v a r ( - - p r i m a r y - c o l o r ) ;
                 m a r g i n - b o t t o m :    5 p x ;
         
}

         . c l i e n t - i n f o   s p a n    {
                 f o n t - s i z e :    0 . 9 r e m ;
                 c o l o r :    # 8 8 8 ;
         
}

     / *   F A Q   S e c t i o n   * /     . f a q - c o n t a i n e r    {
                 m a x - w i d t h :    8 0 0 p x ;
                 m a r g i n :    0   a u t o ;
         
}

         . f a q - i t e m    {
                 b a c k g r o u n d :    v a r ( - - w h i t e ) ;
                 b o r d e r :    1 p x   s o l i d   # e 0 e 0 e 0 ;
                 m a r g i n - b o t t o m :    1 5 p x ;
                 b o r d e r - r a d i u s :    1 0 p x ;
                 o v e r f l o w :    h i d d e n ;
                 t r a n s i t i o n :    v a r ( - - t r a n s i t i o n ) ;
         
}

         . f a q - i t e m : h o v e r    {
                 b o r d e r - c o l o r :    v a r ( - - p r i m a r y - c o l o r ) ;
         
}

         . f a q - q u e s t i o n    {
                 p a d d i n g :    2 0 p x ;
                 d i s p l a y :    f l e x ;
                 j u s t i f y - c o n t e n t :    s p a c e - b e t w e e n ;
                 a l i g n - i t e m s :    c e n t e r ;
                 c u r s o r :    p o i n t e r ;
                 b a c k g r o u n d :    # f 9 f 9 f 9 ;
         
}

         . f a q - q u e s t i o n   h 3    {
                 f o n t - s i z e :    1 . 1 r e m ;
                 c o l o r :    v a r ( - - t e x t - c o l o r ) ;
                 m a r g i n :    0 ;
         
}

         . f a q - i c o n    {
                 f o n t - s i z e :    1 . 5 r e m ;
                 f o n t - w e i g h t :    b o l d ;
                 c o l o r :    v a r ( - - p r i m a r y - c o l o r ) ;
                 t r a n s i t i o n :    v a r ( - - t r a n s i t i o n ) ;
         
}

         . f a q - a n s w e r    {
                 p a d d i n g :    0   2 0 p x ;
                 m a x - h e i g h t :    0 ;
                 o v e r f l o w :    h i d d e n ;
                 t r a n s i t i o n :    a l l   0 . 4 s   e a s e ;
                 b a c k g r o u n d :    v a r ( - - w h i t e ) ;
         
}

         . f a q - a n s w e r   p    {
                 p a d d i n g :    2 0 p x   0 ;
                 c o l o r :    # 6 6 6 ;
                 b o r d e r - t o p :    1 p x   s o l i d   # e e e ;
         
}

/* ============================================
   FEATURE ICONS (Why Us Section)
============================================ */
.feature-icon {
    font-size: 2.5rem;
    margin-bottom: 15px;
}

#why-us .section-description {
    color: #eee;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}

/* ============================================
   VISION & MISSION BOXES
============================================ */
.vision-mission-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-top: 60px;
}

.vision-box,
.mission-box {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 15px;
    padding: 40px 30px;
    text-align: center;
    transition: var(--transition);
}

.vision-box:hover,
.mission-box:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateY(-5px);
    border-color: var(--primary-color);
}

.vm-icon {
    font-size: 3rem;
    margin-bottom: 15px;
}

.vision-box h3,
.mission-box h3 {
    color: var(--primary-color);
    font-size: 1.5rem;
    margin-bottom: 15px;
}

.vision-box p,
.mission-box p {
    color: #eee;
    line-height: 1.8;
}

@media (max-width: 768px) {
    .vision-mission-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   STATISTICS COUNTER SECTION
============================================ */
.stats-section {
    background: linear-gradient(135deg, var(--primary-color) 0%, #e64a19 100%);
    padding: 80px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    text-align: center;
}

.stat-item {
    padding: 30px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: var(--transition);
}

.stat-item:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-5px);
}

.stat-number {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--white);
    line-height: 1;
    margin-bottom: 10px;
}

.stat-number::after {
    content: '+';
    font-size: 2rem;
    margin-right: 5px;
}

.stat-label {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

/* ============================================
   FOOTER SECTION
============================================ */
.footer {
    background: #1a1a2e;
    color: var(--white);
    padding: 60px 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 40px;
    margin-bottom: 40px;
}

.footer-col h4 {
    font-size: 1.2rem;
    margin-bottom: 20px;
    color: var(--primary-color);
    position: relative;
}

.footer-col h4::after {
    content: '';
    position: absolute;
    bottom: -8px;
    right: 0;
    width: 40px;
    height: 3px;
    background: var(--primary-color);
    border-radius: 2px;
}

.footer-logo img {
    height: 100px;
    width: auto;
    margin-bottom: 15px;
}

.footer-description {
    color: #94a3b8;
    font-size: 0.95rem;
    line-height: 1.8;
}

.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 12px;
}

.footer-links a {
    color: #94a3b8;
    transition: var(--transition);
    font-size: 0.95rem;
}

.footer-links a:hover {
    color: var(--primary-color);
    padding-right: 5px;
}

.footer-contact p {
    color: #94a3b8;
    margin-bottom: 12px;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer-icon {
    font-size: 1.1rem;
}

.footer-social {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.social-link {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    transition: var(--transition);
}

.social-link:hover {
    background: var(--primary-color);
    transform: translateY(-3px);
}

.social-link.whatsapp:hover {
    background: #25d366;
}

.footer-bottom {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom p {
    color: #64748b;
    font-size: 0.9rem;
}

/* Footer Responsive */
@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-number {
        font-size: 2.5rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-col h4::after {
        right: 50%;
        transform: translateX(50%);
    }

    .footer-social {
        justify-content: center;
    }

    .footer-contact p {
        justify-content: center;
    }

    .footer-logo img {
        margin: 0 auto 15px;
    }
}

@media (max-width: 480px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .stat-number {
        font-size: 3rem;
    }
}

/* Value card description styling */
.value-card p {
    color: #666;
    font-size: 0.95rem;
    margin-top: 10px;
    line-height: 1.6;
}

/* ============================================
   SHARE BUTTONS
============================================ */
.share-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 30px 0;
}

.share-label {
    color: #888;
    font-size: 0.95rem;
}

.share-btn {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: var(--transition);
}

.share-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.share-btn.whatsapp {
    background: #25d366;
}

.share-btn.twitter {
    background: #1da1f2;
}

.share-btn.linkedin {
    background: #0077b5;
}

.share-btn.copy {
    background: #666;
}

/* ============================================
   PROJECT DETAILS GRID (Challenge/Solution/Results)
============================================ */
.project-details-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin: 40px 0;
}

.detail-box {
    background: linear-gradient(135deg, rgba(255, 87, 34, 0.05) 0%, rgba(3, 169, 244, 0.05) 100%);
    border: 1px solid rgba(255, 87, 34, 0.2);
    border-radius: 15px;
    padding: 30px;
    text-align: center;
    transition: var(--transition);
}

.detail-box:hover {
    transform: translateY(-5px);
    border-color: var(--primary-color);
    box-shadow: 0 10px 30px rgba(255, 87, 34, 0.15);
}

.detail-icon {
    font-size: 2.5rem;
    margin-bottom: 15px;
}

.detail-box h3 {
    color: var(--primary-color);
    font-size: 1.3rem;
    margin-bottom: 15px;
}

.detail-box p {
    color: #666;
    line-height: 1.7;
}

@media (max-width: 768px) {
    .project-details-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   RELATED PROJECTS
============================================ */
.related-projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.related-project-card {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 15px;
    overflow: hidden;
    transition: var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.related-project-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary-color);
}

.related-project-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.related-project-card .card-content {
    padding: 20px;
}

.related-project-card h3 {
    color: white;
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.related-project-card .category {
    color: var(--primary-color);
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .related-projects-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   LIGHTBOX MODAL
============================================ */
.lightbox {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    align-items: center;
    justify-content: center;
}

.lightbox-content {
    max-width: 90%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 10px;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 40px;
    cursor: pointer;
    transition: var(--transition);
    z-index: 10001;
}

.lightbox-close:hover {
    color: var(--primary-color);
}

.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    font-size: 30px;
    padding: 15px 20px;
    cursor: pointer;
    transition: var(--transition);
    border-radius: 5px;
}

.lightbox-nav:hover {
    background: var(--primary-color);
}

.lightbox-prev {
    left: 20px;
}

.lightbox-next {
    right: 20px;
}

/* Gallery images clickable */
.project-gallery-grid img {
    cursor: pointer;
    transition: var(--transition);
}

.project-gallery-grid img:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* Section description for CTA */
#contact-cta .section-description {
    text-align: center;
    color: #666;
    max-width: 600px;
    margin: 0 auto 30px;
}

/* CTA Section Styles */
.cta-section {
    background: linear-gradient(135deg, var(--primary-color) 0%, #e64a19 50%, var(--secondary-color) 100%);
    padding: 100px 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('background4.png') no-repeat center center/cover;
    opacity: 0.1;
    z-index: 1;
}

.cta-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
}

.cta-content h2 {
    font-size: 2.8rem;
    color: var(--white);
    margin-bottom: 20px;
    font-weight: 700;
}

.cta-content p {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 40px;
    line-height: 1.8;
}

.cta-btn {
    background: var(--white);
    color: var(--primary-color);
    padding: 18px 50px;
    font-size: 1.2rem;
    font-weight: 600;
    border-radius: 50px;
    display: inline-block;
    transition: all 0.4s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.cta-btn:hover {
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
    background: var(--white);
    color: #e64a19;
}

@media (max-width: 768px) {
    .cta-content h2 {
        font-size: 2rem;
    }

    .cta-content p {
        font-size: 1.1rem;
    }

    .cta-btn {
        padding: 15px 40px;
        font-size: 1rem;
    }
}

/* Vision & Mission Section */
.vision-mission-section {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    padding: 100px 0;
    position: relative;
    z-index: 30;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.2);
    margin-bottom: -80px;
}

.vision-mission-section .vision-mission-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top: 50px;
}

.vm-card {
    background: #fff;
    padding: 50px 40px;
    border-radius: 20px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
    text-align: center;
    transition: all 0.4s ease;
    border: 2px solid transparent;
}

.vm-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.12);
}

.vision-card:hover {
    border-color: var(--primary-color);
}

.mission-card:hover {
    border-color: var(--secondary-color);
}

.vm-icon {
    margin-bottom: 25px;
}

.vision-card .vm-icon svg {
    stroke: var(--primary-color);
}

.mission-card .vm-icon svg {
    stroke: var(--secondary-color);
}

.vm-card h3 {
    font-size: 2rem;
    margin-bottom: 20px;
    color: #333;
}

.vision-card h3 {
    color: var(--primary-color);
}

.mission-card h3 {
    color: var(--secondary-color);
}

.vm-main-text {
    font-size: 1.15rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 25px;
}

.vm-list {
    list-style: none;
    padding: 0;
    text-align: right;
}

.vm-list li {
    padding: 12px 0;
    border-bottom: 1px solid #eee;
    color: #666;
    font-size: 1rem;
    position: relative;
    padding-right: 25px;
}

.vm-list li:last-child {
    border-bottom: none;
}

.vm-list li::before {
    content: '✓';
    position: absolute;
    right: 0;
    color: var(--primary-color);
    font-weight: bold;
}

.mission-card .vm-list li::before {
    color: var(--secondary-color);
}

@media (max-width: 768px) {
    .vision-mission-section .vision-mission-grid {
        grid-template-columns: 1fr;
    }

    .vm-card {
        padding: 40px 30px;
    }

    .vm-card h3 {
        font-size: 1.75rem;
    }
}

         . f a q - i t e m . a c t i v e   . f a q - a n s w e r    {
                 m a x - h e i g h t :    2 0 0 p x ;
         
}

         . f a q - i t e m . a c t i v e   . f a q - i c o n    {
                 t r a n s f o r m :    r o t a t e ( 4 5 d e g ) ;
         
}

     