/* ============================================================
   Pages Optimization — All non-index pages
   Scoped to body class selectors to never affect index page
   ============================================================ */

/* ---- Shared scope shorthand ---- */
body.about-page,
body.services-page-body,
body.contact-page-body,
body.job-portal-page,
body.policy-page-body {

  /* Disable heavy background animations */
  --anim-duration: 0.3s;

  /* Prevent left-shift at low zoom levels */
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  overflow-x: hidden;
}

/* ============================================================
   DISABLE / SIMPLIFY HEAVY ANIMATIONS
   ============================================================ */

/* gradientMove — aboutus, job-portal */
body.about-page .about-hero-gradient,
body.job-portal-page .job-portal-hero::before {
  animation: none !important;
}

/* patternSlide — aboutus */
body.about-page .about-hero-pattern {
  animation: none !important;
}

/* floatComplex, floatRotate, decorationFloat — aboutus */
body.about-page .about-deco-triangle,
body.about-page .about-deco-dots,
body.about-page .about-deco-square,
body.about-page .image-decoration-1,
body.about-page .image-decoration-2,
body.about-page .image-decoration-3 {
  animation: none !important;
}

/* decorationPulse — aboutus */
body.about-page .image-decoration-bg {
  animation: none !important;
}

/* checkPulse — aboutus */
body.about-page .overlay-card i {
  animation: none !important;
}

/* btnShine — aboutus */
body.about-page .btn-hero-primary .btn-shine,
body.about-page .about-hero-badge .badge-shine {
  animation: none !important;
  display: none;
}

/* backgroundPulse, gradientShift — services */
body.services-page-body .services-hero-background,
body.services-page-body .services-hero-background::before {
  animation: none !important;
}

/* shimmer — services, contact */
body.services-page-body .services-hero-highlight,
body.contact-page-body .contact-hero-highlight {
  animation: none !important;
  filter: none !important;
}

/* floatCard — contact */
body.contact-page-body .contact-hero-card-1,
body.contact-page-body .contact-hero-card-3 {
  animation: none !important;
}

/* shine — contact icon box */
body.contact-page-body .contact-hero-card-icon-box::before {
  animation: none !important;
}

/* pulse-icon — contact */
body.contact-page-body .contact-hero-stats-badge i {
  animation: none !important;
}

/* featuredPulse, featuredGlow — job-portal */
body.job-portal-page .job-featured-badge {
  animation: none !important;
}
body.job-portal-page .job-featured-badge::before {
  animation: none !important;
  display: none;
}

/* pulse on badge icon — job-portal */
body.job-portal-page .job-hero-badge i {
  animation: none !important;
}

/* Reduce all animation delays to near-zero */
body.about-page [style*="animation-delay"],
body.services-page-body [style*="animation-delay"],
body.contact-page-body [style*="animation-delay"],
body.job-portal-page [style*="animation-delay"] {
  animation-delay: 0.05s !important;
}

/* Fade-in animations: keep but make faster */
body.about-page .about-hero-badge,
body.about-page .about-hero-title .title-line,
body.about-page .about-hero-description,
body.about-page .about-hero-buttons,
body.about-page .image-overlay {
  animation-duration: 0.35s !important;
  animation-delay: 0s !important;
}

body.services-page-body .services-hero-label,
body.services-page-body .services-hero-main-title,
body.services-page-body .services-hero-description,
body.services-page-body .services-hero-buttons,
body.services-page-body .services-hero-features {
  animation-duration: 0.35s !important;
  animation-delay: 0s !important;
}

body.contact-page-body .contact-hero-label,
body.contact-page-body .contact-hero-main-title,
body.contact-page-body .contact-hero-description {
  animation-duration: 0.35s !important;
  animation-delay: 0s !important;
}

body.job-portal-page .job-hero-badge,
body.job-portal-page .job-hero-title,
body.job-portal-page .job-hero-description,
body.job-portal-page .job-search-bar,
body.job-portal-page .job-quick-stats {
  animation-duration: 0.35s !important;
  animation-delay: 0s !important;
}

/* ============================================================
   TYPOGRAPHY — Desktop (>1024px)
   ============================================================ */

/* About page */
body.about-page .about-hero-title {
  font-size: clamp(1.7rem, 3vw, 2.6rem);
}
body.about-page .about-hero-description {
  font-size: 1.05rem;
}
body.about-page .section-title {
  font-size: 2rem;
}
body.about-page .about-stat-number {
  font-size: 1.6rem;
}
body.about-page .story-stat-number {
  font-size: 1.5rem;
}
body.about-page .mission-title,
body.about-page .vision-title {
  font-size: 1.6rem;
}
body.about-page .timeline-title {
  font-size: 1.2rem;
}
body.about-page .value-title {
  font-size: 1.2rem;
}

/* Services page */
body.services-page-body .services-hero-main-title {
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  letter-spacing: -1px;
}
body.services-page-body .services-hero-description {
  font-size: 1.05rem;
}
body.services-page-body .section-title-main {
  font-size: 2rem;
}
body.services-page-body .services-stat-number {
  font-size: 2rem;
}
body.services-page-body .service-card-title {
  font-size: 1.3rem;
}
body.services-page-body .services-cta-title {
  font-size: 2rem;
}
body.services-page-body .process-step-title {
  font-size: 1.4rem;
}

/* Contact page */
body.contact-page-body .contact-hero-main-title {
  font-size: clamp(1.8rem, 3.2vw, 2.8rem);
}
body.contact-page-body .contact-hero-description {
  font-size: 1.05rem;
}
body.contact-page-body .contact-form-container h3 {
  font-size: 1.8rem;
}
body.contact-page-body .map-section-title {
  font-size: 1.7rem;
}

/* Job portal page */
body.job-portal-page .job-hero-title {
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  letter-spacing: -1px;
}
body.job-portal-page .job-hero-description {
  font-size: 1.05rem;
}
body.job-portal-page .section-title {
  font-size: 2rem;
}
body.job-portal-page .job-stat-number {
  font-size: 2rem;
}
body.job-portal-page .job-cta-title {
  font-size: 2rem;
}

/* Policy pages */
body.policy-page-body .policy-header h1 {
  font-size: 2rem;
}
body.policy-page-body .policy-content h2 {
  font-size: 1.5rem;
}
body.policy-page-body .policy-content h3 {
  font-size: 1.2rem;
}

/* ============================================================
   SPACING — reduce oversized hero padding on desktop
   ============================================================ */

body.about-page .about-hero {
  min-height: auto;
  padding: 60px 0 70px;
}
body.about-page .about-story-section,
body.about-page .about-values-section,
body.about-page .about-mission-section,
body.about-page .about-team-section,
body.about-page .about-timeline-section,
body.about-page .about-achievements-section {
  padding: 70px 0;
}

body.services-page-body .services-professional-hero {
  padding: 70px 0 100px;
}
body.services-page-body .services-process-section,
body.services-page-body .services-industries-section,
body.services-page-body .services-testimonials-section,
body.services-page-body .services-faq-section,
body.services-page-body .services-grid-section {
  padding: 70px 0;
}

body.contact-page-body .contact-professional-hero {
  padding: 60px 0 80px;
}
body.contact-page-body .contact-form-section {
  padding: 70px 0 60px;
}
body.contact-page-body .map-section {
  padding: 60px 0;
}

body.job-portal-page .job-portal-hero {
  padding: 60px 0 90px;
}
body.job-portal-page .job-categories-section,
body.job-portal-page .job-listings-section,
body.job-portal-page .job-cta-section {
  padding: 70px 0;
}

/* ============================================================
   WILL-CHANGE — remove from static elements
   ============================================================ */
body.about-page .about-hero-gradient,
body.about-page .about-hero-pattern,
body.services-page-body .services-hero-background,
body.contact-page-body .contact-hero-background {
  will-change: auto;
}

/* ============================================================
   TABLET (768px – 1024px)
   ============================================================ */
@media (min-width: 768px) and (max-width: 1024px) {

  body.about-page .about-hero-title {
    font-size: 2rem;
  }
  body.about-page .section-title {
    font-size: 1.7rem;
  }
  body.about-page .about-stat-number {
    font-size: 1.4rem;
  }
  body.about-page .about-hero {
    padding: 50px 0 60px;
  }

  body.services-page-body .services-hero-main-title {
    font-size: 2rem;
    letter-spacing: -0.5px;
  }
  body.services-page-body .section-title-main {
    font-size: 1.7rem;
  }
  body.services-page-body .services-stat-number {
    font-size: 1.8rem;
  }
  body.services-page-body .services-professional-hero {
    padding: 50px 0 80px;
  }

  body.contact-page-body .contact-hero-main-title {
    font-size: 2rem;
  }
  body.contact-page-body .contact-professional-hero {
    padding: 50px 0 60px;
  }

  body.job-portal-page .job-hero-title {
    font-size: 2.2rem;
    letter-spacing: -0.5px;
  }
  body.job-portal-page .section-title {
    font-size: 1.7rem;
  }
  body.job-portal-page .job-stat-number {
    font-size: 1.8rem;
  }
  body.job-portal-page .job-portal-hero {
    padding: 50px 0 70px;
  }

  body.policy-page-body .policy-header h1 {
    font-size: 1.8rem;
  }
}

/* ============================================================
   MOBILE (≤767px)
   ============================================================ */
@media (max-width: 767px) {

  body.about-page .about-hero-title {
    font-size: 1.6rem;
  }
  body.about-page .section-title {
    font-size: 1.5rem;
  }
  body.about-page .about-stat-number {
    font-size: 1.3rem;
  }
  body.about-page .about-hero {
    padding: 40px 0 50px;
  }
  body.about-page .about-story-section,
  body.about-page .about-values-section,
  body.about-page .about-mission-section,
  body.about-page .about-team-section,
  body.about-page .about-timeline-section,
  body.about-page .about-achievements-section {
    padding: 50px 0;
  }

  body.services-page-body .services-hero-main-title {
    font-size: 1.6rem;
    letter-spacing: -0.3px;
  }
  body.services-page-body .section-title-main {
    font-size: 1.5rem;
  }
  body.services-page-body .services-stat-number {
    font-size: 1.6rem;
  }
  body.services-page-body .services-professional-hero {
    padding: 40px 0 60px;
  }
  body.services-page-body .services-process-section,
  body.services-page-body .services-industries-section,
  body.services-page-body .services-testimonials-section,
  body.services-page-body .services-faq-section,
  body.services-page-body .services-grid-section {
    padding: 50px 0;
  }

  body.contact-page-body .contact-hero-main-title {
    font-size: 1.6rem;
  }
  body.contact-page-body .contact-professional-hero {
    padding: 40px 0 50px;
  }
  body.contact-page-body .contact-form-section {
    padding: 50px 0 40px;
  }
  body.contact-page-body .map-section {
    padding: 40px 0;
  }

  body.job-portal-page .job-hero-title {
    font-size: 1.6rem;
    letter-spacing: -0.3px;
  }
  body.job-portal-page .section-title {
    font-size: 1.5rem;
  }
  body.job-portal-page .job-stat-number {
    font-size: 1.6rem;
  }
  body.job-portal-page .job-portal-hero {
    padding: 40px 0 60px;
  }
  body.job-portal-page .job-categories-section,
  body.job-portal-page .job-listings-section,
  body.job-portal-page .job-cta-section {
    padding: 50px 0;
  }

  body.policy-page-body .policy-header h1 {
    font-size: 1.6rem;
  }
  body.policy-page-body .policy-content h2 {
    font-size: 1.3rem;
  }
}

/* ============================================================
   REMOVE ALL HOVER LIFT (translateY flicker) — non-index pages
   ============================================================ */

body.about-page .btn-hero-primary:hover,
body.about-page .btn-hero-secondary:hover,
body.about-page .about-stat-item:hover,
body.about-page .story-highlight-item:hover,
body.about-page .value-card:hover,
body.about-page .team-member:hover,
body.about-page .timeline-content:hover,
body.about-page .achievement-card:hover,
body.about-page .story-image-main img,
body.about-page .btn-cta-primary:hover,
body.about-page .btn-cta-secondary:hover {
  transform: none !important;
}

body.services-page-body .services-hero-label:hover,
body.services-page-body .btn-hero-primary:hover,
body.services-page-body .btn-hero-secondary:hover,
body.services-page-body .services-hero-feature-item:hover,
body.services-page-body .services-stat-card:hover,
body.services-page-body .process-step:hover .process-step-content,
body.services-page-body .industry-card:hover,
body.services-page-body .testimonial-card-style-a:hover,
body.services-page-body .testimonial-card-style-b:hover,
body.services-page-body .section-badge:hover,
body.services-page-body .btn-cta-primary:hover,
body.services-page-body .btn-cta-secondary:hover {
  transform: none !important;
}

/* services-stat-card has scale too — keep border/shadow, drop transform */
body.services-page-body .services-stat-card:hover {
  transform: none !important;
}

body.contact-page-body .contact-submit-btn:hover,
body.contact-page-body .contact-info-item:hover,
body.contact-page-body .contact-info-card:hover,
body.contact-page-body .contact-hero-floating-card:hover,
body.contact-page-body .contact-hero-floating-card:hover .contact-hero-card-icon-box,
body.contact-page-body .map-container:hover,
body.contact-page-body .section-badge:hover,
body.contact-page-body .btn-submit:hover,
body.contact-page-body .contact-hero-label:hover {
  transform: none !important;
}

body.job-portal-page .job-hero-badge:hover,
body.job-portal-page .job-search-btn:hover,
body.job-portal-page .category-card:hover,
body.job-portal-page .job-filter-tab:hover,
body.job-portal-page .job-card:hover,
body.job-portal-page .job-apply-btn:hover,
body.job-portal-page .btn-load-more:hover,
body.job-portal-page .btn-cta-primary:hover,
body.job-portal-page .btn-cta-secondary:hover,
body.job-portal-page .how-it-works-card:hover,
body.job-portal-page .job-stat-item:hover,
body.job-portal-page .job-why-card:hover,
body.job-portal-page .btn-submit:hover,
body.job-portal-page .btn-cancel:hover {
  transform: none !important;
}

/* category-card also has scale — strip both */
body.job-portal-page .category-card:hover {
  transform: none !important;
}




/* ============================================================
   MOBILE PERFORMANCE — aboutus.php (≤767px)
   Kill everything that causes repaints / jank on mobile
   ============================================================ */
@media (max-width: 767px) {

  /* 1. Kill ALL infinite animations on about page */
  body.about-page *,
  body.about-page *::before,
  body.about-page *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.15s !important;
  }

  /* 2. Remove backdrop-filter — biggest GPU killer on mobile */
  body.about-page .about-hero-badge,
  body.about-page header,
  body.about-page .overlay-card,
  body.about-page .story-stats-overlay,
  body.about-page .achievement-card,
  body.about-page .about-cta-section {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* 3. Remove decorative background elements entirely */
  body.about-page .about-hero-pattern,
  body.about-page .about-deco-square,
  body.about-page .about-deco-triangle,
  body.about-page .about-deco-dots,
  body.about-page .about-deco-circle-1,
  body.about-page .about-deco-circle-2,
  body.about-page .image-decoration-bg,
  body.about-page .image-decoration-1,
  body.about-page .image-decoration-2,
  body.about-page .image-decoration-3 {
    display: none !important;
  }

  /* 4. Simplify hero background — no animated gradient */
  body.about-page .about-hero-gradient {
    background: #f8f9ff !important;
    animation: none !important;
  }

  /* 5. Hero layout — single column, no min-height */
  body.about-page .about-hero {
    min-height: unset !important;
    padding: 24px 0 36px !important;
  }
  body.about-page .about-hero-content {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  /* 6. Reduce hero image size on mobile */
  body.about-page .about-hero-img-main {
    max-height: 260px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
  }

  /* 7. Remove complex box-shadows — use simple border instead */
  body.about-page .value-card,
  body.about-page .timeline-content,
  body.about-page .achievement-card,
  body.about-page .story-image-main,
  body.about-page .about-hero-badge {
    box-shadow: none !important;
    border: 1px solid #e5e7eb !important;
  }

  /* 8. Remove gradient text (forces GPU layer) */
  body.about-page .about-hero-title .title-line {
    background: none !important;
    -webkit-text-fill-color: #0C3365 !important;
    color: #0C3365 !important;
  }

  /* 9. Simplify section spacing */
  body.about-page .about-story-section,
  body.about-page .about-values-section,
  body.about-page .about-mission-section,
  body.about-page .about-team-section,
  body.about-page .about-timeline-section,
  body.about-page .about-achievements-section {
    padding: 36px 0 !important;
  }

  /* 10. Remove will-change from everything */
  body.about-page * {
    will-change: auto !important;
  }

  /* 11. Disable AOS transforms — show content immediately */
  body.about-page [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ============================================================
   MOBILE PERFORMANCE — header backdrop-filter (all pages)
   ============================================================ */
@media (max-width: 767px) {
  header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background-color: #ffffff !important;
  }
}
