:root {
    --color-bg: #FFFFFF;
    --color-bg-secondary: #F7F7F7;
    --color-bg-tertiary: #F2F2F2;
    --color-bg-accent: #ECECEC;
    --color-text: #4C4C4C;
    --color-accent: #6A4C93;
}

[data-theme="dark"] {
    --color-bg: #1E1E1E;
    --color-bg-secondary: #2A2A2A;
    --color-bg-tertiary: #262626;
    --color-bg-accent: #333333;
    --color-text: #EAEAEA;
    --color-accent: #9E87C5;
}

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

html, body { overflow-x:hidden; scroll-behavior:smooth; }

body {
    font-family:'Open Sans', sans-serif;
    color:var(--color-text);
    background:var(--color-bg);
}

/* All links styling */
a {
    color: var(--color-accent);
    text-decoration: underline;
    transition: color 0.3s;
}
a:hover {
    color: #4F2F70; /* Slightly darker shade for hover */
}

/* Removed any body::before background pattern or shading */
/* No text-shadow on normal text */

header {
    position:fixed; top:0; width:100%; z-index:1000;
    background:rgba(255,255,255,0.9);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    transition:background 0.3s;
}
[data-theme="dark"] header {
    background:rgba(30,30,30,0.9);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}

.nav-container {
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 50px;
}

.nav-logo img { height:50px; transition:transform 0.3s; }
.nav-logo img:hover { transform:scale(1.05); }
[data-theme="dark"] .nav-logo img { filter:brightness(2); }

.nav-right { display:flex; align-items:center; }
nav[role="navigation"] ul { list-style:none; display:flex; }
nav[role="navigation"] ul li { margin-left:30px; }

.theme-toggle {
    margin-left:20px; cursor:pointer; font-size:1.2em;
    border:none; background:transparent; color:var(--color-text); transition:color 0.3s;
}
.theme-toggle:hover { color:var(--color-accent); }

.hamburger {
    display:none; flex-direction:column; gap:5px;
    background:transparent; border:none; cursor:pointer;
}
.hamburger span {
    width:25px; height:3px; background:var(--color-text);
    display:block; transition:transform 0.3s;
}

.mobile-nav-overlay {
    position:fixed; top:0; left:0; right:0; bottom:0;
    background:var(--color-bg);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    display:none; justify-content:center; align-items:center;
    z-index:2000; padding:20px;
}
.mobile-nav-content {
    text-align:center; position:relative; 
    padding-top:80px;
}
.close-mobile-nav {
    position:absolute; top:20px; right:20px;
    background:transparent; border:none; font-size:2em; color:var(--color-text); cursor:pointer;
}
.close-mobile-nav:hover { color:var(--color-accent); }
.mobile-nav-links { list-style:none; padding:0; margin-bottom:30px; }
.mobile-nav-links li { margin:20px 0; }

.mobile-theme-toggle {
    font-size:1.5em; border:none; background:transparent;
    color:var(--color-text); cursor:pointer;
}
.mobile-theme-toggle:hover { color:var(--color-accent); }
body.nav-open .mobile-nav-overlay { display:flex; }

.hero {
    position:relative; height:100vh; margin-top:80px;
    background:url('../images/hero.webp') no-repeat center center/cover;
}
.hero-overlay {
    position:absolute; top:0; left:0; width:100%; height:100%;
    background:linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.3));
    display:flex; align-items:center; justify-content:center; color:#fff; text-align:center; z-index:1;
}
.hero-content { z-index:2; }
.hero h1 { font-size:3rem; margin-bottom:1rem; font-family:'Montserrat',sans-serif; }
.hero p { font-size:1.5rem; margin-bottom:2rem; }
.cta-buttons {
    display:flex; flex-wrap:wrap; gap:20px; justify-content:center; align-items:center;
}
.cta-buttons a {
    color:#fff; background:var(--color-accent);
    padding:15px 30px; border-radius:5px; transition:background 0.3s, transform 0.3s;
    text-decoration:underline;
}
.cta-buttons a:hover {
    background:#5C3E81; transform:translateY(-3px); color:#fff;
}

.about {
    padding:100px 50px; text-align:center; background:var(--color-bg);
}
.about h2 {
    font-family:'Montserrat',sans-serif; font-size:2.5em; color:var(--color-accent); margin-bottom:40px;
}
.about p { max-width:800px; margin:0 auto 60px; font-size:1.1em; line-height:1.6; }

.leadership {
    display:flex; flex-wrap:nowrap; justify-content:center; gap:40px;
}
.leader {
    flex:1 1 300px; max-width:350px; text-align:center;
}
.leader img {
    width:150px; height:150px; border-radius:50%; margin-bottom:20px; transition:transform 0.3s;
}
.leader img:hover { transform:scale(1.1); }
.leader h3 {
    font-family:'Montserrat',sans-serif; color:var(--color-text); margin-bottom:10px;
}
.leader p { font-size:0.95em; color:var(--color-text); line-height:1.5; }

.differentiators {
    max-width:800px; margin:60px auto 0; text-align:center;
}
.differentiators h4 {
    font-family:'Montserrat',sans-serif; font-size:1.8em; color:var(--color-accent); margin-bottom:40px;
}
.highlights-grid {
    display:grid; grid-template-columns:repeat(2,1fr); gap:30px; margin:0 auto;
}
.highlight-card {
    background: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)), url('../images/card-bg1.jpg') center/cover;
    border-radius:10px; padding:40px 20px; box-shadow:0 4px 6px rgba(0,0,0,0.1); transition:transform 0.3s;
}
[data-theme="dark"] .highlight-card {
    background: linear-gradient(rgba(30,30,30,0.7),rgba(30,30,30,0.7)), url('../images/card-bg1-dark.jpg') center/cover;
}
.highlight-card:hover { transform:translateY(-5px); }
.highlight-card h5 {
    font-family:'Montserrat',sans-serif; font-size:1.2em; color:var(--color-accent); margin-bottom:15px;
}
.highlight-card p { font-size:0.95em; line-height:1.5; color:var(--color-text); }

.services {
    padding:100px 50px; text-align:center; background: var(--color-bg-secondary);
}
.services h2 {
    font-family:'Montserrat',sans-serif; font-size:2.5em; color:var(--color-accent); margin-bottom:40px;
}
.services-grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:30px;
}
.service-card {
    background: linear-gradient(rgba(255,255,255,0.8), rgba(255,255,255,0.8)), url('../images/card-bg2.jpg') center/cover;
    border-radius:10px; padding:30px; box-shadow:0 4px 6px rgba(0,0,0,0.1); transition:transform 0.3s;
}
[data-theme="dark"] .service-card {
    background: linear-gradient(rgba(30,30,30,0.8),rgba(30,30,30,0.8)), url('../images/card-bg2-dark.jpg') center/cover;
}
.service-card:hover { transform:translateY(-10px); }
.service-card h3 {
    font-family:'Montserrat',sans-serif; color:var(--color-text); margin-bottom:20px;
}
.service-card p { color:var(--color-text); line-height:1.6; }

.more-services { text-align:center; }
.extra-spacing { margin-top:40px; }

.industry-expertise {
    padding:100px 50px; text-align:center; background:var(--color-bg-tertiary);
}
.industry-expertise h2 {
    font-family:'Montserrat',sans-serif; font-size:2.5em; color:var(--color-accent); margin-bottom:20px;
}
.industry-expertise p {
    max-width:800px; margin:0 auto 40px; font-size:1.1em; line-height:1.6; color:var(--color-text);
}
.industry-grid {
    display:flex; flex-wrap:wrap; gap:20px; justify-content:center; margin-top:30px;
}

.industry-item {
    flex:1 1 300px; max-width:300px; position:relative; border-radius:10px; box-shadow:0 4px 6px rgba(0,0,0,0.1);
    background-position:center; background-size:cover; overflow:hidden; transition:transform 0.3s; color:#fff;
}
.industry-item::before {
    content:""; position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.5); z-index:1;
}
.industry-item-content {
    position:relative; z-index:2; padding:20px;
}
.industry-item:hover { transform:translateY(-10px); }
.industry-item h3,
.industry-item p {
    /* Removed text-shadow here to avoid any shadow in normal text */
    color:#fff;
}
.industry-item h3 { font-size:1.2em; margin-bottom:10px; }
.industry-item p { font-size:0.95em; line-height:1.4; }

.industry-item.finance { background-image:url('../images/finance.webp'); }
.industry-item.healthcare { background-image:url('../images/healthcare.webp'); }
.industry-item.retail { background-image:url('../images/retail.webp'); }
.industry-item.telecom { background-image:url('../images/telecom.webp'); }
.industry-item.energy { background-image:url('../images/energy.webp'); }
.industry-item.government { background-image:url('../images/government.webp'); }

.contact {
    padding:100px 50px; text-align:center; background:var(--color-bg-accent);
}
.contact h2 {
    font-family:'Montserrat',sans-serif; font-size:2.5em; color:var(--color-accent); margin-bottom:20px;
}
.location { margin-bottom:40px; }
.contact-form {
    max-width:600px; margin:0 auto; text-align:left;
}
.contact-form label { margin-bottom:5px; display:block; }
.contact-form input, .contact-form textarea {
    width:100%; padding:15px; margin-bottom:20px; border:1px solid #A6A6A6; border-radius:5px;
    font-size:1em; color:var(--color-text); background:var(--color-bg);
}
.row { display:grid; grid-template-columns:1fr 2fr; gap:20px; }
.contact-form button {
    width:100%; padding:15px; border:none; border-radius:5px;
    background:var(--color-accent); color:#fff; font-size:1.2em; cursor:pointer; transition:background 0.3s, transform 0.3s;
}
.contact-form button:hover { background:#5C3E81; transform:translateY(-5px); }
.form-feedback { margin-top:15px; display:none; text-align:left; }
.form-feedback.success { color:green; }
.form-feedback.error { color:red; }

footer {
    background:#4C4C4C; color:#fff; padding:30px 20px; text-align:center;
    border-top:1px solid rgba(255,255,255,0.2); font-size:0.9em;
}
.footer-links { margin-bottom:10px; }
.footer-links a {
    color:#fff; margin:0 10px; font-weight:500; 
}
.footer-links a:hover { color:#A6A6A6; }
footer p { margin-bottom:8px; }

[data-theme="dark"] footer {
    background:#2A2A2A; border-top:1px solid rgba(255,255,255,0.1);
}

@media (max-width: 768px) {
    .nav-container { padding:10px 20px; }
    nav[role="navigation"], .desktop-theme-toggle { display:none; }
    .hamburger { display:flex; }

    .leadership { flex-wrap:wrap; }
    .leader { max-width:100%; }

    .highlights-grid { grid-template-columns:1fr; }

    .row { grid-template-columns:1fr; }

    .hero h1 { font-size:2rem; }
    .hero p { font-size:1rem; margin-bottom:1rem; }
    .cta-buttons {
        flex-direction:column; align-items:center; gap:10px; justify-content:center;
    }
    .cta-buttons a {
        margin:0; width:80%; max-width:250px; text-align:center;
    }
}

@media (max-width: 992px) {
    .services-grid {
        grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    }
}
