/* Hero Section */
.hero-section {
    padding: 180px 0 120px; position: relative;
    background: linear-gradient(to right, rgba(255,255,255,0.95) 0%, rgba(248,250,252,0.85) 100%), url('../images/hero-bg-skyline.jpg') center/cover no-repeat;
}
.hero-container { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: center; }
.hero-content h1 { font-size: 54px; line-height: 1.15; color: var(--primary-blue); font-weight: 700; margin-bottom: 24px; }
.hero-content h1 span { color: var(--primary-gold); }
.hero-subtitle { font-size: 18px; color: var(--text-light); margin-bottom: 30px; max-width: 90%; }
.hero-subtitle strong { color: var(--primary-blue); font-weight: 600; }
.hero-features { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 40px; }
.hero-features li { display: flex; align-items: center; gap: 12px; font-weight: 500; color: var(--text-dark); font-size: 15px; }
.hero-buttons { display: flex; gap: 20px; }
.hero-image { position: relative; border-radius: 12px; }
.hero-image .main-img { border-radius: 12px; box-shadow: var(--shadow-lg); width: 100%; }
.icai-badge { position: absolute; top: -20px; right: -20px; background: #fff; padding: 15px; border-radius: 12px; box-shadow: var(--shadow-md); width: 80px; }

/* Trust Bar */
.trust-bar-section { position: relative; z-index: 10; margin-top: -60px; }
.trust-bar {
    display: flex; justify-content: space-between; align-items: center;
    background: var(--white); padding: 35px 40px; border-radius: 12px;
    box-shadow: 0 15px 40px rgba(15, 36, 65, 0.08); text-align: center;
}
.trust-item { flex: 1; position: relative; padding: 0 15px; }
.trust-item:not(:last-child)::after {
    content: ''; position: absolute; right: 0; top: 10%; height: 80%; width: 1px; background: var(--border-color);
}
.trust-item img { height: 40px; margin: 0 auto 15px; }
.trust-item h4 { font-size: 18px; color: var(--primary-blue); margin: 0 0 4px; font-weight: 700; }
.trust-item p { font-size: 12px; color: var(--text-light); margin: 0; font-weight: 500; }

/* About Section */
.about-container { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.about-image { position: relative; }
.about-image img { border-radius: 12px; width: 100%; }
.experience-badge {
    position: absolute; bottom: 30px; left: -30px; background: var(--white);
    padding: 24px; border-radius: 12px; box-shadow: var(--shadow-lg); text-align: center;
    border-left: 4px solid var(--primary-gold);
}
.exp-number { display: block; font-size: 32px; font-weight: 700; color: var(--primary-blue); line-height: 1; margin-bottom: 5px; }
.exp-text { font-size: 13px; color: var(--text-light); font-weight: 500; line-height: 1.3; }
.about-content h2 { margin-bottom: 20px; }
.about-content p { color: var(--text-light); font-size: 16px; margin-bottom: 30px; line-height: 1.8; }

/* Services Grid */
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.service-card {
    background: var(--white); padding: 40px 30px; border-radius: 12px;
    border: 1px solid var(--border-color); transition: var(--transition);
    display: flex; gap: 20px; align-items: flex-start;
}
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: transparent; }
.service-icon img { width: 50px; height: auto; }
.service-content h3 { font-size: 20px; margin: 0 0 12px; color: var(--primary-blue); line-height: 1.3; }
.service-content p { color: var(--text-light); font-size: 14px; margin-bottom: 20px; line-height: 1.6; }
.read-more { color: var(--primary-gold); font-weight: 600; font-size: 14px; display: inline-flex; align-items: center; }

/* Why Us */
.why-us-container { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.why-us-image img { border-radius: 12px; width: 100%; }
.custom-checklist li { display: flex; align-items: center; gap: 15px; font-size: 16px; font-weight: 500; color: var(--text-dark); margin-bottom: 20px; }
.custom-checklist img { width: 24px; }

/* Process Section */
.process-timeline { display: flex; justify-content: space-between; position: relative; margin-top: 60px; }
.process-timeline::before {
    content: ''; position: absolute; top: 40px; left: 5%; width: 90%; height: 0;
    border-top: 2px dashed #e2e8f0; z-index: 1;
}
.process-step { flex: 1; position: relative; z-index: 2; padding: 0 15px; }
.process-icon {
    width: 80px; height: 80px; background: var(--white); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    box-shadow: var(--shadow-md); margin: 0 auto 25px; border: 2px solid var(--primary-gold);
}
.step-num { display: block; font-size: 13px; font-weight: 700; color: var(--primary-gold); text-transform: uppercase; margin-bottom: 8px; }
.process-step h4 { font-size: 18px; color: var(--primary-blue); margin: 0 0 10px; }
.process-step p { font-size: 14px; color: var(--text-light); }

/* Industries */
.industries-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 20px; margin-top: 40px; }
.industry-item { text-align: center; }
.industry-item img { width: 48px; height: 48px; margin: 0 auto 15px; transition: var(--transition); }
.industry-item:hover img { transform: scale(1.1); }
.industry-item p { font-size: 14px; font-weight: 500; color: var(--primary-blue); }

/* Statistics */
.stats-banner {
    background: var(--primary-blue); border-radius: 16px; display: flex;
    justify-content: space-around; align-items: center; padding: 50px 20px;
    margin: 40px 0; box-shadow: var(--shadow-lg);
}
.stat-item { text-align: center; color: var(--white); }
.stat-number { font-size: 48px; font-weight: 700; color: var(--primary-gold); }
.stat-plus { font-size: 48px; font-weight: 700; color: var(--primary-gold); }
.stat-item p { font-size: 16px; margin: 5px 0 0; font-weight: 500; }
.stat-divider { width: 1px; height: 60px; background: rgba(255,255,255,0.2); }

/* Testimonials */
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-bottom: 40px; }
.testimonial-card {
    background: var(--white); padding: 40px 30px; border-radius: 12px;
    box-shadow: var(--shadow-sm); text-align: left; position: relative; border: 1px solid var(--border-color);
}
.stars { color: var(--primary-gold); font-size: 20px; letter-spacing: 2px; margin-bottom: 20px; }
.quote-mark { position: absolute; top: 20px; right: 30px; font-size: 80px; color: var(--bg-light); font-family: serif; line-height: 1; z-index: 0; }
.review-text { font-size: 15px; color: var(--text-light); font-style: italic; margin-bottom: 30px; position: relative; z-index: 1; }
.reviewer { display: flex; align-items: center; gap: 15px; border-top: 1px solid var(--border-color); padding-top: 20px; }
.reviewer img { width: 50px; height: 50px; border-radius: 50%; object-fit: cover; }
.reviewer-info h4 { margin: 0; font-size: 16px; color: var(--primary-blue); }
.reviewer-info span { font-size: 13px; color: var(--text-light); }
.slider-dots { display: flex; justify-content: center; gap: 8px; }
.dot { width: 10px; height: 10px; background: #cbd5e1; border-radius: 50%; cursor: pointer; transition: var(--transition); }
.dot.active { background: var(--primary-gold); width: 24px; border-radius: 5px; }

/* FAQ */
.faq-accordion { display: flex; flex-direction: column; gap: 16px; }
.faq-item { border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; }
.faq-question {
    width: 100%; text-align: left; background: var(--white); border: none;
    padding: 20px 24px; font-size: 16px; font-weight: 600; color: var(--primary-blue);
    cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: var(--transition);
}
.faq-question:hover { background: var(--bg-light); color: var(--primary-gold); }
.faq-icon { font-size: 24px; font-weight: 300; transition: transform 0.3s; }
.faq-question[aria-expanded="true"] .faq-icon { transform: rotate(45deg); color: var(--primary-gold); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; background: var(--white); }
.faq-answer p { padding: 0 24px 20px; margin: 0; color: var(--text-light); font-size: 15px; }

/* CTA Banner */
.cta-banner-section { margin-top: 40px; }
.cta-banner {
    background: linear-gradient(rgba(15,36,65,0.9), rgba(15,36,65,0.9)), url('../images/cta-bg-chandigarh.jpg') center bottom/cover no-repeat;
    border-radius: 16px 16px 0 0; padding: 80px 40px; text-align: center; color: var(--white);
}
.cta-content h2 { color: var(--white); font-size: 36px; margin-bottom: 15px; }
.cta-content p { font-size: 18px; color: #cbd5e1; margin-bottom: 40px; }
.cta-buttons { display: flex; justify-content: center; align-items: center; gap: 30px; }
.btn-phone { display: flex; align-items: center; gap: 15px; color: var(--white); text-align: left; }
.btn-phone img { width: 44px; height: 44px; }
.phone-text span { display: block; font-size: 13px; color: #cbd5e1; }
.phone-text strong { display: block; font-size: 20px; font-weight: 700; }