/* Crizal Consulting - Main Stylesheet */
/* Brand Colors: Orange (#FF6B35) and Dark Grey (#2C3E50) */

:root {
    --primary-orange: #FF6B35;
    --dark-grey: #2C3E50;
    --light-grey: #ECF0F1;
    --text-dark: #080d12;
    --text-light: #080d12;
    --white: #FFFFFF;
    --shadow: rgba(0, 0, 0, 0.1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    line-height: 1.6;
    color: var(--text-dark);
    overflow-x: hidden;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: var(--dark-grey);
}

h1 { font-size: 3rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 2rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }

p {
    margin-bottom: 1rem;
    color: var(--text-dark);
}

a {
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

/* ========================= */
/* HEADER & NAVIGATION */
/* ========================= */

header {
    background: var(--white);
    box-shadow: 0 2px 10px var(--shadow);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all 0.3s ease;
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Logo */
.logo img {
    height: 50px;
    width: auto;
}

/* ========================= */
/* NAVIGATION */
/* ========================= */

nav ul {
    display: flex;
    list-style: none;
    gap: 2rem;
    align-items: center;
}

/* Nav Links */
nav ul li {
    position: relative;
}

nav ul li a {
    font-weight: 500;
    color: var(--dark-grey);
    padding: 0.5rem 1rem;
    border-radius: 5px;
    transition: all 0.3s ease;
}

nav ul li a:hover,
nav ul li a.active {
    color: var(--primary-orange);
}

/* CTA Button */
.cta-button {
    background: var(--primary-orange);
    color: var(--white) !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 5px;
    font-weight: 600;
    border: 2px solid var(--primary-orange);
}

.cta-button:hover {
    background: transparent;
    color: var(--primary-orange) !important;
}

/* ========================= */
/* DROPDOWN */
/* ========================= */

.dropdown {
    position: relative;
}

/* Dropdown Menu */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--white);
    list-style: none;
    padding: 0;
    margin: 0;
    min-width: 220px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
    border-radius: 5px;

    display: none;
    z-index: 1000;
}

/* Dropdown Items */
.dropdown-menu li {
    width: 100%;
}

.dropdown-menu li a {
    display: block;
    padding: 12px 16px;
    color: var(--dark-grey);
    border-radius: 0;
}

/* Hover Effect */
.dropdown-menu li a:hover {
    background: var(--light-grey);
    color: var(--primary-orange);
}

/* Show dropdown */
.dropdown:hover .dropdown-menu {
    display: block;
}

/* Dropdown arrow */
.dropdown > a i {
    margin-left: 6px;
    font-size: 12px;
}

/* ========================= */
/* MOBILE MENU */
/* ========================= */

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--dark-grey);
    cursor: pointer;
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media (max-width: 968px) {

    .header-container {
        padding: 1rem;
    }

    /* Hide desktop nav */
    nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--white);
        box-shadow: 0 5px 20px var(--shadow);
    }

    nav.active {
        display: block;
    }

    /* Stack menu */
    nav ul {
        flex-direction: column;
        gap: 0;
        padding: 1rem;
    }

    nav ul li {
        width: 100%;
    }

    nav ul li a {
        display: block;
        padding: 1rem;
    }

    /* Dropdown mobile */
    .dropdown-menu {
        position: static;
        box-shadow: none;
        display: none;
    }

    .dropdown.open .dropdown-menu {
        display: block;
    }

    /* Show hamburger */
    .mobile-menu-toggle {
        display: block;
    }
}

/* Hero Section */
.hero {
    background: linear-gradient(135deg, var(--dark-grey) 0%, #34495E 100%);
    color: var(--white);
    padding: 150px 2rem 100px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="2" fill="rgba(255,107,53,0.1)"/></svg>');
    opacity: 0.3;
}

.hero-content {
    max-width: 800px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.hero h1 {
    color: var(--white);
    font-size: 3.5rem;
    margin-bottom: 1.5rem;
    animation: fadeInUp 0.8s ease;
}

.hero p {
    font-size: 1.25rem;
    color: var(--light-grey);
    margin-bottom: 2rem;
    animation: fadeInUp 0.8s ease 0.2s backwards;
}

.hero-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    animation: fadeInUp 0.8s ease 0.4s backwards;
}

.btn {
    padding: 1rem 2rem;
    border-radius: 5px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    display: inline-block;
}

.btn-primary {
    background: var(--primary-orange);
    color: var(--white);
    border-color: var(--primary-orange);
}

.btn-primary:hover {
    background: transparent;
    border-color: var(--white);
    color: var(--white);
}

.btn-secondary {
    background: transparent;
    color: var(--white);
    border-color: var(--white);
}

.btn-secondary:hover {
    background: var(--white);
    color: var(--dark-grey);
}
.hero-content {
    animation: fadeUp 3s ease forwards;
    opacity: 0;
}

@keyframes fadeUp {

    0% {
        opacity: 0;
        transform: translateY(40px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }

}

/* Sections */
.section {
    padding: 80px 2rem;
}

.section-light {
    background: var(--white);
}

.section-grey {
    background: var(--light-grey);
}

.section-dark {
    background: var(--dark-grey);
    color: var(--white);
}

.section-dark h2,
.section-dark h3,
.section-dark h4 {
    color: var(--white);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

.section-header {
    text-align: center;
    margin-bottom: 4rem;
}

.section-header h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.section-header .highlight {
    color: var(--primary-orange);
}

.section-header p {
    font-size: 1.1rem;
    color: var(--text-light);
    max-width: 700px;
    margin: 0 auto;
}

/* =========================
   SERVICES GRID
========================= */

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

/* =========================
   PREMIUM SERVICE CARD
========================= */

.service-card {
    position: relative;
    background: #ffffff;
    padding: 2rem;
    border-radius: 24px; /* Apple-style rounded */
    overflow: hidden;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);

    transition:
        transform 0.6s cubic-bezier(0.22,1,0.36,1),
        box-shadow 0.6s cubic-bezier(0.22,1,0.36,1),
        background 0.6s cubic-bezier(0.22,1,0.36,1);
}

/* 🔥 GRADIENT BORDER */
.service-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px; /* match card */
     border: 1.5px solid rgba(0, 120, 255, 0.25);
    padding: 1px;

    background: linear-gradient(
        120deg,
        rgba(0,180,200,0.35),
        rgba(0,120,255,0.35),
        rgba(120,80,255,0.35)
    );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
            mask-composite: exclude;

    opacity: 0;
    transition: opacity 0.4s ease;

    filter: blur(6px); /* soft glow */
}

/* ✨ LIGHT SWEEP */
.service-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;

    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.35),
        transparent
    );

    transition: 0.8s ease;
}

/* 🚀 HOVER EFFECT (SOFT / APPLE STYLE) */
.service-card:hover {
    transform: translateY(-4px) scale(1.005);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);

    background: linear-gradient(
        180deg,
        #ffffff,
        #fafbfd
    );
}

/* SHOW BORDER */
.service-card:hover::before {
    opacity: 1;
}

/* SWEEP ANIMATION */
.service-card:hover::after {
    left: 120%;
}

/* =========================
   ICON
========================= */

.service-icon {
    font-size: 3rem;
    color: var(--primary-orange);
    margin-bottom: 1rem;

    transition: 
        transform 0.5s cubic-bezier(0.22,1,0.36,1),
        color 0.4s ease;
}

.service-card:hover .service-icon {
    transform: translateY(-3px) scale(1.04);
    color: #007BFF;
}

/* =========================
   TEXT
========================= */

.service-card h3 {
    margin-bottom: 1rem;
    color: var(--dark-grey);
    transition: transform 0.4s ease;
}

.service-card p {
    color: var(--text-light);
    margin-bottom: 1.5rem;
    transition: transform 0.4s ease;
}

.service-card:hover h3,
.service-card:hover p {
    transform: translateY(-2px);
}

/* =========================
   LINK
========================= */

.service-card .learn-more {
    color: var(--primary-orange);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
}

.service-card .learn-more:hover {
    gap: 1rem;
}

/* =========================
   CLICK FEEDBACK 
========================= */

.service-card:active {
    transform: scale(0.99);
}



/* .service-card:hover {
    background: linear-gradient(
        180deg,
        #ffffff,
        #f8fafc
    );
} */

/* SHOW BORDER */
.service-card:hover::before {
    opacity: 1;
}

/* SWEEP MOVE */
.service-card:hover::after {
    left: 120%;
}

/* =========================
   ICON
========================= */

/* ICON BASE */
.service-icon {
    font-size: 3rem;
    color: var(--primary-orange);
    margin-bottom: 1rem;

    transition: transform 0.4s ease, color 0.4s ease;
}

/* HOVER ANIMATION */
/* .service-card:hover .service-icon {
    animation: iconSlide 0.6s ease forwards;
    color: #007BFF;
} */
 .service-card:hover .service-icon {
    transform: translateY(-4px) scale(1.05);
    color: #007BFF;
}

/* LEFT → RIGHT → CENTER */
@keyframes iconSlide {
    0% {
        transform: translateX(0);
    }
    30% {
        transform: translateX(12px);
    }
    60% {
        transform: translateX(-6px);
    }
    100% {
        transform: translateX(0);
    }
}

/* =========================
   TEXT
========================= */

.service-card h3 {
    margin-bottom: 1rem;
    color: var(--dark-grey);
    transition: transform 0.3s ease;
}

.service-card p {
    color: var(--text-light);
    margin-bottom: 1.5rem;
    transition: transform 0.3s ease;
}

/* subtle lift */
.service-card:hover h3,
.service-card:hover p {
    transform: translateY(-2px);
}

/* =========================
   LINK
========================= */

/* =========================
   SERVICE CARD LINK
========================= */
.service-card .learn-more {
    color: var(--primary-orange);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.3s ease;
}

/* Arrow movement */
.service-card .learn-more:hover {
    gap: 1rem;
}


/* =========================
   FEATURES GRID (ONE LINE)
========================= */
.features-grid {
    display: grid;
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;

    /* default = 4 per row */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.features-grid:has(.feature-item:nth-child(5):last-child),
.features-grid:has(.feature-item:nth-child(4):last-child) {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.features-grid:has(.feature-item:nth-child(6):last-child) {
    grid-template-columns: repeat(3, 1fr);
}
.features-grid:has(.feature-item:nth-child(7):last-child) {
    grid-template-columns: repeat(4, 1fr);
}



/* =========================
   FEATURE ITEM (CARD)
========================= */
.feature-item {
    text-align: center;
    padding: 2rem;
    border-radius: 12px;
    transition: all 0.3s ease;
}

/* CLEAN PREMIUM HOVER */
.feature-item:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}


/* =========================
   ICON STYLING
========================= */
.feature-icon {
    font-size: 3rem;
    color: var(--primary-orange);
    margin-bottom: 1rem;
    transition: all 0.3s ease;
}

.feature-item:hover .feature-icon {
    transform: scale(1.15);
}

/* INNER ICON EFFECT */
.feature-icon i {
    transition: all 0.3s ease;
}

.feature-item:hover .feature-icon i {
    transform: scale(1.2);
}


/* =========================
   TEXT STYLING
========================= */
.feature-item h4 {
    margin-bottom: 1rem;
    transition: color 0.3s ease;
}

.feature-item:hover h4 {
    color: var(--primary-orange);
}

.feature-item p {
    transition: color 0.3s ease;
}

.feature-item:hover p {
    color: #f1f1f1;
}

/* allow hover layers to not block clicks */
.service-card::before,
.service-card::after {
    pointer-events: none;
}

/* make links always clickable */
.service-card a {
    position: relative;
    z-index: 5;
}

/* make entire card feel clickable */
.service-card {
    cursor: pointer;
}
/* =========================
   BENEFITS SECTION FIX
========================= */

/* Make all text white inside benefits */
.benefits-section .feature-item h4 {
    color: #ffffff;
}

.benefits-section .feature-item p {
    color: rgba(255, 255, 255, 0.85);
}

/* Optional: keep hover consistent */
.benefits-section .feature-item:hover p {
    color: #ffffff;
}


/* Testimonials */
.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.testimonial-card {
    background: var(--white);
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 5px 20px var(--shadow);
    position: relative;
}

.testimonial-quote {
    font-size: 3rem;
    color: var(--primary-orange);
    opacity: 0.3;
    position: absolute;
    top: 1rem;
    left: 1rem;
}

.testimonial-content {
    position: relative;
    z-index: 1;
}

.stars {
    color: #FFC107;
    font-size: 1.2rem;
    margin-bottom: 1rem;
}

.testimonial-text {
    font-style: italic;
    color: var(--text-dark);
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.author-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--primary-orange);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-weight: 700;
    font-size: 1.2rem;
}

.author-info h5 {
    margin-bottom: 0.25rem;
    color: var(--dark-grey);
}

.author-info p {
    font-size: 0.9rem;
    color: var(--text-light);
    margin: 0;
}

/* CTA Section */
.cta-section {
    background: linear-gradient(135deg, var(--primary-orange) 0%, #FF8C5A 100%);
    color: var(--white);
    text-align: center;
    padding: 80px 2rem;
}

.cta-section h2 {
    color: var(--white);
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

.cta-section p {
    color: var(--white);
    font-size: 1.2rem;
    margin-bottom: 2rem;
}

.cta-section .btn {
    background: var(--white);
    color: var(--primary-orange);
    border-color: var(--white);
}

.cta-section .btn:hover {
    background: transparent;
    color: var(--white);
}

/* Contact Form */
/* ========================= */
/* CONTACT SECTION */
/* ========================= */

.contact-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}

/* ========================= */
/* CONTACT INFO CARD */
/* ========================= */

.contact-info {
    background: var(--dark-grey);
    color: var(--white);
    padding: 3rem;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

.contact-info h3 {
    color: var(--white);
    margin-bottom: 2rem;
    font-size: 1.8rem;
}

/* ========================= */
/* CONTACT ITEMS */
/* ========================= */

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 2rem;
    transition: all 0.3s ease;
}

/* Hover premium effect */
.contact-item:hover {
    transform: translateX(6px);
}

/* ICON */
.contact-icon {
    font-size: 1.8rem;
    color: var(--primary-orange);
    min-width: 30px;
}

/* TEXT */
.contact-details h4 {
    color: var(--white);
    margin-bottom: 0.4rem;
    font-size: 1.1rem;
    font-weight: 600;
}

.contact-details p {
    color: var(--light-grey);
    margin: 0;
    line-height: 1.6;
}

/* ========================= */
/* LINKEDIN FIX */
/* ========================= */

.linkedin-item .contact-icon {
    font-size: 1.8rem; /* same as others */
}

.linkedin-item a {
    color: var(--white);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

/* Hover */
.linkedin-item a:hover {
    color: var(--primary-orange);
    text-decoration: underline;
}

/* ========================= */
/* CONTACT FORM */
/* ========================= */

.contact-form {
    background: var(--white);
    padding: 3rem;
    border-radius: 12px;
    box-shadow: 0 5px 20px var(--shadow);
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--dark-grey);
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 0.85rem;
    border: 2px solid var(--light-grey);
    border-radius: 6px;
    font-family: inherit;
    font-size: 1rem;
    transition: all 0.3s ease;
}

/* Focus effect */
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none;
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.1);
}

.form-group textarea {
    resize: vertical;
    min-height: 150px;
}
.form-group:last-child {
    margin-top: 3rem;
}

/* Button */
.form-group .btn {
    width: 100%;
    border: none;
    cursor: pointer;
}
.hero-buttons .btn-primary {
    background: linear-gradient(135deg, #FF6B35, #FF8C5A);
    border: none;
    transition: all 0.3s ease;
}

/* PREMIUM HOVER */
.hero-buttons .btn-primary:hover {
    background: linear-gradient(135deg, #ff5a1f, #ff7a45);
    transform: translateY(-4px) scale(1.02);
    box-shadow: 0 12px 30px rgba(255, 107, 53, 0.5);
}

/* CLICK EFFECT */
.hero-buttons .btn-primary:active {
    transform: translateY(0) scale(1);
    box-shadow: 0 6px 15px rgba(255, 107, 53, 0.3);
}

.contact-form .btn-primary {
    background: var(--primary-orange);
    color: var(--white);
    border: none;
    padding: 1.6rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    width: 100%;
    cursor: pointer;

    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(255, 107, 53, 0.3);
}

/* Hover */
.contact-form .btn-primary:hover {
    background: #ff5a1f;
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(5, 4, 4, 0.4);
}

/* Click */
.contact-form .btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 5px 15px rgba(10, 9, 9, 0.3);
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

@media (max-width: 968px) {
    .contact-container {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .contact-info,
    .contact-form {
        padding: 2rem;
    }
}

/* Footer */
footer {
    background: var(--dark-grey);
    color: var(--white);
    padding: 60px 20px 20px;
}

/* Layout */
.footer-content {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 150px;
}

/* Sections */
.footer-section {
    max-width: 300px;
}

.footer-section h4 {
    margin-bottom: 20px;
    color: var(--white);
}

/* Links */
.footer-section ul {
    list-style: none;
    padding: 0;
}

.footer-section ul li {
    margin-bottom: 12px;
}

.footer-section ul li a {
    color: var(--light-grey);
    text-decoration: none;
    transition: 0.3s;
}

.footer-section ul li a:hover {
    color: var(--primary-orange);
}

/* Contact Items */
.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 15px;
    color: var(--light-grey);
}

.contact-item i {
    color: var(--primary-orange);
    margin-top: 4px;
}

/* Contact links */
.contact-item a {
    color: var(--light-grey);
    text-decoration: none;
}

.contact-item a:hover {
    color: var(--primary-orange);
}

/* Bottom */
.footer-bottom {
    max-width: 1000px;
    margin: 40px auto 0;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,0.5);
    text-align: center;
}

.footer-bottom p {
    color: var(--white);
    font-size: 14px;
}

/* Responsive */
@media (max-width: 768px) {
    .footer-content {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        text-align: center;
    }

    .contact-item {
        justify-content: center;
    }
}


/* Page Header (for internal pages) */



.page-header {
    background: linear-gradient(135deg, var(--dark-grey) 0%, #34495E 100%);
    color: var(--white);
    padding: 150px 2rem 80px;
    text-align: center;
}

.page-header h1 {
    color: var(--white);
    font-size: 3rem;
    margin-bottom: 1rem;
}

.page-header p {
    font-size: 1.2rem;
    color: var(--light-grey);
    max-width: 700px;
    margin: 0 auto;
}

/* Header Layout */
header {
    width: 100%;
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* Main header container */
.header-container{
    max-width:2000px;
    margin:auto;
    padding:12px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

/* navigation */
nav ul{
    display:flex;
    align-items:center;
    gap:28px;
    list-style:none;
    margin:0;
    padding:0;
    white-space:nowrap;
}

nav ul li a{
position:relative;
transition:color 0.3s ease;
}

nav ul li a::after{
content:"";
position:absolute;
left:0;
bottom:-4px;
width:0;
height:2px;
background:#ff6b35;
transition:width 0.3s ease;
}

nav ul li a:hover::after{
width:100%;
}

.logo img{
    height:45px;
    width:auto;
}

/* Menu links */
nav ul li a {
    text-decoration: none;
    font-weight: 500;
    color: #2C3E50;
    font-size: 15px;
}

/* Contact button */
nav ul li .cta-button {
    background: #ff6b35;
    color: rgb(14, 2, 2);
    padding: 10px 16px;
    border-radius: 6px;
}

/* Logo on far right */
.logo{
margin-right:30px;
}

.logo img{
height:45px;
width:auto;
}

/* image for header */
.mobile-menu-toggle img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}




/* Content Sections */
.content-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    margin-bottom: 4rem;
}

.content-section.reverse {
    direction: rtl;
}

.content-section.reverse > * {
    direction: ltr;
}

.content-text h3 {
    margin-bottom: 1rem;
}

.content-text ul {
    list-style: none;
    padding-left: 0;
}

.content-text ul li {
    padding-left: 2rem;
    position: relative;
    margin-bottom: 1rem;
}

.content-text ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--primary-orange);
    font-weight: 700;
    font-size: 1.2rem;
}

.content-image img {
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 10px;
}
.content-mp4 video {
    width: 100%;
    max-width: 500px;
    height: auto;
    border-radius: 10px;
}
.content-section {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 40px;
}

.content-mp4 {
    display: flex;
    justify-content: center;
    align-items: center;
}
/* Stats Section */
.stats-grid {
    display: flex !important;          
    justify-content: center !important; 
    align-items: center;
    gap: 80px;                          
    margin-top: 60px;
    flex-wrap: wrap;                    
}

.stat-item {
    text-align: center;
    min-width: 150px;
}

.stat-number {
    font-size: 3rem;
    font-weight: 700;
    color: var(--primary-orange);
    margin-bottom: 0.5rem;
}

.stat-label {
    font-size: 1.1rem;
    color: var(--text-light);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media(max-width:900px){
    .stats-grid{
        grid-template-columns: repeat(2, auto);
    }
}

@media(max-width:500px){
    .stats-grid{
        grid-template-columns: 1fr;
    }
}

/* Responsive Design */
@media (max-width: 968px) {
    .header-container {
        padding: 1rem;
    }
    
    nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--white);
        box-shadow: 0 5px 20px var(--shadow);
    }
    
    nav.active {
        display: block;
    }
    
    nav ul {
        flex-direction: column;
        padding: 1rem;
        gap: 0;
    }
    
    nav ul li {
        width: 100%;
    }
    
    nav ul li a {
        display: block;
        padding: 1rem;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
    
    .hero h1 {
        font-size: 2.5rem;
    }
    
    .hero-buttons {
        flex-direction: column;
    }
    
    .contact-container,
    .content-section {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    /* .footer-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    } */
        .footer-content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}

@media (max-width: 640px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    h3 { font-size: 1.5rem; }
    
    .section {
        padding: 60px 1rem;
    }
    
    .hero {
        padding: 120px 1rem 60px;
    }
    
    .services-grid,
    .testimonials-grid {
        grid-template-columns: 1fr;
    }
}

/* Utility Classes */
.text-center {
    text-align: center;
}

.text-orange {
    color: var(--primary-orange);
}

.mb-2 {
    margin-bottom: 2rem;
}

.mt-2 {
    margin-top: 2rem;
}


/* =========================
   PRELOADER
========================= */

#preloader{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  background:#2C3E50;
  z-index:9999;
  overflow:hidden;

  opacity:1;
  transform:scale(1);
  transition:
    opacity 0.8s cubic-bezier(0.22,1,0.36,1),
    transform 0.8s cubic-bezier(0.22,1,0.36,1),
    visibility 0.8s;
}

#preloader.hide{
  opacity:0;
  visibility:hidden;
  transform:scale(1.08);
}

/* DARK GRADIENT GLOW  */

#preloader{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:#2C3E50;
  z-index:9999;
  overflow:hidden;
}

/* PREMIUM MOVING BACKGROUND  */
#preloader::before{
  content:'';
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;

  background:
  radial-gradient(circle at 20% 30%, rgba(70,130,180,0.45), transparent 60%), /* steel blue */
  radial-gradient(circle at 80% 70%, rgba(255,255,255,0.10), transparent 70%), /* soft light */
  radial-gradient(circle at 50% 50%, rgba(0,0,0,0.35), transparent 80%);

  background-size:160% 160%;

  animation:bgShift 7s cubic-bezier(0.4,0,0.2,1) infinite;

  z-index:1;
}

/* FASTER + SMOOTHER FLOW */
@keyframes bgShift{
  0%{
    background-position:0% 0%;
  }
  50%{
    background-position:100% 100%;
  }
  100%{
    background-position:0% 0%;
  }
}

/* CLEAN HIDE */
#preloader.hide{
  opacity:0;
  visibility:hidden;
  transition:opacity 0.8s cubic-bezier(0.22,1,0.36,1);
}

/* hide */
#preloader.hide{
  opacity:0;
  visibility:hidden;
}

/* container */
.loading-container{
  width:100%;
  max-width:700px;
  text-align:center;
  color:#fff;
  position:relative;
}

/* progress line */
.loading-container::before{
  content:'';
  position:absolute;
  width:100%;
  height:3px;
  background:#ffffff;
  bottom:-15px;
  left:0;
  border-radius:10px;

  animation:movingLine 5s infinite ease-in-out;
}
#preloader.hide{
    opacity:0;
    visibility:hidden;
    transform:scale(1.05);
}


/* text container */
.loading-text{
  font-size:60px;
  font-weight:700;
  letter-spacing:8px;
  margin-bottom:40px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:nowrap;   /* prevents line break */
  gap:6px;
  animation:floatText 3s ease-in-out infinite;
  position:relative;
}

/* word spacing */
.loading-text .space{
  width:35px;
}

/* letters */
.loading-text span{

    display:inline-block;
    opacity:0;
    
    transform:translateY(60px) scale(0.85);
    filter:blur(0px);

    animation:premiumReveal 0.8s cubic-bezier(0.22,1,0.36,1) forwards;
    animation-delay:calc(0.05s * var(--i));

    color:#ffffff;
    text-shadow:0 0 25px rgba(255, 255, 255, 0.25);

}

/* LETTER ANIMATION */
@keyframes premiumReveal{

    0%{
        opacity:0;
        transform:translateY(30px) scale(0.85);
        filter:blur(12px);
    }

    60%{
        opacity:1;
        transform:translateY(-8px) scale(1.05);
        filter:blur(0);
    }

    100%{
        opacity:1;
        transform:translateY(0) scale(1);
    }

}

/* progress animation */
@keyframes movingLine{
  0%{
    opacity:0;
    width:0;
  }

  33%,66%{
    opacity:0.8;
    width:100%;
  }

  70%{
    width:0;
    right:0;
    left:auto;
    opacity:1;
  }

  100%{
    opacity:0;
    width:0;
  }
}



/* Scroll Reveal Animation */
.reveal{
opacity:0;
transform:translateY(60px);
transition:all 0.6s ease;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

html {

    scroll-behavior: smooth;

}

/* SCROLL REVEAL */

.reveal {

    opacity: 0;

    transform: translateY(60px);

    transition: opacity 0.8s ease, transform 0.8s ease;

}

.reveal.active {

    opacity: 1;

    transform: translateY(0);


}

/* our impact animations*/
.stats-grid{

    display:grid;

    grid-template-columns: repeat(5,1fr);

    gap:40px;

    margin-top:60px;

    text-align:center;

}

@media(max-width:900px){

    .stats-grid{

        grid-template-columns: repeat(2,1fr);

    }

}

.stat-item{

    padding:30px 20px;

    transition:transform 0.4s ease;

}

.stat-item:hover{

    transform:translateY(-8px);

}

.stat-number{

    font-size:3.2rem;

    font-weight:700;

    color:#FF6B35;

    margin-bottom:10px;

    letter-spacing:1px;

}

.stat-label{

    font-size:0.95rem;

    color:#B0BEC5;

}

.stat-item {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.6s ease;
}

/* When active */
.stat-item.show {
    opacity: 1;
    transform: translateY(0);
}



/* .stat-item:nth-child(1){animation-delay:0.1s;}
.stat-item:nth-child(2){animation-delay:0.2s;}
.stat-item:nth-child(3){animation-delay:0.3s;}
.stat-item:nth-child(4){animation-delay:0.4s;}
.stat-item:nth-child(5){animation-delay:0.5s;} */

/* @keyframes statFade{

    to{

        opacity:1;

        transform:translateY(0);

    }

} */

/* background animation*/

.hero{
    background: linear-gradient(270deg,#2C3E50,#34495E,#FF6B35,#2C3E50);
    background-size: 600% 600%;
    animation: gradientMove 12s ease infinite;
}

@keyframes gradientMove{
    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}
}


.particles span{
    position:absolute;
    width:18px;
    height:18px;
    background:#FF6B35;
    border-radius:50%;
    animation: float 10s linear infinite;
}

.particles span:nth-child(1){left:10%; animation-duration:8s;}
.particles span:nth-child(2){left:30%; animation-duration:12s;}
.particles span:nth-child(3){left:50%; animation-duration:10s;}
.particles span:nth-child(4){left:70%; animation-duration:14s;}
.particles span:nth-child(5){left:90%; animation-duration:9s;}

@keyframes float{
    0%{
        transform:translateY(100vh);
        opacity:0;
    }
    50%{
        opacity:1;
    }
    100%{
        transform:translateY(-10vh);
        opacity:0;
    }
}

/*
.hero::after{
content:'';
position:absolute;
width:100%;
height:100%;
background-image:
linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
background-size:40px 40px;
animation:gridMove 20s linear infinite;
}

@keyframes gridMove{
0%{background-position:0 0;}
100%{background-position:400px 400px;}
*/

/* =========================
   PAGE TRANSITION
========================= */


/* smooth base */
body{
  opacity: 1;
  transition: 
    opacity 0.5s cubic-bezier(0.22,1,0.36,1),
    transform 0.5s cubic-bezier(0.22,1,0.36,1);
}

/* fade out on click */
body.fade-out{
  opacity: 0;
  transform: scale(1.01); /* very subtle */
}

/* fade in on load */
body.fade-in{
  opacity: 0;
}


/* =========================
   Privacy Policy
========================= */
/* Privacy Policy Styling */
/* .privacy-policy .policy-content {
    max-width: 900px;
    margin: 0 auto;
}

.privacy-policy h2 {
    margin-top: 2rem;
    font-size: 1.8rem;
    color: var(--dark-grey);
}

.privacy-policy p {
    line-height: 1.8;
    color: var(--text-dark);
}

.privacy-policy ul {
    margin: 1rem 0 1.5rem 1.5rem;
}

.privacy-policy ul li {
    margin-bottom: 0.5rem;
    line-height: 1.6;
}

/* Container spacing */
/* .privacy-modern {
    padding: 80px 2rem;
} */ */

/* Grid layout */
.privacy-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

/* Card styling */
.policy-card {
    background: #ffffff;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

/* Hover effect (subtle premium feel) */
.policy-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(0,0,0,0.12);
}

/* Heading styling */
.policy-card h2 {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.6rem;
    margin-bottom: 1rem;
}

/* Icon styling */
.policy-card h2 i {
    color: #FF6B35;
    font-size: 1.4rem;
}

/* Paragraph spacing */
.policy-card p {
    line-height: 1.8;
    color: #555;
    font-size: 1rem;
}

/* Better spacing between sections */
.policy-card + .policy-card {
    margin-top: 0.5rem;
}
.privacy-content {
    max-width: 1100px;
    margin: 0 auto;
}
.policy-card {
    background: #ffffff;
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.06);
    transition: all 0.35s ease;
    position: relative;
    overflow: hidden;
}

/*  Main hover effect */
.policy-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
}

/*  Subtle glow border effect */
.policy-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 12px;
    padding: 1px;
    background: linear-gradient(120deg, #FF6B35, transparent, #FF6B35);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.policy-card:hover::before {
    opacity: 1;
}

/* Icon animation */
.policy-card h2 i {
    transition: transform 0.3s ease, color 0.3s ease;
}

.policy-card:hover h2 i {
    transform: scale(1.5) ;
    color: #FF6B35;
}

/*  Text subtle lift */
.policy-card:hover p {
    color: #333;
}



/* =========================
   bullet and about us page
========================= */


.about-bullets .content-text ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem 2rem;
    list-style: none;
    padding-left: 0;
}

.about-bullets .content-text ul li {
    padding-left: 1.8rem;
    position: relative;
}

@media (max-width: 640px) {
    .about-bullets .content-text ul {
        grid-template-columns: 1fr;
    }
}
.full-width-text {
    max-width: 100%;
}

.two-column-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem 2rem;
    list-style: none;
    padding-left: 0;
}

.two-column-list li {
    padding-left: 1.8rem;
    position: relative;
}

/* Mobile */
@media (max-width: 640px) {
    .two-column-list {
        grid-template-columns: 1fr;
    }
}

