/* Shared visual and responsive enhancements for all pages */
:root {
  --page-tint: #f3f7fb;
  --section-border: rgba(10, 37, 64, 0.09);
  --section-shadow: 0 10px 28px rgba(10, 37, 64, 0.06);
  --section-radius: 18px;
}

body {
  background: linear-gradient(180deg, #f9fbfe 0%, var(--page-tint) 100%);
}

html,
body {
  scroll-behavior: smooth;
}

a,
button,
.btn,
.card,
.service-card,
.service-panel,
.expertise-item,
.blog-card,
.testimonial-card,
.faq-item,
.job-card,
.terms-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

main > section {
  animation: sectionFadeUp 0.6s ease both;
}

@keyframes sectionFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

main {
  padding-bottom: 18px;
}

/* Make content sections visually distinct from each other */
main > section {
  margin: 16px clamp(12px, 3vw, 32px);
  border: 1px solid var(--section-border);
  border-radius: var(--section-radius);
  overflow: clip;
}

/* Keep hero and full-width CTA visually bold */
main > section.hero,
main > section.cta,
main > section[class*="hero"],
main > section[class*="cta"] {
  margin: 0;
  border: 0;
  border-radius: 0;
}

main > section.section,
main > section.contact-section,
main > section.career-section,
main > section.blog-section,
main > section.terms-section {
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--section-shadow);
}

main > section.section.light,
main > section.faq,
main > section.impact-section,
main > section.process-section {
  background: #eef4fb;
}

.container {
  width: min(1120px, 92%);
}

.card:hover,
.service-card:hover,
.service-panel:hover,
.expertise-item:hover,
.blog-card:hover,
.testimonial-card:hover,
.job-card:hover,
.terms-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(10, 37, 64, 0.14);
}

.footer-bottom {
  background: var(--primary);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.85);
}

.footer-bottom a,
.footer-links a,
.copyright {
  color: rgba(255, 255, 255, 0.9);
}

/* Large tablet and down */
@media (max-width: 1024px) {
  .section,
  .hero,
  .cta,
  .contact-section,
  .career-section,
  .blog-section,
  .terms-section {
    padding-top: clamp(58px, 8vw, 78px);
    padding-bottom: clamp(58px, 8vw, 78px);
  }

  .hero-content h1,
  .hero h1,
  #heading1 {
    font-size: clamp(1.95rem, 5.8vw, 2.8rem);
    line-height: 1.22;
  }

  .nav-bar {
    gap: 14px;
  }

  .btn {
    padding: 10px 18px;
  }
}

/* Tablet */
@media (max-width: 820px) {
  main > section {
    margin: 12px;
    border-radius: 14px;
  }

  .split-grid,
  .card-grid,
  .testimonial-grid,
  .cta-grid,
  .footer-grid,
  .blog-grid,
  .jobs-grid,
  .services-grid,
  .contact-grid,
  .contact-wrap,
  .career-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .section-header {
    margin-bottom: 30px;
  }

  .hero-actions,
  .cta-actions {
    width: 100%;
  }

  .hero-actions .btn,
  .cta-actions .btn {
    width: 100%;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .container {
    width: 94%;
  }

  main > section {
    margin: 10px 8px;
    border-radius: 12px;
  }

  .nav-menu {
    right: 3%;
    width: min(94vw, 320px);
  }

  .hero-metrics {
    grid-template-columns: 1fr;
  }

  .footer-bottom-container {
    text-align: center;
  }
}
