/* Homepage about section improvements */
.about-summary-card, .about-leadership-card, .about-reputation-card, .about-entities-card {
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,102,204,0.08);
}
.about-summary-card ul, .about-leadership-card ul, .about-reputation-card ul, .about-entities-card ul {
  font-size: 1.05rem;
}
/* Homepage improvements */
.service-card {
  border-radius: 1.25rem;
  background: #fff;
  transition: box-shadow 0.3s, transform 0.3s;
}
.service-card:hover {
  box-shadow: 0 8px 32px rgba(0,102,204,0.12);
  transform: translateY(-6px) scale(1.04);
}
.counter-card {
  background: #fff;
  border-radius: 1.25rem;
  box-shadow: 0 2px 8px rgba(0,102,204,0.08);
  min-height: 120px;
}
.newsletter-form input[type="email"] {
  min-width: 220px;
  border-radius: 0.5rem 0 0 0.5rem;
}
.newsletter-form button {
  border-radius: 0 0.5rem 0.5rem 0;
}
.alert-success {
  background: linear-gradient(90deg,#e0ffe7 0,#d0f5e8 100%);
  color: #218838;
  border: none;
  border-radius: 0.75rem;
  font-size: 1.1rem;
}
.fade-in {opacity: 0; transform: translateY(20px); transition: opacity 0.8s, transform 0.8s;}
.fade-in.show {opacity: 1; transform: none;}
/* About page improvements */
.about-card {
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,102,204,0.08);
}
.about-timeline {
  border-left: 3px solid #0066cc22;
  margin-left: 0.5rem;
  padding-left: 1.5rem;
}
.timeline-item {
  position: relative;
  margin-bottom: 0.75rem;
  font-size: 1.05rem;
}
.timeline-dot {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  margin-right: 0.5rem;
  vertical-align: middle;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.timeline-year {
  font-weight: 700;
  margin-right: 0.5rem;
  color: #0066cc;
}
.timeline-desc {
  color: #444;
}
.leader-card {
  border-radius: 1rem;
  background: #f8fafc;
  box-shadow: 0 2px 8px rgba(0,102,204,0.06);
  border: none;
}
.about-values {
  list-style: none;
  padding-left: 0;
}
.about-values li {
  margin-bottom: 0.5rem;
  font-size: 1.05rem;
}
.about-team-img {
  max-width: 220px;
  border-radius: 1rem;
  box-shadow: 0 4px 16px rgba(0,102,204,0.10);
}
/* Contact page improvements */
.contact-card {
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,102,204,0.08);
}
.contact-info-card {
  border-radius: 1.25rem;
  background: #f4f8fd;
  min-height: 340px;
}
.contact-info-card .bi {
  font-size: 1.2rem;
  vertical-align: -0.2em;
}
.alert-success {
  background: linear-gradient(90deg,#e0ffe7 0,#d0f5e8 100%);
  color: #218838;
  border: none;
  border-radius: 0.75rem;
  font-size: 1.1rem;
}
.fade-in {opacity: 0; transform: translateY(20px); transition: opacity 0.8s, transform 0.8s;}
.fade-in.show {opacity: 1; transform: none;}
.no-gallery-hover .gallery-card:hover .gallery-card-img {
  transform: none !important;
  box-shadow: none !important;
}
/* Gallery image hover fix: keep image inside card and add smooth zoom */
.gallery-card-img {
  transition: transform 0.3s, box-shadow 0.3s;
  border-radius: 1rem 1rem 0 0;
  box-shadow: none;
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
}
.gallery-card:hover .gallery-card-img {
  transform: scale(1.06);
  z-index: 1;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.gallery-card {
  overflow: hidden;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  transition: box-shadow 0.3s;
}
.gallery-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.16);
}
/* Navbar menu item padding improvements */
.navbar-nav .nav-link {
  padding: 0.75rem 1.25rem !important;
  margin: 0 0.25rem;
  border-radius: 0.5rem;
  transition: background 0.2s, color 0.2s;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link:focus, .navbar-nav .nav-link:hover {
  background: rgba(255,255,255,0.12);
  color: #fff !important;
}
/* Modern abstract hero backgrounds */
.hero-bg-1 {
  background: linear-gradient(135deg, #0066cc 0%, #00c6ff 100%), radial-gradient(circle at 80% 20%, #fff3 0%, #fff0 70%);
  background-blend-mode: overlay;
}
.hero-bg-2 {
  background: linear-gradient(120deg, #232526 0%, #414345 100%), radial-gradient(circle at 20% 80%, #fff2 0%, #fff0 70%);
  background-blend-mode: overlay;
}
.hero-bg-3 {
  background: linear-gradient(120deg, #11998e 0%, #38ef7d 100%), radial-gradient(circle at 60% 40%, #fff2 0%, #fff0 70%);
  background-blend-mode: overlay;
}
/* subtle card hover for grid */
.hover-shadow:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
  transform: translateY(-4px) scale(1.03);
  transition: box-shadow 0.3s, transform 0.3s;
}
/* Basic custom styles */
body {font-family: 'Inter', sans-serif; line-height: 1.6; color: #333; background-color: #f8fafc;}
h1, h2, h3, h4, h5 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
}
.fw-semibold {font-weight: 600;}
.fw-bold {font-weight: 700;}
.fw-light {font-weight: 300;}
.text-primary {color: #0066cc !important;}
.text-success {color: #38b000 !important;}
.text-warning {color: #ffb700 !important;}
.text-info {color: #00b4d8 !important;}
.text-dark {color: #222 !important;}
.text-light {color: #f8fafc !important;}
a {text-decoration: none; transition: color 0.3s;}
a:hover {color: #0066cc;}
.btn {transition: all 0.3s ease;}
.btn:hover {transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.2);}
header .navbar-brand {font-weight: 700;}
header {box-shadow: 0 2px 4px rgba(0,0,0,0.1);}
nav.navbar {background: rgba(0, 102, 204, 0.9);}
.btn-primary {background: #0066cc; border: none;}
.btn-primary:hover {background: #005bb5;}
footer a {color: inherit;}

/* sticky quote button */
.quote-btn {position: fixed; bottom: 20px; right: 20px; z-index: 1000; transition: transform 0.3s;}
.quote-btn:hover {transform: scale(1.1);}

/* responsive images */
img {max-width: 100%; height: auto; transition: transform 0.3s;}
img:hover {transform: scale(1.05);}

/* lazy loading placeholder */
img[loading="lazy"] {opacity: 0; transition: opacity .3s;}
img[loading="lazy"].loaded {opacity: 1;}

/* card hover effects */
.card {transition: box-shadow 0.3s;}
.card:hover {box-shadow: 0 8px 16px rgba(0,0,0,0.2);}

/* carousel smooth transitions */
.carousel-item {transition: transform 0.6s ease-in-out;}

/* smooth scrolling */
html {scroll-behavior: smooth;}

/* back to top button */
.back-to-top {position: fixed; bottom: 100px; right: 20px; display: none; z-index: 999;}
.back-to-top.show {display: block;}

/* form improvements */
.form-control:focus {border-color: #0066cc; box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25);}

/* mobile adjustments */
@media (max-width: 576px) {
  .navbar-brand {font-size: 1.25rem;}
  .display-4 {font-size: 2rem;}
  .carousel-caption {padding: 0 10px;}
  .hero-slide {height: 280px !important; background-size: cover !important; background-position: center !important;}
  .carousel-caption h1, .carousel-caption p {font-size: 1.1rem;}
  .btn-lg, .w-md-25, .w-md-auto {width: 100% !important; font-size: 1rem;}
  .row.text-center.gy-4 > div[class^="col-"] {margin-bottom: 1.5rem;}
  .quote-btn {bottom: 10px; right: 10px;}
}

@media (min-width: 577px) {
  .hero-slide {height: 400px !important;}
  .w-md-25 {width: 25% !important;}
  .w-md-auto {width: auto !important;}
}

@media (min-width: 992px) {
  .hero-slide {height: 500px !important;}
}

/* fade-in animation */
.fade-in {opacity: 0; transform: translateY(20px); animation: fadeIn 0.8s forwards;}
@keyframes fadeIn {to {opacity: 1; transform: none;}}

/* alternate section backgrounds */
.bg-secondary {background-color: #0066cc !important;}
.bg-secondary a {color: #000 !important;}
