/* ───────────────────── Global & Color Variables ───────────────────── */
:root {
  --primary-color: #11468f;
  --primary-dark: #0b2f66;
  --primary-light: #1d6ef2;
  --neutral-900: #101828;
  --neutral-700: #475467;
  --neutral-500: #98a2b3;
  --neutral-100: #f2f4f7;
  --text-light: #f4f7ff;
  --surface-color: #ffffff;
  --surface-alt: #f9fbff;
  --shadow-soft: 0 20px 60px rgba(17, 70, 143, 0.08);
  --shadow-strong: 0 30px 80px rgba(17, 70, 143, 0.18);
  --border-light: #e4e9f2;
}
html { 
  scroll-behavior: smooth; 
  scrollbar-gutter: stable both-edges;
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;
}
body {
  font-family: 'Segoe UI', sans-serif;
  background: var(--surface-color);
  color: var(--neutral-900);
  margin: 0;
  padding: 0;
  padding-top: 82px;
  line-height: 1.6;
  transition: background .3s, color .3s;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
  width: min(100%, 1180px);
  margin: 0 auto;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
h1,h2,h3,h4,h5,h6 {font-family: 'Segoe UI', sans-serif; font-weight:700; color:var(--neutral-900); letter-spacing:-0.01em;}
p {color:var(--neutral-700);}
a {transition:.3s;}
a:hover {text-decoration:none; color:var(--primary-light) !important;}

/* Dark Mode */
body.dark-mode {
  background: #050b17;
  color: #e6edf7;
}
body.dark-mode p,
body.dark-mode li,
body.dark-mode span,
body.dark-mode small {color:rgba(236,240,255,0.9);}
body.dark-mode .navbar {
  background: rgba(5, 11, 23, 0.95) !important;
  border-bottom-color: rgba(79,163,216,0.4) !important;
  box-shadow: 0 12px 36px rgba(2,6,15,0.65);
}
body.dark-mode .navbar.scrolled { background: rgba(5, 11, 23, 0.98) !important; }
body.dark-mode .navbar .nav-link {color:rgba(248,250,252,0.9) !important;}
body.dark-mode .navbar .navbar-brand img {
  background:rgba(255,255,255,0.1);
  border-color:rgba(79,163,216,0.4);
  filter:brightness(1.25) contrast(1.08);
}
body.dark-mode .hero-carousel {
  background:linear-gradient(135deg, rgba(5,11,23,0.95), rgba(12,32,62,0.95));
  box-shadow:0 40px 80px rgba(1,5,14,0.55);
}
body.dark-mode .hero-banner {
  background:linear-gradient(135deg, rgba(5,11,23,0.92), rgba(12,32,62,0.92));
  box-shadow:0 36px 88px rgba(2,6,15,0.6);
}
body.dark-mode .hero-banner::after {
  opacity:0.2;
}
body.dark-mode .hero-banner h1 {
  color:#f4f8ff;
  text-shadow:0 6px 18px rgba(0,0,0,0.45);
}
body.dark-mode .hero-banner p {
  color:rgba(224,232,247,0.9);
  text-shadow:0 3px 12px rgba(0,0,0,0.35);
}
body.dark-mode .carousel-content p {color:rgba(226,232,240,0.78);}
body.dark-mode .carousel-dot {background:rgba(79,163,216,0.25); border-color:rgba(79,163,216,0.55);}
body.dark-mode .carousel-dot.active {background:var(--accent-soft); border-color:var(--accent-soft);}
body.dark-mode #services {background:linear-gradient(180deg,#040a18 0%,#091b35 100%);}
body.dark-mode #services .card {
  background:rgba(12,25,46,0.9);
  border-color:rgba(79,163,216,0.3);
  box-shadow:0 22px 44px rgba(2,6,15,0.55);
}
body.dark-mode #services .card h5 {color:#f4f8ff;}
body.dark-mode #services .card p {color:rgba(223,231,245,0.88);}
body.dark-mode #contact-cta {background:linear-gradient(120deg, rgba(4,12,24,0.95), rgba(10,30,56,0.9)); border-color:rgba(79,163,216,0.25);}
body.dark-mode #contact-cta .cta-card {background:rgba(8,18,34,0.95); box-shadow:0 24px 48px rgba(2,6,15,0.65);}
body.dark-mode #contact-cta h2 {color:#f1f6ff;}
body.dark-mode #contact-cta p {color:rgba(224,232,247,0.88);}
body.dark-mode #contact-cta .form-control,
body.dark-mode #contact-cta textarea {
  background:rgba(10,21,38,0.9);
  border:1px solid rgba(79,163,216,0.35);
  color:#f1f6ff;
}
body.dark-mode .surface-section {
  background:linear-gradient(180deg, rgba(5,11,23,0.92) 0%, rgba(9,23,45,0.9) 100%);
  border-color:rgba(79,163,216,0.2);
}
body.dark-mode .surface-section.alternate {
  background:linear-gradient(180deg, rgba(5,11,23,0.96) 0%, rgba(7,19,40,0.92) 100%);
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
  color:#f8fafc;
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,0.3);
  letter-spacing:-0.02em;
}
body.dark-mode p,
body.dark-mode li,
body.dark-mode span,
body.dark-mode small {
  color: rgba(226,232,240,0.88);
  font-weight: 400;
  line-height: 1.6;
}
body.dark-mode .section-intro .eyebrow {
  color: var(--primary-light);
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
body.dark-mode #about {background:linear-gradient(135deg, rgba(5,11,23,0.85), rgba(8,20,39,0.95));}
body.dark-mode #about p {color:rgba(226,232,240,0.9);}
body.dark-mode footer {background:linear-gradient(180deg,#050b17 0%,#02060f 100%); border-top-color:rgba(79,163,216,0.35);}
body.dark-mode .footer-links a,
body.dark-mode .contact-info a {color:rgba(226,232,240,0.86) !important; font-weight:500;}
body.dark-mode .info-card {
  background:rgba(8,18,34,0.94);
  border-color:rgba(79,163,216,0.24);
  box-shadow:0 24px 56px rgba(2,6,15,0.55);
}
body.dark-mode .info-card > i,
body.dark-mode .info-card .icon-wrapper {
  background:linear-gradient(135deg, rgba(79,163,216,0.24), rgba(29,110,242,0.26));
  color:#f1f6ff;
  box-shadow:0 18px 38px rgba(2,6,15,0.6);
}
body.dark-mode .info-card p {color:rgba(224,232,247,0.85);}
body.dark-mode .dropdown-menu .dropdown-item i {color:rgba(226,232,240,0.88);}
body.dark-mode .contact-card {
  background:rgba(8,18,34,0.94);
  border-color:rgba(79,163,216,0.24);
  box-shadow:0 24px 56px rgba(2,6,15,0.55);
}
body.dark-mode .contact-card::after {opacity:0.15;}
body.dark-mode .contact-item i {color:rgba(79,163,216,0.85);}
body.dark-mode .contact-item h6 {color:#f4f8ff;}
body.dark-mode .contact-item p {color:rgba(224,232,247,0.85);}
body.dark-mode .text-muted,
body.dark-mode .text-muted *,
body.dark-mode small.text-muted,
body.dark-mode .info-card .text-muted,
body.dark-mode .contact-card .text-muted {
  color:rgba(224,232,247,0.82) !important;
  font-weight:500;
}
body.dark-mode .news-card {
  background:rgba(8,18,34,0.94);
  border-color:rgba(79,163,216,0.24);
  box-shadow:0 28px 70px rgba(2,6,15,0.6);
}
body.dark-mode .news-card::after {
  background:linear-gradient(135deg, rgba(79,163,216,0.25), transparent 70%);
}
body.dark-mode .news-category {
  background:linear-gradient(135deg, rgba(29,110,242,0.95), rgba(79,163,216,0.9));
}
body.dark-mode .news-title {
  color:#f5f8ff;
  text-shadow:0 4px 12px rgba(0,0,0,0.4);
}
body.dark-mode .news-excerpt {
  color:rgba(236,241,255,0.92);
  font-weight:500;
}
body.dark-mode .news-meta {
  color:rgba(208,220,240,0.82);
  font-weight:500;
  text-shadow:0 2px 10px rgba(0,0,0,0.35);
}
body.dark-mode .news-meta i {color:rgba(112,181,255,0.85);}
body.dark-mode .partner-card {
  background:rgba(8,18,34,0.95);
  border-color:rgba(79,163,216,0.25);
  box-shadow:0 32px 70px rgba(2,6,15,0.6);
}
body.dark-mode .partner-card::after {
  background:linear-gradient(135deg, rgba(79,163,216,0.24), transparent 70%);
}
body.dark-mode .partner-logo {
  background:linear-gradient(135deg, rgba(79,163,216,0.22), rgba(29,110,242,0.25));
}
body.dark-mode .partner-name {color:#f5f8ff;}
body.dark-mode .partner-type {
  background:rgba(79,163,216,0.18);
  color:#f4f8ff;
}
body.dark-mode .partner-location {color:#f4f8ff;}
body.dark-mode .partner-description {
  color:rgba(230,238,255,0.9);
}

.hero-banner {
  position:relative;
  padding:clamp(140px, 18vw, 220px) 0 clamp(90px, 12vw, 160px);
  background:linear-gradient(135deg, rgba(17,70,143,0.14), rgba(29,110,242,0.1));
  display:flex;
  align-items:center;
  text-align:center;
  overflow:hidden;
}
.hero-banner::after {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 15% 15%, rgba(17,70,143,0.35), transparent 55%),
             radial-gradient(circle at 85% 20%, rgba(29,110,242,0.25), transparent 60%);
  pointer-events:none;
  opacity:0.45;
}
.hero-banner .container {position:relative; z-index:2;}
.hero-banner .hero-inner {
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.hero-banner h1 {
  font-size:clamp(2.4rem, 5vw, 3.4rem);
  color:var(--primary-dark);
  text-transform:capitalize;
}
.hero-banner p {
  font-size:clamp(1.05rem, 2vw, 1.2rem);
  margin:0 auto;
  max-width:760px;
  color:var(--neutral-700);
  line-height:1.8;
}

.hero-policy {
  background:
    linear-gradient(140deg, rgba(12,52,124,0.88), rgba(32,128,255,0.68)),
    url('../images/pexels-pixabay-207377.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-blend-mode:overlay;
}
.hero-policy::after {
  opacity:0.52;
  background:radial-gradient(circle at 20% 20%, rgba(255,255,255,0.18), transparent 58%),
             radial-gradient(circle at 80% 25%, rgba(28,110,242,0.32), transparent 65%),
             radial-gradient(circle at 52% 82%, rgba(14,52,120,0.28), transparent 70%);
  mix-blend-mode: screen;
}
body.dark-mode .hero-policy {
  background:
    linear-gradient(140deg, rgba(5,18,48,0.92), rgba(14,48,112,0.82)),
    url('../images/pexels-pixabay-207377.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-blend-mode:overlay;
}
body.dark-mode .hero-policy::after {
  opacity:0.38;
  background:radial-gradient(circle at 18% 22%, rgba(82,156,255,0.38), transparent 62%),
             radial-gradient(circle at 85% 18%, rgba(34,120,255,0.35), transparent 58%);
  mix-blend-mode: lighten;
}
.hero-policy .hero-inner h1 {
  color:#f7faff;
  text-shadow:0 18px 42px rgba(2,12,32,0.55);
}
.hero-policy .hero-inner p {
  color:rgba(241,247,255,0.9);
  text-shadow:0 12px 28px rgba(3,16,44,0.5);
}
body.dark-mode .hero-policy .hero-inner h1 {
  color:#ffffff;
  text-shadow:0 20px 46px rgba(0,0,0,0.65);
}
body.dark-mode .hero-policy .hero-inner p {
  color:rgba(240,246,255,0.93);
  text-shadow:0 16px 34px rgba(0,0,0,0.6);
}

.hero-team {
  background:
    linear-gradient(135deg, rgba(10,44,120,0.9), rgba(29,110,242,0.66)),
    url('../images/IMG-20251026-WA0008.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-blend-mode:overlay;
}
.hero-team::after {
  opacity:0.5;
  background:radial-gradient(circle at 18% 24%, rgba(255,255,255,0.22), transparent 60%),
             radial-gradient(circle at 78% 22%, rgba(64,142,255,0.32), transparent 62%),
             radial-gradient(circle at 48% 80%, rgba(16,58,128,0.28), transparent 70%);
  mix-blend-mode:screen;
}
body.dark-mode .hero-team {
  background:
    linear-gradient(135deg, rgba(4,16,44,0.92), rgba(12,40,96,0.85)),
    url('../images/IMG-20251026-WA0008.jpg');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  background-blend-mode:overlay;
}
body.dark-mode .hero-team::after {
  opacity:0.42;
  background:radial-gradient(circle at 16% 20%, rgba(86,164,255,0.38), transparent 58%),
             radial-gradient(circle at 84% 18%, rgba(40,132,255,0.34), transparent 60%);
  mix-blend-mode:lighten;
}
.hero-team .hero-inner h1 {
  color:#f5f8ff;
  text-shadow:0 18px 42px rgba(4,16,38,0.56);
}
.hero-team .hero-inner p {
  color:rgba(238,244,255,0.9);
  text-shadow:0 14px 32px rgba(3,14,36,0.54);
}
body.dark-mode .hero-team .hero-inner h1 {
  color:#ffffff;
  text-shadow:0 22px 48px rgba(0,0,0,0.65);
}
body.dark-mode .hero-team .hero-inner p {
  color:rgba(236,244,255,0.92);
  text-shadow:0 16px 36px rgba(0,0,0,0.6);
}

.hero-partners {
  background:
    linear-gradient(140deg, rgba(8,38,94,0.92), rgba(29,110,242,0.68)),
    radial-gradient(circle at 18% 24%, rgba(255,255,255,0.18), transparent 60%),
    radial-gradient(circle at 78% 20%, rgba(82,156,255,0.28), transparent 64%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-partners::after {
  opacity:0.46;
  background:radial-gradient(circle at 24% 18%, rgba(255,255,255,0.26), transparent 62%),
             radial-gradient(circle at 72% 78%, rgba(12,58,128,0.32), transparent 70%);
  mix-blend-mode:screen;
}
.hero-partners .hero-inner h1,
.hero-partners .hero-inner p {
  color:#f6f9ff;
  text-shadow:0 20px 46px rgba(3,12,32,0.55);
}
body.dark-mode .hero-partners {
  background:
    linear-gradient(140deg, rgba(2,12,32,0.95), rgba(10,40,96,0.85)),
    radial-gradient(circle at 20% 22%, rgba(82,156,255,0.32), transparent 60%),
    radial-gradient(circle at 76% 74%, rgba(17,70,143,0.28), transparent 68%);
}
body.dark-mode .hero-partners::after {
  opacity:0.36;
  background:radial-gradient(circle at 18% 20%, rgba(86,164,255,0.38), transparent 66%),
             radial-gradient(circle at 74% 76%, rgba(29,110,242,0.34), transparent 70%);
  mix-blend-mode:lighten;
}
body.dark-mode .hero-partners .hero-inner h1,
body.dark-mode .hero-partners .hero-inner p {
  color:#f7faff;
  text-shadow:0 24px 52px rgba(0,0,0,0.65);
}

.policy-section .info-card h3 {
  margin-bottom:0.65rem;
}
.policy-section .info-card p {
  margin-bottom:0.85rem;
}
.policy-section .info-card p:last-child {
  margin-bottom:0;
}

.values-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:1.5rem;
}
.value-item {
  background:rgba(255,255,255,0.92);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:22px;
  padding:1.75rem 1.5rem;
  box-shadow:var(--shadow-soft);
  height:100%;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.value-item:hover {
  transform:translateY(-6px);
  box-shadow:0 28px 60px rgba(17,70,143,0.16);
  border-color:rgba(29,110,242,0.25);
}
.value-icon {
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(29,110,242,0.18), rgba(17,70,143,0.35));
  color:var(--primary-dark);
  border-radius:18px;
  margin-bottom:1rem;
  font-size:1.35rem;
  box-shadow:0 12px 24px rgba(17,70,143,0.12);
}
.value-item h5 {
  margin-bottom:0.5rem;
  color:var(--primary-dark);
}
.value-item p {
  color:var(--neutral-700);
  line-height:1.7;
}

.policy-list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.policy-list li {
  position:relative;
  padding-inline-start:2.35rem;
  color:var(--neutral-700);
  font-size:1.02rem;
  line-height:1.8;
  transition:color .3s ease;
}
.policy-list li::before {
  content:"";
  position:absolute;
  inset-inline-start:0;
  top:0.62rem;
  width:0.75rem;
  height:0.75rem;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(29,110,242,0.9), rgba(17,70,143,0.9));
  box-shadow:0 6px 14px rgba(29,110,242,0.3);
}
.policy-list li:last-child {
  margin-bottom:0;
}

body.dark-mode .value-item {
  background:rgba(12,22,44,0.88);
  border:1px solid rgba(99,152,255,0.24);
  box-shadow:0 22px 64px rgba(5,23,68,0.6);
}
body.dark-mode .value-item h5 {
  color:#f5f8ff;
}
body.dark-mode .value-item p {
  color:rgba(226,234,255,0.88);
}
body.dark-mode .value-icon {
  background:linear-gradient(135deg, rgba(82,156,255,0.85), rgba(151,204,255,0.82));
  color:#041022;
  box-shadow:0 18px 28px rgba(19,72,184,0.35);
}
body.dark-mode .policy-list li {
  color:rgba(224,232,255,0.9);
}
body.dark-mode .policy-list li::before {
  background:linear-gradient(135deg, rgba(82,156,255,0.92), rgba(144,198,255,0.88));
  box-shadow:0 8px 18px rgba(34,96,210,0.42);
}

body[dir=\"rtl\"] .policy-list li {
  padding-inline-start:0;
  padding-inline-end:2.35rem;
}
body[dir=\"rtl\"] .policy-list li::before {
  inset-inline-start:auto;
  inset-inline-end:0;
}

.team-section {
  position:relative;
}
.team-section .section-heading {
  max-width:760px;
  margin:0 auto 3rem;
}
.team-section .section-heading h2 {
  font-size:clamp(2rem, 4vw, 2.6rem);
  color:var(--primary-dark);
  margin-bottom:0.9rem;
}
.team-section .section-heading p {
  color:var(--neutral-700);
  font-size:1.05rem;
  line-height:1.8;
  margin:0;
}

.team-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  padding:2.4rem 2.1rem;
  text-align:center;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:1.3rem;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.team-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.12), transparent 65%);
  opacity:0;
  transition:opacity .35s ease;
}
.team-card:hover {
  transform:translateY(-8px);
  box-shadow:0 28px 70px rgba(17,70,143,0.18);
  border-color:rgba(29,110,242,0.22);
}
.team-card:hover::after {opacity:1;}
.team-avatar {
  width:108px;
  height:108px;
  margin:0 auto;
  border-radius:32px;
  overflow:hidden;
  border:4px solid rgba(29,110,242,0.18);
  box-shadow:0 16px 36px rgba(17,70,143,0.16);
}
.team-avatar img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.team-body {
  display:flex;
  flex-direction:column;
  gap:0.85rem;
}
.team-name {
  font-size:1.35rem;
  color:var(--primary-dark);
  margin-bottom:0.35rem;
}
.team-role {
  display:inline-block;
  padding:0.35rem 0.9rem;
  border-radius:999px;
  background:rgba(29,110,242,0.12);
  color:var(--primary-dark);
  font-weight:600;
  font-size:0.95rem;
  letter-spacing:0.01em;
}
.team-bio {
  color:var(--neutral-700);
  margin:0;
  line-height:1.75;
}

body.dark-mode .team-section .section-heading h2 {
  color:#edf2ff;
}
body.dark-mode .team-section .section-heading p {
  color:rgba(224,232,255,0.88);
}
body.dark-mode .team-card {
  background:rgba(10,18,40,0.92);
  border:1px solid rgba(84,140,255,0.25);
  box-shadow:0 24px 64px rgba(2,10,32,0.68);
}
body.dark-mode .team-card::after {
  background:linear-gradient(135deg, rgba(82,156,255,0.16), transparent 70%);
}
body.dark-mode .team-name {
  color:#f4f7ff;
}
body.dark-mode .team-role {
  background:rgba(82,156,255,0.18);
  color:#dce7ff;
}
body.dark-mode .team-bio {
  color:rgba(225,234,255,0.9);
}
body.dark-mode .team-avatar {
  border-color:rgba(82,156,255,0.32);
  box-shadow:0 20px 46px rgba(18,72,184,0.38);
}

body[dir=\"rtl\"] .team-section .section-heading p {
  text-align:justify;
}
body[dir=\"rtl\"] .team-card {
  text-align:center;
}
body[dir=\"rtl\"] .team-bio {
  text-align:right;
}

@media (max-width: 991.98px) {
  .team-card {
    padding:2.1rem 1.9rem;
  }
}
@media (max-width: 575.98px) {
  .team-card {
    border-radius:24px;
    padding:1.9rem 1.65rem;
  }
  .team-bio {
    font-size:0.97rem;
  }
}

@media (max-width: 767.98px) {
  .values-grid {
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  }
  .value-item {
    padding:1.6rem 1.4rem;
  }
}
@media (max-width: 575.98px) {
  .values-grid {
    grid-template-columns:1fr;
  }
  .value-item {
    text-align:left;
  }
  .policy-list li {
    font-size:0.98rem;
  }
}

.surface-section {
  background:linear-gradient(180deg, rgba(241,245,255,0.9) 0%, rgba(224,234,255,0.75) 100%);
  border-top:1px solid rgba(17,70,143,0.06);
  border-bottom:1px solid rgba(17,70,143,0.04);
}
.surface-section.alternate {
  background:linear-gradient(180deg, rgba(255,255,255,0.94) 0%, rgba(239,244,255,0.78) 100%);
}

.info-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  padding:2.5rem 2.25rem;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:1.1rem;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;
  overflow:hidden;
}
.info-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.12), transparent 65%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.info-card:hover {
  transform:translateY(-12px);
  box-shadow:var(--shadow-strong);
  border-color:rgba(29,110,242,0.16);
}
.info-card:hover::after {opacity:1;}
.info-card > i,
.info-card .icon-wrapper {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, rgba(17,70,143,0.14), rgba(29,110,242,0.16));
  color:var(--primary-dark);
  border-radius:18px;
  width:64px;
  height:64px;
  font-size:2rem;
  margin-bottom:1.25rem;
  box-shadow:0 16px 32px rgba(17,70,143,0.15);
}
.info-card.text-center > i,
.info-card .icon-wrapper {margin-left:auto; margin-right:auto;}
.info-card h3,
.info-card h5 {color:var(--primary-dark);}
.info-card p {color:var(--neutral-700);}

.contact-section {
  padding:5rem 0;
}
.contact-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  padding:2.5rem 2.25rem;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  position:relative;
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.contact-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.12), transparent 65%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.contact-card:hover {
  transform:translateY(-10px);
  box-shadow:var(--shadow-strong);
  border-color:rgba(29,110,242,0.18);
}
.contact-card:hover::after {opacity:1;}
.contact-title {
  font-size:1.45rem;
  color:var(--primary-dark);
  font-weight:700;
}
.contact-item {
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:0.75rem 0;
  border-bottom:1px dashed rgba(17,70,143,0.12);
}
.contact-item:last-child {border-bottom:none;}
.contact-item i {
  font-size:1.4rem;
  color:var(--primary-light);
  margin-top:0.15rem;
}
.contact-item h6 {
  font-weight:600;
  margin-bottom:0.25rem;
  color:var(--primary-dark);
}
.contact-item p {margin:0; color:var(--neutral-700);}
body:not(.dark-mode) .contact-item p {color:var(--neutral-900);}
.contact-item a.hover-link {
  font-weight:600;
  color:var(--primary-dark) !important;
}
.contact-item a.hover-link:hover {
  color:var(--primary-light) !important;
}

.news-section {
  position:relative;
}
.news-card {
  position:relative;
  background:var(--surface-color);
  border-radius:26px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  border:1px solid rgba(17,70,143,0.08);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  height:100%;
  display:flex;
  flex-direction:column;
}
.news-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.12), transparent 70%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.news-card:hover {
  transform:translateY(-14px);
  box-shadow:0 30px 70px rgba(17,70,143,0.22);
  border-color:rgba(29,110,242,0.18);
}
.news-card:hover::after {opacity:1;}
.news-category {
  position:absolute;
  top:18px;
  left:18px;
  padding:0.35rem 0.8rem;
  border-radius:999px;
  background:rgba(17,70,143,0.92);
  color:#fff;
  font-size:0.75rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  font-weight:600;
  z-index:2;
}
.news-media {
  position:relative;
  width:100%;
  padding-top:62%;
  overflow:hidden;
}
.news-media img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.news-card:hover .news-media img {transform:scale(1.05);}
.news-content {
  padding:1.85rem 1.75rem 1.9rem;
  display:flex;
  flex-direction:column;
  gap:0.9rem;
}
.news-content p {margin:0;}
.news-title {
  font-size:1.25rem;
  margin:0;
  color:var(--primary-dark);
  line-height:1.35;
}
.news-excerpt {
  font-size:0.98rem;
  color:var(--neutral-700);
  margin:0;
}
.news-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:0.75rem;
  margin-top:auto;
  font-size:0.85rem;
  color:var(--neutral-500);
}
.news-meta span {
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
}
.news-meta i {
  color:var(--primary-light);
  font-size:1rem;
}

.partners-section {position:relative;}
.partner-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:26px;
  box-shadow:var(--shadow-soft);
  padding:2.4rem 2.1rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  height:100%;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;
  overflow:hidden;
}
.partner-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.14), transparent 70%);
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.partner-card:hover {
  transform:translateY(-12px);
  border-color:rgba(29,110,242,0.18);
  box-shadow:0 32px 68px rgba(17,70,143,0.2);
}
.partner-card:hover::after {opacity:1;}
.partner-logo {
  background:linear-gradient(135deg, rgba(17,70,143,0.12), rgba(29,110,242,0.16));
  border-radius:20px;
  padding:1.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:110px;
  box-shadow:0 20px 40px rgba(17,70,143,0.15);
}
.partner-logo img {
  max-width:100%;
  max-height:70px;
  object-fit:contain;
  filter:drop-shadow(0 12px 20px rgba(17,70,143,0.2));
}
.partner-content {display:flex; flex-direction:column; gap:0.75rem;}
.partner-name {
  font-size:1.25rem;
  color:var(--primary-dark);
  margin:0;
}
.partner-type {
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.35rem 0.75rem;
  border-radius:999px;
  background:rgba(17,70,143,0.08);
  color:var(--primary-dark);
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:600;
}
.partner-location {
  margin:0;
  color:var(--primary-dark);
  font-weight:600;
}
.partner-description {
  margin:0;
  color:var(--neutral-700);
  line-height:1.75;
}

.animate {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .6s ease, transform .6s ease;
}
.animate.visible {
  opacity:1;
  transform:translateY(0);
}

.footer-heading {
  padding-bottom:14px;
}
.footer-heading .underline {
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,0.65) 0%, rgba(29,110,242,0.85) 100%);
  opacity:0.75;
}
.footer-branding strong {font-weight:700;}
body:not(.dark-mode) .footer-branding,
body:not(.dark-mode) .footer-branding strong,
body:not(.dark-mode) .footer-branding span {color:var(--neutral-900) !important;}
.footer-rights span {margin-left:4px;}
body:not(.dark-mode) .footer-rights,
body:not(.dark-mode) .footer-rights span {color:var(--neutral-800) !important;}

.dropdown-menu .dropdown-item i {
  font-size:1.05rem;
  color:var(--primary-dark);
  margin-right:0.6rem;
}
body[dir="rtl"] .dropdown-menu .dropdown-item i {
  margin-right:0;
  margin-left:0.6rem;
}

@media (max-width: 575.98px) {
  body.dark-mode .hero-banner {
    padding-top:130px;
    padding-bottom:90px;
    background:linear-gradient(140deg, rgba(5,11,23,0.94), rgba(12,32,62,0.9));
  }
  body.dark-mode .hero-banner h1 {
    font-size:2.2rem;
    line-height:1.25;
  }
  body.dark-mode .hero-banner p {
    color:rgba(235,242,255,0.92);
    line-height:1.95;
  }
  body.dark-mode .info-card,
  body.dark-mode .contact-card {
    background:rgba(8,18,34,0.98);
    border-color:rgba(79,163,216,0.28);
    box-shadow:0 28px 60px rgba(2,6,15,0.6);
  }
  body.dark-mode .info-card p,
  body.dark-mode .contact-card p,
  body.dark-mode .info-card .text-muted,
  body.dark-mode .contact-card .text-muted {
    color:rgba(230,238,255,0.88) !important;
    line-height:1.8;
  }
  .news-card {border-radius:22px;}
  .news-content {padding:1.6rem 1.5rem 1.75rem;}
  .news-title {font-size:1.18rem;}
  .news-excerpt {font-size:0.96rem; line-height:1.75;}
  .news-meta {font-size:0.82rem;}
  body.dark-mode .news-card {
    background:rgba(8,18,34,0.98);
    border-color:rgba(79,163,216,0.3);
    box-shadow:0 30px 70px rgba(2,6,15,0.65);
  }
  body.dark-mode .news-title {
    text-shadow:0 4px 14px rgba(0,0,0,0.45);
  }
  body.dark-mode .news-excerpt {
    color:rgba(238,243,255,0.95);
    font-weight:500;
    line-height:1.9;
  }
  body.dark-mode .news-meta {
    color:rgba(214,225,244,0.9);
    font-weight:500;
  }
  body.dark-mode .news-meta i {color:rgba(125,191,255,0.95);}
}


/* Section Padding */
.section-padding { padding: 5rem 0; }

.section-intro {
  display:flex;
  flex-direction:column;
  gap:.75rem;
  margin-bottom:3.5rem;
  max-width:640px;
}
.section-intro.center {margin-left:auto; margin-right:auto; text-align:center; align-items:center;}
.section-intro .eyebrow {
  text-transform:uppercase;
  letter-spacing:4px;
  font-size:0.76rem;
  font-weight:700;
  color:var(--primary-light);
}
.section-intro h2 {
  font-size:2.6rem;
  font-weight:700;
}
.section-intro p {
  max-width:720px;
  color:var(--neutral-700);
}

/* Navbar */
.navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1030 !important;
  transition: box-shadow 0.3s ease, background 0.3s ease;
  background: rgba(255,255,255,0.96) !important;
  border-bottom: 1px solid rgba(17,70,143,0.08);
  box-shadow: 0 12px 24px rgba(16,24,40,0.08);
}

.navbar .navbar-brand {
  display:flex;
  align-items:center;
  color:var(--neutral-900) !important;
}
.navbar .container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}
.navbar .navbar-brand img {
  height:46px !important;
  width:auto;
  padding:6px 10px;
  border:1px solid rgba(17,70,143,0.12);
  border-radius:12px;
  box-shadow:0 6px 18px rgba(17,70,143,0.12);
  background:#fff;
  filter:brightness(1.08) contrast(1.05);
}
.navbar .nav-link {
  position:relative;
  color:var(--neutral-700) !important;
  font-weight:600;
  padding:0.5rem 1rem;
  margin:0 0.4rem;
  border-radius:0;
}
.navbar .nav-link::after {
  content:"";
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:-6px;
  height:2px;
  background:var(--primary-light);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color:var(--primary-dark) !important;
  background:rgba(17,70,143,0.08);
}
.navbar .nav-link:hover::after,
.navbar .nav-link:focus::after,
.navbar .nav-link.active::after {transform:scaleX(1);}
.navbar .nav-link.active {color:var(--primary-dark) !important;}
.navbar .navbar-toggler {
  border-color:rgba(17,70,143,0.35);
  padding:0.45rem 0.7rem;
}
.navbar .navbar-toggler:focus {box-shadow:0 0 0 0.15rem rgba(17,70,143,0.25);}
.navbar .navbar-toggler-icon {
  filter:invert(35%) sepia(97%) saturate(3164%) hue-rotate(199deg) brightness(92%) contrast(87%);
  width:1.2em;
  height:1.2em;
}
.navbar .navbar-collapse {
  transition:padding .3s ease, background .3s ease;
}
.navbar .dropdown-menu {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(17,70,143,0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 40px rgba(16,24,40,0.15) !important;
  margin-top: 12px !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
}
.navbar .dropdown-item {
  padding: 12px 20px !important;
  color: var(--neutral-700) !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 8px !important;
  margin: 2px 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
}
.navbar .dropdown-item i {
  width: 18px !important;
  text-align: center !important;
  opacity: 0.7 !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
}
.navbar .dropdown-item:hover {
  background: linear-gradient(135deg, rgba(17,70,143,0.08), rgba(29,110,242,0.08)) !important;
  color: var(--primary-color) !important;
  transform: translateX(4px) !important;
}
.navbar .dropdown-item:hover i {
  opacity: 1 !important;
  transform: scale(1.1) !important;
}
.navbar .dropdown-item.active {
  background: linear-gradient(135deg, var(--primary-color), var(--primary-light)) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(17,70,143,0.3) !important;
}
body[dir="rtl"] .navbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body[dir="rtl"] .navbar-collapse {
  order: 1;
  flex-grow: 1;
}
body[dir="rtl"] .navbar-nav {
  justify-content: flex-start !important;
  margin-right: auto !important;
}
body[dir="rtl"] .navbar-toggler {
  order: 2;
}
body[dir="rtl"] .navbar-brand {
  order: 3;
  margin-left: 1.5rem;
}
body[dir="rtl"] .navbar .nav-link {text-align: right;}
body[dir="rtl"] .dropdown-menu-end {left: 0; right: auto; text-align: right;}
@media (max-width:991.98px){
  .navbar .language-selector .dropdown-menu-end {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, 10px) !important;
    width: 100% !important;
  }
}
body[dir="rtl"] .dropdown-toggle::after {margin-left: 0; margin-right: .255em;}
@media (min-width:992px){
  body[dir="rtl"] .navbar-nav {flex-direction: row;}
}
@media (max-width:991.98px){
  body[dir="rtl"] .navbar-nav {width: 100%; margin-right: 0 !important;}
  body[dir="rtl"] .navbar-nav .nav-link {width: 100%; padding-right: 1rem; padding-left: 1rem; text-align: right;}
}
@media (max-width:991.98px){
  .navbar .navbar-collapse {
    background: rgba(255,255,255,0.97);
    border-radius: 24px;
    padding: 1.6rem 1.35rem;
    margin-top: 1rem;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    border: 1px solid rgba(226,232,240,0.8);
  }
  .navbar .navbar-nav {gap:0.35rem;}
  .navbar .nav-link {
    padding:0.9rem 1.1rem;
    border-radius:12px;
    color:var(--neutral-900) !important;
    font-weight:600;
    font-size:1rem;
  }
  .navbar .nav-link::after {display:none;}
  .navbar .nav-link:hover,
  .navbar .nav-link:focus {
    background: rgba(17,70,143,0.08);
    color: var(--primary-color) !important;
    transform: translateX(4px);
  }
  .navbar .language-selector {
    width:100%;
    margin-top:1.5rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    position: relative;
  }
  .navbar .language-selector .dropdown-toggle {
    width:100%;
    justify-content:center;
    border-radius:12px;
    border:1px solid rgba(148,163,184,0.35);
    color:var(--neutral-700);
    padding:0.6rem 1rem;
  }
  .navbar .language-selector .dropdown-menu,
  .navbar .language-selector .dropdown-menu-end {
    width:100%;
    left:50% !important;
    right:auto !important;
    transform: translate(-50%, 10px) !important;
    position: absolute !important;
    margin-top: 0.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  .navbar .nav-item.theme-toggle-item {
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:1rem;
  }
}
body.dark-mode .navbar .dropdown-menu {
  background: rgba(5,11,23,0.95) !important;
  border-color: rgba(63,81,181,0.35) !important;
  box-shadow: 0 24px 48px rgba(2,6,23,0.55) !important;
}
body.dark-mode .navbar .dropdown-item {
  color: rgba(226,232,240,0.92) !important;
}
body.dark-mode .navbar .dropdown-item:hover {
  background: rgba(148,163,184,0.18) !important;
  color: var(--primary-light) !important;
}
body.dark-mode .navbar .language-selector .dropdown-toggle {
  border-color: rgba(148,163,184,0.4);
  color: rgba(226,232,240,0.9);
  background: rgba(30,41,59,0.6);
}
body.dark-mode .navbar .language-selector .dropdown-menu {
  background: rgba(15,23,42,0.95) !important;
  border-color: rgba(148,163,184,0.35) !important;
}
.navbar.scrolled {
  background: rgba(255,255,255,0.98) !important;
  border-bottom: 1px solid rgba(17,70,143,0.12);
  box-shadow: 0 16px 24px rgba(16,24,40,0.08);
}
body.dark-mode .navbar {
  background: rgba(5, 11, 23, 0.92) !important;
  border-bottom-color: rgba(17,70,143,0.45) !important;
  box-shadow:0 12px 28px rgba(2,6,15,0.65);
}
body.dark-mode .navbar.scrolled {
  background: rgba(5, 11, 23, 0.96) !important;
}
body.dark-mode .navbar .nav-link {color:rgba(226,232,240,0.86) !important;}
body.dark-mode .navbar .nav-link:hover,
body.dark-mode .navbar .nav-link:focus {color:#fff !important;}
body.dark-mode .album-wrapper {background:linear-gradient(180deg,#041024 0%,rgba(4,16,36,0) 80%);}
body.dark-mode .album-wrapper .section-title {
  background:linear-gradient(135deg,#0a1d3c,#12386f);
  border-color:rgba(79,163,216,0.22);
  color:#f4f7ff;
  box-shadow:0 24px 46px rgba(3,12,28,0.55);
}

/* ───────────────────── Hero Carousel ───────────────────── */
.hero-carousel {
  position:relative;
  min-height:80vh;
  overflow:hidden;
  border-radius:0;
  background:linear-gradient(135deg, rgba(17,70,143,0.96), rgba(11,47,96,0.96));
  box-shadow:var(--shadow-strong);
  margin-top:0;
  padding-top:110px;
}

.carousel-slide {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity 1.5s ease-in-out;
  display:flex;
  align-items:center;
}

.carousel-slide.active {
  opacity:1;
  z-index:1;
}

.carousel-slide::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(11,29,57,0.75), rgba(28,63,111,0.75));
  z-index:1;
}

.carousel-bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  animation:carouselZoom 8s ease-in-out infinite alternate;
  transition:transform .5s ease, filter .5s ease;
}

.carousel-slide:hover .carousel-bg {
  transform:scale(1.05);
  filter:brightness(1.1);
}

.carousel-content {
  position:relative;
  z-index:2;
  color:#fff;
  padding:3.5rem 2.5rem;
  max-width:560px;
  margin-left:clamp(2rem, 8vw, 6rem);
  text-align:left;
  animation:fadeInUp 1.1s ease forwards;
}

.carousel-content h1 {
  font-size:3.25rem;
  font-weight:800;
  margin-bottom:1.5rem;
  letter-spacing:-0.015em;
  text-transform:none;
  line-height:1.2;
}

.carousel-content p {
  font-size:1.12rem;
  line-height:1.9;
  margin-bottom:2.2rem;
  color:rgba(255,255,255,0.86);
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}
.hero-actions .btn-primary-brand,
.hero-actions .btn-outline-brand {margin:0;}

body[dir="rtl"] .hero-carousel {
  background:linear-gradient(135deg, rgba(11,47,96,0.96), rgba(17,70,143,0.96));
}
body[dir="rtl"] .carousel-content {
  margin-left:0;
  margin-right:clamp(2rem, 8vw, 6rem);
  text-align:right;
}
body[dir="rtl"] .hero-actions {
  justify-content:flex-start;
  flex-direction:row-reverse;
  gap:1rem;
}
body[dir="rtl"] .btn-primary-brand i,
body[dir="rtl"] .btn-outline-brand i {
  order:-1;
  transform:scaleX(-1);
}
@media (max-width:992px){
  body[dir="rtl"] .hero-actions {justify-content:center;}
  body[dir="rtl"] .carousel-content {margin-right:0;}
}

.btn-primary-brand {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.6rem;
  padding:0.95rem 2.6rem;
  border-radius:999px;
  background:var(--primary-light);
  color:#fff !important;
  font-weight:600;
  border:2px solid transparent;
  box-shadow:0 20px 40px rgba(29,110,242,0.28);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary-brand:hover {
  transform:translateY(-2px);
  background:#0f5be0;
  box-shadow:0 26px 52px rgba(17,70,143,0.32);
}
.btn-outline-brand {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.6rem;
  padding:0.95rem 2.6rem;
  border-radius:999px;
  border:2px solid rgba(255,255,255,0.6);
  color:#fff !important;
  font-weight:600;
  backdrop-filter:blur(4px);
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.btn-outline-brand:hover {
  background:rgba(255,255,255,0.18);
  color:#fff !important;
  transform:translateY(-2px);
}

/* Carousel Controls */
.carousel-controls {
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  z-index:10;
  display:flex;
  gap:16px;
}

.carousel-dot {
  width:12px;
  height:12px;
  border-radius:6px;
  background:rgba(255,255,255,0.35);
  border:2px solid rgba(255,255,255,0.55);
  cursor:pointer;
  transition:all .3s;
}

.carousel-dot.active {
  background:var(--primary-light);
  border-color:var(--primary-light);
  width:40px;
}

.carousel-dot:hover {
  background:rgba(255,255,255,0.65);
}


@keyframes fadeInUp {0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}
@keyframes carouselZoom {0%{transform:scale(1)}100%{transform:scale(1.1)}}

/* ───────────────────── Title Section ───────────────────── */
.album-wrapper {
  max-width:960px;
  margin:4rem auto 3rem;
  padding:0 1.5rem;
}
.section-title {
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:3rem 2.5rem;
  background:var(--surface-color);
  color:var(--neutral-900);
  text-align:center;
  border-radius:28px;
  border:1px solid var(--border-light);
  box-shadow:var(--shadow-soft);
  position:relative;
  overflow:hidden;
}
.section-title::before {
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle at center, rgba(29,110,242,0.15), transparent 60%);
  opacity:0.6;
}
.section-title h1 {
  font-size:2.6rem;
  font-weight:700;
  margin:0;
  letter-spacing:0.6px;
  text-transform:none;
  color:var(--primary-dark);
  animation:fadeInUp 1s ease forwards;
}
.section-title p {
  margin:0 auto;
  max-width:640px;
  color:var(--neutral-700);
  font-size:1.05rem;
}

/* ───────────────────── Changing Images ───────────────────── */
.changing-images {
  position:relative; height:52vh; overflow:hidden;
  border-radius:28px; box-shadow:var(--shadow-soft);
  border:1px solid var(--border-light);
  margin:2.5rem auto 0;
  background:var(--surface-alt);
  max-width:960px;
}
.changing-images .slide {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  opacity:0; transition:opacity 1.5s ease-in-out, transform 1.5s ease-in-out;
  border-radius:28px;
  transform:scale(1.1);
}
.changing-images .slide.active {
  opacity:1;
  transform:scale(1);
  animation:slideZoomPan 10s ease-in-out infinite alternate;
}

@keyframes slideZoomPan {
  0% {transform:scale(1) translateX(0);}
  50% {transform:scale(1.05) translateX(-20px);}
  100% {transform:scale(1) translateX(0);}
}

/* ───────────────────── Services ───────────────────── */
#services {
  background:var(--surface-alt);
  padding-top:5rem;
  padding-bottom:5rem;
}
#services .card {
  border:1px solid var(--border-light);
  border-radius:20px;
  transition:all .3s ease;
  box-shadow:0 12px 32px rgba(16, 24, 40, 0.08);
  background:var(--surface-color);
  padding:2.5rem 2.2rem;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  text-align:left;
}
#services .card::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.12), rgba(17,70,143,0.08));
  opacity:0;
  transition:opacity .35s ease;
  z-index:0;
}
#services .card:hover {
  transform:translateY(-14px);
  box-shadow:0 30px 55px rgba(17, 70, 143, 0.18);
  border-color:rgba(17,70,143,0.22);
}
#services .card:hover::after {opacity:1;}
#services .card > * {position:relative; z-index:1;}
#services .card i {
  transition:transform .35s ease;
  background:rgba(29,110,242,0.18);
  color:var(--primary-light);
  width:72px;
  height:72px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
#services .card:hover i {
  transform:scale(1.1) rotate(4deg);
  background:rgba(17,70,143,0.22);
  color:#fff;
}
#services .card h5 {color:var(--primary-dark); margin-bottom:1rem; font-weight:700;}
#services .card p {color:var(--neutral-700); font-size:1rem; margin-bottom:0;}

/* ───────────────────── About ───────────────────── */
#about {background:var(--surface-color);}
#about .about-copy {
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.about-image {
  border-radius:28px; overflow:hidden;
  box-shadow:0 30px 60px rgba(11,29,57,0.25);
  border:1px solid rgba(16,52,92,0.2);
  position:relative;
}
.about-image::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(11,29,57,0.15), rgba(79,163,216,0.15));
  opacity:0;
  transition:opacity .45s ease;
}
.about-image img {
  transition:transform .6s ease, filter .6s ease;
}
.about-image:hover img {
  transform:scale(1.08);
  filter:brightness(1.05);
}
.about-image:hover::after {opacity:1;}
#about h2 {color:var(--primary-color);}
#about p {font-size:1.02rem; color:var(--neutral-700);}
.hover-scale {transition:transform .5s ease;}
.hover-scale:hover {transform:scale(1.05);}

/* ───────────────────── Contact CTA ───────────────────── */
#contact-cta {
  background:linear-gradient(120deg, rgba(17,70,143,0.12), rgba(29,110,242,0.08));
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
  padding:4.5rem 0;
}
#contact-cta .cta-card {
  background:var(--surface-color);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  padding:3rem;
  display:grid;
  gap:2rem;
}
#contact-cta h2 {font-size:2rem; margin-bottom:0.75rem; color:var(--primary-dark);}
#contact-cta p {font-size:1.05rem; color:var(--neutral-700); margin-bottom:0;}
#contact-cta form {display:grid; gap:1.25rem;}
#contact-cta .form-control,
#contact-cta textarea {
  border-radius:16px;
  border:1px solid var(--border-light);
  padding:0.9rem 1.1rem;
  background:var(--surface-color);
  font-size:1rem;
  transition:border .2s ease, box-shadow .2s ease;
}
#contact-cta .form-control:focus,
#contact-cta textarea:focus {
  border-color:rgba(17,70,143,0.45);
  box-shadow:0 0 0 0.25rem rgba(29,110,242,0.15);
}
#contact-cta textarea {min-height:140px; resize:vertical;}
#contact-cta .btn-primary-brand {align-self:flex-start;}

/* ───────────────────── Footer (Professional) ───────────────────── */
footer {
  background:linear-gradient(180deg,#0b2f66 0%,#071d42 100%);
  border-top:1px solid rgba(17,70,143,0.35);
  font-family:'Segoe UI',sans-serif;
  position:relative;
  overflow:visible;
  color:#f0f4fc;
  z-index:1;
}
body:not(.dark-mode) footer {
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%) !important;
  border-top:1px solid rgba(148,163,184,0.2) !important;
  color:var(--neutral-900) !important;
}
footer .container {padding-left:1.75rem; padding-right:1.75rem;}
footer::before, footer::after {display:none;}
footer h5 {font-weight:700; font-size:1.25rem; color:inherit;}
body:not(.dark-mode) footer h5 {color:var(--primary-dark);}

.footer-links a,.contact-info a {font-size:.95rem; transition:all .3s; position:relative; text-decoration:none !important; color:rgba(226,232,240,0.9) !important;}
body:not(.dark-mode) .footer-links a,
body:not(.dark-mode) .contact-info a {color:var(--neutral-800) !important;}
body:not(.dark-mode) .footer-links a:hover,
body:not(.dark-mode) .contact-info a:hover {color:var(--primary-light) !important;}
.btn-primary-brand,
.btn-outline-brand {text-decoration:none !important;}
.btn-primary-brand:hover,
.btn-primary-brand:focus,
.btn-outline-brand:hover,
.btn-outline-brand:focus {text-decoration:none !important;}
.footer-links a:hover,.contact-info a:hover {text-decoration:none !important; color:var(--primary-light) !important; transform:translateX(6px);}
footer hr { opacity: 1 !important; border-top: 1px solid rgba(148,163,184,0.25) !important; }
body.dark-mode footer hr { border-top-color: rgba(226,232,240,0.2) !important; }
body:not(.dark-mode) footer hr { border-top-color: rgba(148,163,184,0.3) !important; }
body:not(.dark-mode) footer .text-muted,
body:not(.dark-mode) footer small.text-muted,
body:not(.dark-mode) footer p.text-muted {color:var(--neutral-800) !important;}
body:not(.dark-mode) footer.bg-dark {background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%) !important;}
body:not(.dark-mode) footer .text-light,
body:not(.dark-mode) footer .text-white {color:var(--neutral-800) !important;}
body:not(.dark-mode) footer h5.text-white {color:var(--primary-dark) !important;}
/* Fix: Dark mode footer text-muted visibility */
body.dark-mode footer .text-muted,
body.dark-mode footer small.text-muted,
body.dark-mode footer p.text-muted {color:rgba(226,232,240,0.75) !important;}
body.dark-mode footer .footer-branding,
body.dark-mode footer .footer-rights,
body.dark-mode footer .footer-branding strong,
body.dark-mode footer .footer-branding span,
body.dark-mode footer .footer-rights span {color:rgba(226,232,240,0.8) !important;}
/* Fix: Ensure footer is visible in light mode on all pages */
body:not(.dark-mode) footer p,
body:not(.dark-mode) footer span:not(.hover-link span),
body:not(.dark-mode) footer small {color:var(--neutral-800) !important;}
body:not(.dark-mode) footer strong {color:var(--neutral-900) !important;}
.hover-link {color:rgba(226,232,240,0.9) !important; text-decoration: none !important;}
body:not(.dark-mode) .hover-link {color:var(--primary-dark) !important;}
body:not(.dark-mode) .hover-link:hover {color:var(--primary-light) !important;}
.contact-info small[data-translate="footer_call"],
.contact-info small[data-translate="footer_whatsapp"],
.contact-info small[data-translate="footer_email"],
.contact-info small[data-translate="footer_location"] {color:rgba(226,232,240,0.7) !important; text-transform:uppercase; font-size:0.7rem; letter-spacing:1.5px;}
body:not(.dark-mode) .contact-info small[data-translate="footer_call"],
body:not(.dark-mode) .contact-info small[data-translate="footer_whatsapp"],
body:not(.dark-mode) .contact-info small[data-translate="footer_email"],
body:not(.dark-mode) .contact-info small[data-translate="footer_location"] {color:var(--neutral-600) !important;}
.hover-link i {font-size:1.1rem; transition:transform .3s;}
.hover-link:hover i {transform:scale(1.2);}

.icon-circle {
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; background:rgba(255,255,255,0.08); color:#fff;
  flex-shrink:0; transition:all .35s;
  border:1px solid rgba(255,255,255,0.12);
}
body:not(.dark-mode) footer .icon-circle {
  background:rgba(17,70,143,0.1);
  color:var(--primary-dark);
  border:1px solid rgba(17,70,143,0.2);
}
body:not(.dark-mode) footer .icon-circle.bg-success,
body:not(.dark-mode) footer .icon-circle.bg-info,
body:not(.dark-mode) footer .icon-circle.bg-warning {
  color:#fff;
  border-color:transparent;
}
.icon-circle:hover {transform:scale(1.06) translateY(-3px); box-shadow:0 15px 30px rgba(13,47,96,0.3); background:rgba(29,110,242,0.4); color:#fff; border-color:rgba(29,110,242,0.6);}

/* ───────────────────── Theme Toggle Switch ───────────────────── */
.theme-toggle {
  position:relative; display:inline-block; width:50px; height:24px;
  margin:0 15px;
}
.theme-toggle input {opacity:0; width:0; height:0;}
.theme-slider {
  position:absolute; cursor:pointer; inset:0;
  background:#ccc; border-radius:24px; transition:.3s;
}
.theme-slider:before {
  position:absolute; content:""; height:18px; width:18px;
  left:3px; bottom:3px; background:#fff;
  border-radius:50%; transition:.3s;
}
input:checked + .theme-slider {background:#0d6efd;}
input:checked + .theme-slider:before {transform:translateX(26px);}
.theme-slider i {
  position:absolute; top:50%; transform:translateY(-50%);
  font-size:12px; color:#fff; transition:.3s;
}
.theme-slider .bi-sun-fill {left:6px;}
.theme-slider .bi-moon-fill {right:6px;}

/* ───────────────────── Language Selector ───────────────────── */
.language-selector {margin:0 10px;}
.language-selector .dropdown-toggle {
  background:transparent; border:1px solid rgba(255,255,255,.3);
  color:#fff; padding:.4rem .8rem; border-radius:8px;
  display:flex; align-items:center; gap:8px;
  transition:all .3s;
}
.language-selector .dropdown-toggle:hover {
  background:rgba(255,255,255,.1); border-color:#fff;
}
.language-selector .dropdown-menu {
  background:#2d2d2d; border:1px solid #444;
  border-radius:12px; padding:.5rem 0;
  min-width:180px; box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.language-selector .dropdown-item {
  color:#e0e0e0; padding:.6rem 1.2rem;
  display:flex; align-items:center; gap:10px;
  transition:all .3s;
}
.language-selector .dropdown-item:hover {
  background:rgba(13,110,253,.2); color:#fff;
}
.language-selector .dropdown-item.active {
  background:#0d6efd; color:#fff;
}
.flag-icon {
  width:24px; height:16px; object-fit:cover;
  border-radius:3px; box-shadow:0 1px 3px rgba(0,0,0,.2);
}

/* ───────────────────── Responsive ───────────────────── */
@media (max-width:1200px){
  .hero-carousel{min-height:70vh;}
  .carousel-content h1{font-size:2.5rem;}
  .section-title h1{font-size:2.4rem;}
  .section-title p{font-size:1rem;}
  .changing-images{height:60vh;}
}
@media (max-width:992px){
  body{padding-top:72px;}
  .navbar .navbar-collapse {
    background:rgba(255,255,255,0.98);
    padding:1.4rem 1.2rem;
    border-radius:22px;
    margin-top:0.75rem;
    box-shadow:0 32px 55px rgba(16,24,40,0.18);
    border:1px solid rgba(17,70,143,0.12);
    max-height:80vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .navbar .navbar-nav {align-items:stretch; width:100%; gap:0.4rem;}
  .navbar .nav-item {width:100%;}
  .navbar .nav-link {
    margin:0;
    text-align:left;
    padding:0.8rem 1.05rem;
    border-radius:12px;
    color:var(--neutral-900) !important;
    font-weight:600;
  }
  .navbar .nav-link::after {display:none;}
  .navbar .nav-link:hover,
  .navbar .nav-link:focus {background:rgba(17,70,143,0.08);}
  .navbar .navbar-collapse .language-selector {
    width:100%;
    margin-top:0.75rem;
  }
  .navbar .navbar-collapse .language-selector .dropdown-toggle {
    width:100%;
    justify-content:space-between;
    border:1px solid rgba(17,70,143,0.12);
    color:var(--neutral-700);
  }
  .navbar .navbar-collapse .theme-toggle-item {
    width:100%;
    justify-content:flex-start;
    margin-top:0.9rem;
  }
  .hero-carousel{min-height:85vh; margin-top:0; padding-top:110px; padding-bottom:60px;}
  .carousel-content{padding:2.5rem 1.5rem; margin-left:0; margin-right:0; max-width:100%; text-align:center;}
  .hero-actions{justify-content:center;}
  .hero-actions .btn-primary-brand,
  .hero-actions .btn-outline-brand{width:auto;}
  .carousel-content h1{font-size:2.2rem;}
  .carousel-content p{font-size:1rem;}
  .carousel-nav{width:44px; height:44px;}
  .carousel-nav.prev{left:15px;}
  .carousel-nav.next{right:15px;}
  .changing-images{height:55vh;}
  #about .about-copy {text-align:center; align-items:center;}
  #about .about-copy p {max-width:520px;}
  body.dark-mode .navbar .navbar-collapse {
    background:rgba(8,18,34,0.96);
    border:1px solid rgba(79,163,216,0.35);
    box-shadow:0 36px 70px rgba(1,5,14,0.65);
  }
  body.dark-mode .navbar .navbar-collapse .nav-link {
    color:rgba(236,240,255,0.92) !important;
  }
  body.dark-mode .navbar .navbar-collapse .nav-link:hover,
  body.dark-mode .navbar .navbar-collapse .nav-link:focus {
    background:rgba(79,163,216,0.2);
    color:#fff !important;
  }
  body.dark-mode .navbar .navbar-collapse .language-selector .dropdown-toggle {
    border:1px solid rgba(79,163,216,0.4);
    color:rgba(236,240,255,0.88);
    background:rgba(10,20,38,0.95);
  }
  body.dark-mode .navbar .navbar-collapse .language-selector .dropdown-menu {
    background:rgba(10,20,38,0.96);
    border-color:rgba(79,163,216,0.35);
  }
}
@media (max-width:768px){
  .hero-carousel{min-height:92vh; padding-top:110px; padding-bottom:70px;}
  .carousel-content h1{font-size:2.4rem;}
  .carousel-content p{font-size:1.05rem;}
  .hero-actions .btn-primary-brand,
  .hero-actions .btn-outline-brand{padding:0.85rem 2.2rem;}
  .album-wrapper{padding:0 1rem; margin:3rem auto 2.5rem;}
  .section-title{padding:2.5rem 2rem;}
  .section-title h1{font-size:2.2rem;}
  .section-title p{font-size:0.98rem;}
  #about .about-copy {text-align:center; align-items:center;}
  body.dark-mode .carousel-content h1 {
    color:#ffffff;
    font-weight:800;
    text-shadow:0 2px 4px rgba(0,0,0,0.4),0 0 20px rgba(17,70,143,0.3);
  }
  body.dark-mode .carousel-content p {
    color:rgba(255,255,255,0.95);
    font-weight:500;
    text-shadow:0 1px 2px rgba(0,0,0,0.3);
  }
  body.dark-mode .section-intro .eyebrow {
    letter-spacing:0.5px;
  }
}
@media (max-width:576px){
  html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
  }
  body{padding-top:68px;}
  .container, .container-sm, .container-fluid, .container-lg, .container-md, .container-xl, .container-xxl {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .navbar .container {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .hero-banner {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-banner .container {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .surface-section {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .surface-section .container {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .hero-carousel{min-height:105vh; margin-top:0; padding-top:120px; padding-bottom:80px;}
  .hero-carousel,
  .section-title,
  .changing-images {margin-left:0; margin-right:0; border-radius:20px;}
  .carousel-content{padding:2rem 1.4rem; margin-left:0; margin-right:0; text-align:center;}
  .carousel-content h1{font-size:1.85rem;}
  .carousel-content p{font-size:0.98rem;}
  .hero-actions{justify-content:center;}
  .hero-actions .btn-primary-brand,
  .hero-actions .btn-outline-brand{width:100%; justify-content:center;}
  .carousel-nav{width:38px; height:38px; font-size:1.2rem;}
  .carousel-controls{bottom:20px; gap:10px;}
  .carousel-dot{width:10px; height:10px;}
  .carousel-dot.active{width:28px;}
  .changing-images{height:45vh;}
  .album-wrapper{padding:0 1rem; margin:2.5rem auto 2rem;}
  .section-title{padding:2rem 1.5rem;}
  .section-title h1{font-size:1.9rem;}
  .section-title p{font-size:0.95rem;}
  footer .container {padding-left:1.25rem; padding-right:1.25rem;}
  #about .about-copy {text-align:center; align-items:center;}
  .row.g-4 {--bs-gutter-x:0;}
  .partner-card {padding:2rem 1.6rem; border-radius:22px;}
  .partner-logo {padding:0.9rem; min-height:96px;}
  .partner-name {font-size:1.18rem;}
  .partner-description {font-size:0.95rem; line-height:1.85;}
  body.dark-mode .partner-description {color:rgba(236,242,255,0.94);}
  body.dark-mode .carousel-content h1 {
    color:#ffffff;
    font-weight:800;
    font-size:1.9rem;
    text-shadow:0 2px 4px rgba(0,0,0,0.5),0 0 25px rgba(17,70,143,0.4),0 0 50px rgba(17,70,143,0.2);
    letter-spacing:-0.03em;
  }
  body.dark-mode .carousel-content p {
    color:rgba(255,255,255,0.95);
    font-weight:500;
    line-height:1.6;
    text-shadow:0 1px 3px rgba(0,0,0,0.4);
  }
  body.dark-mode h1,
  body.dark-mode h2,
  body.dark-mode h3,
  body.dark-mode h4 {
    text-shadow:0 1px 3px rgba(0,0,0,0.4);
    letter-spacing:-0.02em;
  }
  body.dark-mode h5,
  body.dark-mode h6 {
    color:#e2e8f0;
    text-shadow:0 1px 2px rgba(0,0,0,0.3);
  }
  body.dark-mode .card {
    background: rgba(15,23,42,0.98);
    border: 1px solid rgba(51,65,85,0.4);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  }
  body.dark-mode .navbar .nav-link {
    color: rgba(248,250,252,0.95) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
  }
}

.hero-services {
  background:
    linear-gradient(140deg, rgba(8,40,96,0.92), rgba(29,110,242,0.65)),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.18), transparent 58%),
    radial-gradient(circle at 80% 25%, rgba(82,156,255,0.32), transparent 65%);
}
.hero-services::after {
  opacity:0.48;
  background:radial-gradient(circle at 18% 22%, rgba(255,255,255,0.25), transparent 60%),
             radial-gradient(circle at 68% 78%, rgba(12,52,124,0.35), transparent 70%);
}
body.dark-mode .hero-services {
  background:
    linear-gradient(140deg, rgba(4,18,44,0.95), rgba(12,52,124,0.82)),
    radial-gradient(circle at 22% 20%, rgba(82,156,255,0.28), transparent 62%),
    radial-gradient(circle at 74% 80%, rgba(12,52,124,0.4), transparent 70%);
}
body.dark-mode .hero-services::after {
  opacity:0.34;
  background:radial-gradient(circle at 15% 25%, rgba(82,156,255,0.38), transparent 62%),
             radial-gradient(circle at 78% 72%, rgba(17,70,143,0.32), transparent 68%);
}
body.dark-mode .hero-services .hero-inner h1,
body.dark-mode .hero-services .hero-inner p {
  color:#f5f9ff;
}
.hero-services .hero-inner h1,
.hero-services .hero-inner p {
  color:#f5f9ff;
  text-shadow:0 8px 32px rgba(0,0,0,0.35);
}

.info-card p {color:var(--neutral-700);}

.services-section {
  position:relative;
}
.services-section::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(12,52,124,0.05) 0%, rgba(12,52,124,0) 45%, rgba(12,52,124,0.04) 100%);
  opacity:0.6;
  pointer-events:none;
}
.services-section .container {position:relative; z-index:2;}

.service-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;
}
.service-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg, rgba(29,110,242,0.12), transparent 70%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.service-card:hover {
  transform:translateY(-14px);
  box-shadow:var(--shadow-strong);
  border-color:rgba(29,110,242,0.16);
}
.service-card:hover::after {opacity:1;}

.service-img {position:relative; overflow:hidden;}
.service-img::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(5,11,23,0.55));
  pointer-events:none;
}
.service-img img {
  width:100%;
  height:240px;
  object-fit:cover;
  transition:transform .45s ease;
}
.service-card:hover .service-img img {transform:scale(1.08);}

.service-content {
  padding:2.25rem 2rem 2.4rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.service-title {
  font-size:1.45rem;
  font-weight:700;
  color:var(--primary-dark);
  margin-bottom:0;
}
.service-description {
  margin-bottom:0;
  color:var(--neutral-700);
  line-height:1.7;
}

.service-features {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0.6rem;
}
.service-features li {
  position:relative;
  padding-left:1.75rem;
  color:var(--neutral-700);
  font-weight:500;
}
.service-features li::before {
  content:"\f26e";
  font-family:"bootstrap-icons";
  position:absolute;
  left:0;
  top:0;
  color:var(--primary-color);
  font-size:1.1rem;
}

body.dark-mode .services-section::before {
  background:linear-gradient(180deg, rgba(5,11,23,0.65) 0%, rgba(5,11,23,0.45) 60%, rgba(5,11,23,0.7) 100%);
  opacity:0.8;
}
body.dark-mode .service-card {
  background:rgba(7,15,31,0.85);
  border-color:rgba(82,156,255,0.18);
  box-shadow:0 20px 44px rgba(2,6,14,0.55);
}
body.dark-mode .service-card::after {
  background:linear-gradient(140deg, rgba(29,110,242,0.25), transparent 75%);
}
body.dark-mode .service-title {
  color:#f4f8ff;
}
body.dark-mode .service-description,
body.dark-mode .service-features li {
  color:rgba(235,242,255,0.88);
}
body.dark-mode .service-features li::before {
  color:rgba(82,156,255,0.95);
}

@media (max-width: 767.98px) {
  .service-img img {height:220px;}
  .service-content {padding:2rem 1.75rem 2.2rem;}
  .service-title {font-size:1.35rem;}
}
@media (max-width: 575.98px) {
  .service-img img {height:200px;}
  .service-content {padding:1.8rem 1.5rem 2rem;}
  .service-title {font-size:1.25rem;}
}

.service-features li::before {
   content:"\f26e";
   font-family:"bootstrap-icons";
   position:absolute;
   left:0;
   top:0;
   color:var(--primary-color);
   font-size:1.1rem;
 }
 
.services-highlights {position:relative; z-index:2;}
.services-highlights .info-card {
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.services-highlights .info-card .icon-wrapper {
  box-shadow:0 18px 38px rgba(17,70,143,0.18);
}

.services-approach {
  position:relative;
  background:linear-gradient(180deg, rgba(241,245,255,0.65) 0%, rgba(211,224,255,0.55) 100%);
}
.services-approach::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 18%, rgba(29,110,242,0.18), transparent 55%),
             radial-gradient(circle at 85% 82%, rgba(17,70,143,0.16), transparent 62%);
  opacity:0.6;
  pointer-events:none;
}
.services-approach .container {position:relative; z-index:2;}
.services-approach .info-card {
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.services-approach .policy-list li {font-weight:500; color:var(--primary-dark);}
.services-approach .policy-list li::marker {color:var(--primary-light);}

.services-cta {
  position:relative;
  overflow:hidden;
  background:linear-gradient(140deg, rgba(8,40,96,0.85), rgba(29,110,242,0.75));
}
.services-cta::before {
  content:"";
  position:absolute;
  inset:-30% 10% auto -10%;
  height:120%;
  background:radial-gradient(circle at top left, rgba(255,255,255,0.35), transparent 65%);
  opacity:0.5;
  pointer-events:none;
}
.services-cta .container {position:relative; z-index:2;}
.services-cta-card {
  position:relative;
  padding:3rem;
  border-radius:32px;
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(255,255,255,0.45);
  box-shadow:0 30px 70px rgba(7,15,31,0.25);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.services-cta .section-intro {margin-bottom:2rem;}
.services-cta .section-intro .eyebrow {color:var(--primary-light); letter-spacing:6px;}
.services-cta .btn-outline-brand {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}

.cta-contact-list {
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}
.cta-contact-item {
  display:flex;
  gap:1rem;
  align-items:center;
  padding:1.25rem 1.5rem;
  border-radius:20px;
  background:rgba(246,249,255,0.9);
  border:1px solid rgba(17,70,143,0.12);
  box-shadow:0 18px 32px rgba(17,70,143,0.12);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cta-contact-item:hover {
  transform:translateY(-6px);
  border-color:rgba(17,70,143,0.22);
  box-shadow:0 24px 38px rgba(17,70,143,0.18);
}
.cta-contact-item a {
  display:inline-flex;
  align-items:center;
  font-weight:600;
  color:var(--primary-dark);
  text-decoration:none;
  transition:color .3s ease;
}
.cta-contact-item a:hover {color:var(--primary-light);}
.services-cta .icon-circle {
  background:rgba(17,70,143,0.12);
  color:var(--primary-dark);
  border-color:rgba(17,70,143,0.25);
}
.services-cta .icon-circle.bg-success,
.services-cta .icon-circle.bg-info {
  color:#fff;
  border-color:transparent;
}

body.dark-mode .services-highlights .info-card {
  background:rgba(7,15,31,0.85);
  border-color:rgba(82,156,255,0.16);
}
body.dark-mode .services-approach {
  background:linear-gradient(180deg, rgba(5,11,23,0.92) 0%, rgba(5,11,23,0.8) 100%);
}
body.dark-mode .services-approach::before {
  opacity:0.4;
  background:radial-gradient(circle at 12% 18%, rgba(82,156,255,0.28), transparent 55%),
             radial-gradient(circle at 85% 82%, rgba(17,70,143,0.24), transparent 62%);
}
body.dark-mode .services-approach .info-card {
  background:rgba(7,15,31,0.92);
  border-color:rgba(82,156,255,0.14);
  box-shadow:0 24px 46px rgba(2,6,14,0.55);
}
body.dark-mode .services-approach .policy-list li {color:rgba(235,242,255,0.92);}

body.dark-mode .services-cta {
  background:linear-gradient(140deg, rgba(2,6,18,0.96), rgba(12,38,92,0.88));
}
body.dark-mode .services-cta::before {
  background:radial-gradient(circle at top left, rgba(82,156,255,0.32), transparent 70%);
  opacity:0.55;
}
body.dark-mode .services-cta-card {
  background:rgba(7,15,31,0.88);
  border-color:rgba(82,156,255,0.22);
  box-shadow:0 40px 70px rgba(0,0,0,0.55);
}
body.dark-mode .cta-contact-item {
  background:rgba(7,15,31,0.78);
  border-color:rgba(82,156,255,0.18);
  box-shadow:0 18px 32px rgba(2,6,14,0.55);
}
body.dark-mode .cta-contact-item a {color:rgba(235,242,255,0.92);}
body.dark-mode .cta-contact-item a:hover {color:rgba(118,179,255,0.95);}
body.dark-mode .services-cta .icon-circle {
  background:rgba(82,156,255,0.22);
  color:#f5f9ff;
  border-color:rgba(82,156,255,0.4);
}

@media (max-width: 991.98px) {
  .services-cta-card {padding:2.5rem;}
}
@media (max-width: 575.98px) {
  .services-cta-card {padding:2rem;}
  .cta-contact-item {padding:1rem 1.25rem;}
}

body.dark-mode .services-section::before {
  background:linear-gradient(180deg, rgba(5,11,23,0.65) 0%, rgba(5,11,23,0.45) 60%, rgba(5,11,23,0.7) 100%);
  opacity:0.8;
}

.news-meta i {
   color:var(--primary-light);
   font-size:1rem;
 }
 
.partners-highlights {position:relative; z-index:2;}
.partners-highlights .info-card {
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.partners-highlights .info-card .icon-wrapper {
  box-shadow:0 20px 42px rgba(17,70,143,0.18);
}

.partners-collaboration {
  position:relative;
  background:linear-gradient(180deg, rgba(241,245,255,0.72) 0%, rgba(220,232,255,0.6) 100%);
}
.partners-collaboration::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 18%, rgba(29,110,242,0.18), transparent 55%),
             radial-gradient(circle at 85% 80%, rgba(17,70,143,0.16), transparent 62%);
  opacity:0.6;
  pointer-events:none;
}
.partners-collaboration .container {position:relative; z-index:2;}
.partners-collaboration .info-card {
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.partners-section {
  position:relative;
  overflow:hidden;
}
.partners-section::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(17,70,143,0.08) 0%, rgba(12,52,124,0.04) 45%, rgba(17,70,143,0.08) 100%);
  opacity:0.65;
  pointer-events:none;
}
.partners-section .container {position:relative; z-index:2;}

.partners-section .section-intro {
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:3.5rem;
}

.partners-section .section-intro .eyebrow {
  letter-spacing:6px;
}

.partners-section .section-intro p {
  color:var(--neutral-700);
}

body.dark-mode .partners-highlights .info-card {
  background:rgba(7,15,31,0.85);
  border-color:rgba(82,156,255,0.18);
}
body.dark-mode .partners-collaboration {
  background:linear-gradient(180deg, rgba(5,11,23,0.9) 0%, rgba(5,11,23,0.78) 100%);
}
body.dark-mode .partners-collaboration::before {
  opacity:0.45;
  background:radial-gradient(circle at 12% 18%, rgba(82,156,255,0.3), transparent 55%),
             radial-gradient(circle at 85% 80%, rgba(29,110,242,0.24), transparent 62%);
}
body.dark-mode .partners-collaboration .info-card {
  background:rgba(7,15,31,0.9);
  border-color:rgba(82,156,255,0.18);
  box-shadow:0 26px 52px rgba(2,6,14,0.55);
}
body.dark-mode .partners-section::before {
  opacity:0.55;
  background:linear-gradient(180deg, rgba(2,6,18,0.9) 0%, rgba(2,6,18,0.75) 50%, rgba(2,6,18,0.92) 100%);
}
body.dark-mode .partners-section .section-intro p {
  color:rgba(230,238,255,0.9);
}

.partner-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:26px;
  box-shadow:var(--shadow-soft);
  padding:2.4rem 2.1rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  height:100%;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;
  overflow:hidden;
}
.partner-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.14), transparent 70%);
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.partner-card:hover {
  transform:translateY(-12px);
  border-color:rgba(29,110,242,0.18);
  box-shadow:0 32px 68px rgba(17,70,143,0.2);
}
.partner-card:hover::after {opacity:1;}
.partner-logo {
  background:linear-gradient(135deg, rgba(17,70,143,0.12), rgba(29,110,242,0.16));
  border-radius:20px;
  padding:1.25rem;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:110px;
  box-shadow:0 20px 40px rgba(17,70,143,0.15);
}
.partner-logo img {
  max-width:100%;
  max-height:70px;
  object-fit:contain;
  filter:drop-shadow(0 12px 20px rgba(17,70,143,0.2));
}
.partner-content {display:flex; flex-direction:column; gap:0.75rem;}
.partner-name {
  font-size:1.25rem;
  color:var(--primary-dark);
  margin:0;
}
.partner-type {
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.35rem 0.75rem;
  border-radius:999px;
  background:rgba(17,70,143,0.08);
  color:var(--primary-dark);
  font-size:0.78rem;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:600;
}
.partner-location {
  margin:0;
  color:var(--primary-dark);
  font-weight:600;
}
.partner-description {
  margin:0;
  color:var(--neutral-700);
  line-height:1.75;
}

.animate {
  opacity:0;
  transform:translateY(32px);
  transition:opacity .6s ease, transform .6s ease;
}
.animate.visible {
  opacity:1;
  transform:translateY(0);
}

.footer-heading {
  padding-bottom:14px;
}
.footer-heading .underline {
  position:absolute;
  left:0;
  bottom:-6px;
  width:100%;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,0.65) 0%, rgba(29,110,242,0.85) 100%);
  opacity:0.75;
}
.footer-branding strong {font-weight:700;}
body:not(.dark-mode) .footer-branding,
body:not(.dark-mode) .footer-branding strong,
body:not(.dark-mode) .footer-branding span {color:var(--neutral-900) !important;}
.footer-rights span {margin-left:4px;}
body:not(.dark-mode) .footer-rights,
body:not(.dark-mode) .footer-rights span {color:var(--neutral-800) !important;}

.dropdown-menu .dropdown-item i {
  font-size:1.05rem;
  color:var(--primary-dark);
  margin-right:0.6rem;
}
body[dir="rtl"] .dropdown-menu .dropdown-item i {
  margin-right:0;
  margin-left:0.6rem;
}

@media (max-width: 575.98px) {
  body.dark-mode .hero-banner {
    padding-top:130px;
    padding-bottom:90px;
    background:linear-gradient(140deg, rgba(5,11,23,0.94), rgba(12,32,62,0.9));
  }
  body.dark-mode .hero-banner h1 {
    font-size:2.2rem;
    line-height:1.25;
  }
  body.dark-mode .hero-banner p {
    color:rgba(235,242,255,0.92);
    line-height:1.95;
  }
  body.dark-mode .info-card,
  body.dark-mode .contact-card {
    background:rgba(8,18,34,0.98);
    border-color:rgba(79,163,216,0.28);
    box-shadow:0 28px 60px rgba(2,6,15,0.6);
  }
  body.dark-mode .info-card p,
  body.dark-mode .contact-card p,
  body.dark-mode .info-card .text-muted,
  body.dark-mode .contact-card .text-muted {
    color:rgba(230,238,255,0.88) !important;
    line-height:1.8;
  }
  .news-card {border-radius:22px;}
  .news-content {padding:1.6rem 1.5rem 1.75rem;}
  .news-title {font-size:1.18rem;}
  .news-excerpt {font-size:0.96rem; line-height:1.75;}
  .news-meta {font-size:0.82rem;}
  body.dark-mode .news-card {
    background:rgba(8,18,34,0.98);
    border-color:rgba(79,163,216,0.3);
    box-shadow:0 30px 70px rgba(2,6,15,0.65);
  }
  body.dark-mode .news-title {
    text-shadow:0 4px 14px rgba(0,0,0,0.45);
  }
  body.dark-mode .news-excerpt {
    color:rgba(238,243,255,0.95);
    font-weight:500;
    line-height:1.9;
  }
  body.dark-mode .news-meta {
    color:rgba(214,225,244,0.9);
    font-weight:500;
  }
  body.dark-mode .news-meta i {color:rgba(125,191,255,0.95);}
}


/* Section Padding */
.section-padding { padding: 5rem 0; }

.section-intro {
  display:flex;
  flex-direction:column;
  gap:.75rem;
  margin-bottom:3.5rem;
  max-width:640px;
}
.section-intro.center {margin-left:auto; margin-right:auto; text-align:center; align-items:center;}
.section-intro .eyebrow {
  text-transform:uppercase;
  letter-spacing:4px;
  font-size:0.76rem;
  font-weight:700;
  color:var(--primary-light);
}
.section-intro h2 {
  font-size:2.6rem;
  font-weight:700;
}
.section-intro p {
  max-width:720px;
  color:var(--neutral-700);
}

/* Navbar */
.navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1030 !important;
  transition: box-shadow 0.3s ease, background 0.3s ease;
  background: rgba(255,255,255,0.96) !important;
  border-bottom: 1px solid rgba(17,70,143,0.08);
  box-shadow: 0 12px 24px rgba(16,24,40,0.08);
}

.navbar .navbar-brand {
  display:flex;
  align-items:center;
  color:var(--neutral-900) !important;
}
.navbar .container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}
.navbar .navbar-brand img {
  height:46px !important;
  width:auto;
  padding:6px 10px;
  border:1px solid rgba(17,70,143,0.12);
  border-radius:12px;
  box-shadow:0 6px 18px rgba(17,70,143,0.12);
  background:#fff;
  filter:brightness(1.08) contrast(1.05);
}
.navbar .nav-link {
  position:relative;
  color:var(--neutral-700) !important;
  font-weight:600;
  padding:0.5rem 1rem;
  margin:0 0.4rem;
  border-radius:0;
}
.navbar .nav-link::after {
  content:"";
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:-6px;
  height:2px;
  background:var(--primary-light);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color:var(--primary-dark) !important;
  background:rgba(17,70,143,0.08);
}
.navbar .nav-link:hover::after,
.navbar .nav-link:focus::after,
.navbar .nav-link.active::after {transform:scaleX(1);}
.navbar .nav-link.active {color:var(--primary-dark) !important;}
.navbar .navbar-toggler {
  border-color:rgba(17,70,143,0.35);
  padding:0.45rem 0.7rem;
}
.navbar .navbar-toggler:focus {box-shadow:0 0 0 0.15rem rgba(17,70,143,0.25);}
.navbar .navbar-toggler-icon {
  filter:invert(35%) sepia(97%) saturate(3164%) hue-rotate(199deg) brightness(92%) contrast(87%);
  width:1.2em;
  height:1.2em;
}
.navbar .navbar-collapse {
  transition:padding .3s ease, background .3s ease;
}
.navbar .dropdown-menu {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(17,70,143,0.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 40px rgba(16,24,40,0.15) !important;
  margin-top: 12px !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
}
.navbar .dropdown-item {
  padding: 12px 20px !important;
  color: var(--neutral-700) !important;
  font-weight: 500 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  border-radius: 8px !important;
  margin: 2px 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
}
.navbar .dropdown-item i {
  width: 18px !important;
  text-align: center !important;
  opacity: 0.7 !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
}
.navbar .dropdown-item:hover {
  background: linear-gradient(135deg, rgba(17,70,143,0.08), rgba(29,110,242,0.08)) !important;
  color: var(--primary-color) !important;
  transform: translateX(4px) !important;
}
.navbar .dropdown-item:hover i {
  opacity: 1 !important;
  transform: scale(1.1) !important;
}
.navbar .dropdown-item.active {
  background: linear-gradient(135deg, var(--primary-color), var(--primary-light)) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(17,70,143,0.3) !important;
}
body[dir="rtl"] .navbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body[dir="rtl"] .navbar-collapse {
  order: 1;
  flex-grow: 1;
}
body[dir="rtl"] .navbar-nav {
  justify-content: flex-start !important;
  margin-right: auto !important;
}
body[dir="rtl"] .navbar-toggler {
  order: 2;
}
body[dir="rtl"] .navbar-brand {
  order: 3;
  margin-left: 1.5rem;
}
body[dir="rtl"] .navbar .nav-link {text-align: right;}
body[dir="rtl"] .dropdown-menu-end {left: 0; right: auto; text-align: right;}
@media (max-width:991.98px){
  .navbar .language-selector .dropdown-menu-end {
    left: 50% !important;
    right: auto !important;
    transform: translate(-50%, 10px) !important;
    width: 100% !important;
  }
}
body[dir="rtl"] .dropdown-toggle::after {margin-left: 0; margin-right: .255em;}
@media (min-width:992px){
  body[dir="rtl"] .navbar-nav {flex-direction: row;}
}
@media (max-width:991.98px){
  body[dir="rtl"] .navbar-nav {width: 100%; margin-right: 0 !important;}
  body[dir="rtl"] .navbar-nav .nav-link {width: 100%; padding-right: 1rem; padding-left: 1rem; text-align: right;}
}
@media (max-width:991.98px){
  .navbar .navbar-collapse {
    background: rgba(255,255,255,0.97);
    border-radius: 24px;
    padding: 1.6rem 1.35rem;
    margin-top: 1rem;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
    border: 1px solid rgba(226,232,240,0.8);
  }
  .navbar .navbar-nav {gap:0.35rem;}
  .navbar .nav-link {
    padding:0.9rem 1.1rem;
    border-radius:12px;
    color:var(--neutral-900) !important;
    font-weight:600;
    font-size:1rem;
  }
  .navbar .nav-link::after {display:none;}
  .navbar .nav-link:hover,
  .navbar .nav-link:focus {
    background: rgba(17,70,143,0.08);
    color: var(--primary-color) !important;
    transform: translateX(4px);
  }
  .navbar .language-selector {
    width:100%;
    margin-top:1.5rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    position: relative;
  }
  .navbar .language-selector .dropdown-toggle {
    width:100%;
    justify-content:center;
    border-radius:12px;
    border:1px solid rgba(148,163,184,0.35);
    color:var(--neutral-700);
    padding:0.6rem 1rem;
  }
  .navbar .language-selector .dropdown-menu,
  .navbar .language-selector .dropdown-menu-end {
    width:100%;
    left:50% !important;
    right:auto !important;
    transform: translate(-50%, 10px) !important;
    position: absolute !important;
    margin-top: 0.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  .navbar .nav-item.theme-toggle-item {
    width:100%;
    display:flex;
    justify-content:center;
    margin-top:1rem;
  }
}
body.dark-mode .navbar .dropdown-menu {
  background: rgba(5,11,23,0.95) !important;
  border-color: rgba(63,81,181,0.35) !important;
  box-shadow: 0 24px 48px rgba(2,6,23,0.55) !important;
}
body.dark-mode .navbar .dropdown-item {
  color: rgba(226,232,240,0.92) !important;
}
body.dark-mode .navbar .dropdown-item:hover {
  background: rgba(148,163,184,0.18) !important;
  color: var(--primary-light) !important;
}
body.dark-mode .navbar .language-selector .dropdown-toggle {
  border-color: rgba(148,163,184,0.4);
  color: rgba(226,232,240,0.9);
  background: rgba(30,41,59,0.6);
}
body.dark-mode .navbar .language-selector .dropdown-menu {
  background: rgba(15,23,42,0.95) !important;
  border-color: rgba(148,163,184,0.35) !important;
}
.navbar.scrolled {
  background: rgba(255,255,255,0.98) !important;
  border-bottom: 1px solid rgba(17,70,143,0.12);
  box-shadow: 0 16px 24px rgba(16,24,40,0.08);
}
body.dark-mode .navbar {
  background: rgba(5, 11, 23, 0.92) !important;
  border-bottom-color: rgba(17,70,143,0.45) !important;
  box-shadow:0 12px 28px rgba(2,6,15,0.65);
}
body.dark-mode .navbar.scrolled {
  background: rgba(5, 11, 23, 0.96) !important;
}
body.dark-mode .navbar .nav-link {color:rgba(226,232,240,0.86) !important;}
body.dark-mode .navbar .nav-link:hover,
body.dark-mode .navbar .nav-link:focus {color:#fff !important;}
body.dark-mode .album-wrapper {background:linear-gradient(180deg,#041024 0%,rgba(4,16,36,0) 80%);}
body.dark-mode .album-wrapper .section-title {
  background:linear-gradient(135deg,#0a1d3c,#12386f);
  border-color:rgba(79,163,216,0.22);
  color:#f4f7ff;
  box-shadow:0 24px 46px rgba(3,12,28,0.55);
}

/* ───────────────────── Hero Carousel ───────────────────── */
.hero-carousel {
  position:relative;
  min-height:80vh;
  overflow:hidden;
  border-radius:0;
  background:linear-gradient(135deg, rgba(17,70,143,0.96), rgba(11,47,96,0.96));
  box-shadow:var(--shadow-strong);
  margin-top:0;
  padding-top:110px;
}

.carousel-slide {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  transition:opacity 1.5s ease-in-out;
  display:flex;
  align-items:center;
}

.carousel-slide.active {
  opacity:1;
  z-index:1;
}

.carousel-slide::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(11,29,57,0.75), rgba(28,63,111,0.75));
  z-index:1;
}

.carousel-bg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  animation:carouselZoom 8s ease-in-out infinite alternate;
  transition:transform .5s ease, filter .5s ease;
}

.carousel-slide:hover .carousel-bg {
  transform:scale(1.05);
  filter:brightness(1.1);
}

.carousel-content {
  position:relative;
  z-index:2;
  color:#fff;
  padding:3.5rem 2.5rem;
  max-width:560px;
  margin-left:clamp(2rem, 8vw, 6rem);
  text-align:left;
  animation:fadeInUp 1.1s ease forwards;
}

.carousel-content h1 {
  font-size:3.25rem;
  font-weight:800;
  margin-bottom:1.5rem;
  letter-spacing:-0.015em;
  text-transform:none;
  line-height:1.2;
}

.carousel-content p {
  font-size:1.12rem;
  line-height:1.9;
  margin-bottom:2.2rem;
  color:rgba(255,255,255,0.86);
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}
.hero-actions .btn-primary-brand,
.hero-actions .btn-outline-brand {margin:0;}

body[dir="rtl"] .hero-carousel {
  background:linear-gradient(135deg, rgba(11,47,96,0.96), rgba(17,70,143,0.96));
}
body[dir="rtl"] .carousel-content {
  margin-left:0;
  margin-right:clamp(2rem, 8vw, 6rem);
  text-align:right;
}
body[dir="rtl"] .hero-actions {
  justify-content:flex-start;
  flex-direction:row-reverse;
  gap:1rem;
}
body[dir="rtl"] .btn-primary-brand i,
body[dir="rtl"] .btn-outline-brand i {
  order:-1;
  transform:scaleX(-1);
}
@media (max-width:992px){
  body[dir="rtl"] .hero-actions {justify-content:center;}
  body[dir="rtl"] .carousel-content {margin-right:0;}
}

.btn-primary-brand {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.6rem;
  padding:0.95rem 2.6rem;
  border-radius:999px;
  background:var(--primary-light);
  color:#fff !important;
  font-weight:600;
  border:2px solid transparent;
  box-shadow:0 20px 40px rgba(29,110,242,0.28);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.btn-primary-brand:hover {
  transform:translateY(-2px);
  background:#0f5be0;
  box-shadow:0 26px 52px rgba(17,70,143,0.32);
}
.btn-outline-brand {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.6rem;
  padding:0.95rem 2.6rem;
  border-radius:999px;
  border:2px solid rgba(255,255,255,0.6);
  color:#fff !important;
  font-weight:600;
  backdrop-filter:blur(4px);
  transition:background .25s ease, color .25s ease, transform .25s ease;
}
.btn-outline-brand:hover {
  background:rgba(255,255,255,0.18);
  color:#fff !important;
  transform:translateY(-2px);
}

/* Carousel Controls */
.carousel-controls {
  position:absolute;
  bottom:40px;
  left:50%;
  transform:translateX(-50%);
  z-index:10;
  display:flex;
  gap:16px;
}

.carousel-dot {
  width:12px;
  height:12px;
  border-radius:6px;
  background:rgba(255,255,255,0.35);
  border:2px solid rgba(255,255,255,0.55);
  cursor:pointer;
  transition:all .3s;
}

.carousel-dot.active {
  background:var(--primary-light);
  border-color:var(--primary-light);
  width:40px;
}

.carousel-dot:hover {
  background:rgba(255,255,255,0.65);
}


@keyframes fadeInUp {0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}
@keyframes carouselZoom {0%{transform:scale(1)}100%{transform:scale(1.1)}}

/* ───────────────────── Title Section ───────────────────── */
.album-wrapper {
  max-width:960px;
  margin:4rem auto 3rem;
  padding:0 1.5rem;
}
.section-title {
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:3rem 2.5rem;
  background:var(--surface-color);
  color:var(--neutral-900);
  text-align:center;
  border-radius:28px;
  border:1px solid var(--border-light);
  box-shadow:var(--shadow-soft);
  position:relative;
  overflow:hidden;
}
.section-title::before {
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle at center, rgba(29,110,242,0.15), transparent 60%);
  opacity:0.6;
}
.section-title h1 {
  font-size:2.6rem;
  font-weight:700;
  margin:0;
  letter-spacing:0.6px;
  text-transform:none;
  color:var(--primary-dark);
  animation:fadeInUp 1s ease forwards;
}
.section-title p {
  margin:0 auto;
  max-width:640px;
  color:var(--neutral-700);
  font-size:1.05rem;
}

/* ───────────────────── Changing Images ───────────────────── */
.changing-images {
  position:relative; height:52vh; overflow:hidden;
  border-radius:28px; box-shadow:var(--shadow-soft);
  border:1px solid var(--border-light);
  margin:2.5rem auto 0;
  background:var(--surface-alt);
  max-width:960px;
}
.changing-images .slide {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  opacity:0; transition:opacity 1.5s ease-in-out, transform 1.5s ease-in-out;
  border-radius:28px;
  transform:scale(1.1);
}
.changing-images .slide.active {
  opacity:1;
  transform:scale(1);
  animation:slideZoomPan 10s ease-in-out infinite alternate;
}

@keyframes slideZoomPan {
  0% {transform:scale(1) translateX(0);}
  50% {transform:scale(1.05) translateX(-20px);}
  100% {transform:scale(1) translateX(0);}
}

/* ───────────────────── Services ───────────────────── */
#services {
  background:var(--surface-alt);
  padding-top:5rem;
  padding-bottom:5rem;
}
#services .card {
  border:1px solid var(--border-light);
  border-radius:20px;
  transition:all .3s ease;
  box-shadow:0 12px 32px rgba(16, 24, 40, 0.08);
  background:var(--surface-color);
  padding:2.5rem 2.2rem;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:1.2rem;
  text-align:left;
}
#services .card::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(29,110,242,0.12), rgba(17,70,143,0.08));
  opacity:0;
  transition:opacity .35s ease;
  z-index:0;
}
#services .card:hover {
  transform:translateY(-14px);
  box-shadow:0 30px 55px rgba(17, 70, 143, 0.18);
  border-color:rgba(17,70,143,0.22);
}
#services .card:hover::after {opacity:1;}
#services .card > * {position:relative; z-index:1;}
#services .card i {
  transition:transform .35s ease;
  background:rgba(29,110,242,0.18);
  color:var(--primary-light);
  width:72px;
  height:72px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
}
#services .card:hover i {
  transform:scale(1.1) rotate(4deg);
  background:rgba(17,70,143,0.22);
  color:#fff;
}
#services .card h5 {color:var(--primary-dark); margin-bottom:1rem; font-weight:700;}
#services .card p {color:var(--neutral-700); font-size:1rem; margin-bottom:0;}

/* ───────────────────── About ───────────────────── */
#about {background:var(--surface-color);}
#about .about-copy {
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.about-image {
  border-radius:28px; overflow:hidden;
  box-shadow:0 30px 60px rgba(11,29,57,0.25);
  border:1px solid rgba(16,52,92,0.2);
  position:relative;
}
.about-image::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(11,29,57,0.15), rgba(79,163,216,0.15));
  opacity:0;
  transition:opacity .45s ease;
}
.about-image img {
  transition:transform .6s ease, filter .6s ease;
}
.about-image:hover img {
  transform:scale(1.08);
  filter:brightness(1.05);
}
.about-image:hover::after {opacity:1;}
#about h2 {color:var(--primary-color);}
#about p {font-size:1.02rem; color:var(--neutral-700);}
.hover-scale {transition:transform .5s ease;}
.hover-scale:hover {transform:scale(1.05);}

/* ───────────────────── Contact CTA ───────────────────── */
#contact-cta {
  background:linear-gradient(120deg, rgba(17,70,143,0.12), rgba(29,110,242,0.08));
  border-top:1px solid var(--border-light);
  border-bottom:1px solid var(--border-light);
  padding:4.5rem 0;
}
#contact-cta .cta-card {
  background:var(--surface-color);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  padding:3rem;
  display:grid;
  gap:2rem;
}
#contact-cta h2 {font-size:2rem; margin-bottom:0.75rem; color:var(--primary-dark);}
#contact-cta p {font-size:1.05rem; color:var(--neutral-700); margin-bottom:0;}
#contact-cta form {display:grid; gap:1.25rem;}
#contact-cta .form-control,
#contact-cta textarea {
  border-radius:16px;
  border:1px solid var(--border-light);
  padding:0.9rem 1.1rem;
  background:var(--surface-color);
  font-size:1rem;
  transition:border .2s ease, box-shadow .2s ease;
}
#contact-cta .form-control:focus,
#contact-cta textarea:focus {
  border-color:rgba(17,70,143,0.45);
  box-shadow:0 0 0 0.25rem rgba(29,110,242,0.15);
}
#contact-cta textarea {min-height:140px; resize:vertical;}
#contact-cta .btn-primary-brand {align-self:flex-start;}

/* ───────────────────── Footer (Professional) ───────────────────── */
footer {
  background:linear-gradient(180deg,#0b2f66 0%,#071d42 100%);
  border-top:1px solid rgba(17,70,143,0.35);
  font-family:'Segoe UI',sans-serif;
  position:relative;
  overflow:visible;
  color:#f0f4fc;
  z-index:1;
}
body:not(.dark-mode) footer {
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%) !important;
  border-top:1px solid rgba(148,163,184,0.2) !important;
  color:var(--neutral-900) !important;
}
footer .container {padding-left:1.75rem; padding-right:1.75rem;}
footer::before, footer::after {display:none;}
footer h5 {font-weight:700; font-size:1.25rem; color:inherit;}
body:not(.dark-mode) footer h5 {color:var(--primary-dark);}

.footer-links a,.contact-info a {font-size:.95rem; transition:all .3s; position:relative; text-decoration:none !important; color:rgba(226,232,240,0.9) !important;}
body:not(.dark-mode) .footer-links a,
body:not(.dark-mode) .contact-info a {color:var(--neutral-800) !important;}
body:not(.dark-mode) .footer-links a:hover,
body:not(.dark-mode) .contact-info a:hover {color:var(--primary-light) !important;}
.btn-primary-brand,
.btn-outline-brand {text-decoration:none !important;}
.btn-primary-brand:hover,
.btn-primary-brand:focus,
.btn-outline-brand:hover,
.btn-outline-brand:focus {text-decoration:none !important;}
.footer-links a:hover,.contact-info a:hover {text-decoration:none !important; color:var(--primary-light) !important; transform:translateX(6px);}
footer hr { opacity: 1 !important; border-top: 1px solid rgba(148,163,184,0.25) !important; }
body.dark-mode footer hr { border-top-color: rgba(226,232,240,0.2) !important; }
body:not(.dark-mode) footer hr { border-top-color: rgba(148,163,184,0.3) !important; }
body:not(.dark-mode) footer .text-muted,
body:not(.dark-mode) footer small.text-muted,
body:not(.dark-mode) footer p.text-muted {color:var(--neutral-800) !important;}
body:not(.dark-mode) footer.bg-dark {background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%) !important;}
body:not(.dark-mode) footer .text-light,
body:not(.dark-mode) footer .text-white {color:var(--neutral-800) !important;}
body:not(.dark-mode) footer h5.text-white {color:var(--primary-dark) !important;}
/* Fix: Dark mode footer text-muted visibility */
body.dark-mode footer .text-muted,
body.dark-mode footer small.text-muted,
body.dark-mode footer p.text-muted {color:rgba(226,232,240,0.75) !important;}
body.dark-mode footer .footer-branding,
body.dark-mode footer .footer-rights,
body.dark-mode footer .footer-branding strong,
body.dark-mode footer .footer-branding span,
body.dark-mode footer .footer-rights span {color:rgba(226,232,240,0.8) !important;}
/* Fix: Ensure footer is visible in light mode on all pages */
body:not(.dark-mode) footer p,
body:not(.dark-mode) footer span:not(.hover-link span),
body:not(.dark-mode) footer small {color:var(--neutral-800) !important;}
body:not(.dark-mode) footer strong {color:var(--neutral-900) !important;}
.hover-link {color:rgba(226,232,240,0.9) !important; text-decoration: none !important;}
body:not(.dark-mode) .hover-link {color:var(--primary-dark) !important;}
body:not(.dark-mode) .hover-link:hover {color:var(--primary-light) !important;}
.contact-info small[data-translate="footer_call"],
.contact-info small[data-translate="footer_whatsapp"],
.contact-info small[data-translate="footer_email"],
.contact-info small[data-translate="footer_location"] {color:rgba(226,232,240,0.7) !important; text-transform:uppercase; font-size:0.7rem; letter-spacing:1.5px;}
body:not(.dark-mode) .contact-info small[data-translate="footer_call"],
body:not(.dark-mode) .contact-info small[data-translate="footer_whatsapp"],
body:not(.dark-mode) .contact-info small[data-translate="footer_email"],
body:not(.dark-mode) .contact-info small[data-translate="footer_location"] {color:var(--neutral-600) !important;}
.hover-link i {font-size:1.1rem; transition:transform .3s;}
.hover-link:hover i {transform:scale(1.2);}

.icon-circle {
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; background:rgba(255,255,255,0.08); color:#fff;
  flex-shrink:0; transition:all .35s;
  border:1px solid rgba(255,255,255,0.12);
}
body:not(.dark-mode) footer .icon-circle {
  background:rgba(17,70,143,0.1);
  color:var(--primary-dark);
  border:1px solid rgba(17,70,143,0.2);
}
body:not(.dark-mode) footer .icon-circle.bg-success,
body:not(.dark-mode) footer .icon-circle.bg-info,
body:not(.dark-mode) footer .icon-circle.bg-warning {
  color:#fff;
  border-color:transparent;
}
.icon-circle:hover {transform:scale(1.06) translateY(-3px); box-shadow:0 15px 30px rgba(13,47,96,0.3); background:rgba(29,110,242,0.4); color:#fff; border-color:rgba(29,110,242,0.6);}

/* ───────────────────── Theme Toggle Switch ───────────────────── */
.theme-toggle {
  position:relative; display:inline-block; width:50px; height:24px;
  margin:0 15px;
}
.theme-toggle input {opacity:0; width:0; height:0;}
.theme-slider {
  position:absolute; cursor:pointer; inset:0;
  background:#ccc; border-radius:24px; transition:.3s;
}
.theme-slider:before {
  position:absolute; content:""; height:18px; width:18px;
  left:3px; bottom:3px; background:#fff;
  border-radius:50%; transition:.3s;
}
input:checked + .theme-slider {background:#0d6efd;}
input:checked + .theme-slider:before {transform:translateX(26px);}
.theme-slider i {
  position:absolute; top:50%; transform:translateY(-50%);
  font-size:12px; color:#fff; transition:.3s;
}
.theme-slider .bi-sun-fill {left:6px;}
.theme-slider .bi-moon-fill {right:6px;}

/* ───────────────────── Language Selector ───────────────────── */
.language-selector {margin:0 10px;}
.language-selector .dropdown-toggle {
  background:transparent; border:1px solid rgba(255,255,255,.3);
  color:#fff; padding:.4rem .8rem; border-radius:8px;
  display:flex; align-items:center; gap:8px;
  transition:all .3s;
}
.language-selector .dropdown-toggle:hover {
  background:rgba(255,255,255,.1); border-color:#fff;
}
.language-selector .dropdown-menu {
  background:#2d2d2d; border:1px solid #444;
  border-radius:12px; padding:.5rem 0;
  min-width:180px; box-shadow:0 8px 20px rgba(0,0,0,.3);
}
.language-selector .dropdown-item {
  color:#e0e0e0; padding:.6rem 1.2rem;
  display:flex; align-items:center; gap:10px;
  transition:all .3s;
}
.language-selector .dropdown-item:hover {
  background:rgba(13,110,253,.2); color:#fff;
}
.language-selector .dropdown-item.active {
  background:#0d6efd; color:#fff;
}
.flag-icon {
  width:24px; height:16px; object-fit:cover;
  border-radius:3px; box-shadow:0 1px 3px rgba(0,0,0,.2);
}

/* ───────────────────── Responsive ───────────────────── */
@media (max-width:1200px){
  .hero-carousel{min-height:70vh;}
  .carousel-content h1{font-size:2.5rem;}
  .section-title h1{font-size:2.4rem;}
  .section-title p{font-size:1rem;}
  .changing-images{height:60vh;}
}
@media (max-width:992px){
  body{padding-top:72px;}
  .navbar .navbar-collapse {
    background:rgba(255,255,255,0.98);
    padding:1.4rem 1.2rem;
    border-radius:22px;
    margin-top:0.75rem;
    box-shadow:0 32px 55px rgba(16,24,40,0.18);
    border:1px solid rgba(17,70,143,0.12);
    max-height:80vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .navbar .navbar-nav {align-items:stretch; width:100%; gap:0.4rem;}
  .navbar .nav-item {width:100%;}
  .navbar .nav-link {
    margin:0;
    text-align:left;
    padding:0.8rem 1.05rem;
    border-radius:12px;
    color:var(--neutral-900) !important;
    font-weight:600;
  }
  .navbar .nav-link::after {display:none;}
  .navbar .nav-link:hover,
  .navbar .nav-link:focus {background:rgba(17,70,143,0.08);}
  .navbar .navbar-collapse .language-selector {
    width:100%;
    margin-top:0.75rem;
  }
  .navbar .navbar-collapse .language-selector .dropdown-toggle {
    width:100%;
    justify-content:space-between;
    border:1px solid rgba(17,70,143,0.12);
    color:var(--neutral-700);
  }
  .navbar .navbar-collapse .theme-toggle-item {
    width:100%;
    justify-content:flex-start;
    margin-top:0.9rem;
  }
  .hero-carousel{min-height:85vh; margin-top:0; padding-top:110px; padding-bottom:60px;}
  .carousel-content{padding:2.5rem 1.5rem; margin-left:0; margin-right:0; max-width:100%; text-align:center;}
  .hero-actions{justify-content:center;}
  .hero-actions .btn-primary-brand,
  .hero-actions .btn-outline-brand{width:auto;}
  .carousel-content h1{font-size:2.2rem;}
  .carousel-content p{font-size:1rem;}
  .carousel-nav{width:44px; height:44px;}
  .carousel-nav.prev{left:15px;}
  .carousel-nav.next{right:15px;}
  .changing-images{height:55vh;}
  #about .about-copy {text-align:center; align-items:center;}
  #about .about-copy p {max-width:520px;}
  body.dark-mode .navbar .navbar-collapse {
    background:rgba(8,18,34,0.96);
    border:1px solid rgba(79,163,216,0.35);
    box-shadow:0 36px 70px rgba(1,5,14,0.65);
  }
  body.dark-mode .navbar .navbar-collapse .nav-link {
    color:rgba(236,240,255,0.92) !important;
  }
  body.dark-mode .navbar .navbar-collapse .nav-link:hover,
  body.dark-mode .navbar .navbar-collapse .nav-link:focus {
    background:rgba(79,163,216,0.2);
    color:#fff !important;
  }
  body.dark-mode .navbar .navbar-collapse .language-selector .dropdown-toggle {
    border:1px solid rgba(79,163,216,0.4);
    color:rgba(236,240,255,0.88);
    background:rgba(10,20,38,0.95);
  }
  body.dark-mode .navbar .navbar-collapse .language-selector .dropdown-menu {
    background:rgba(10,20,38,0.96);
    border-color:rgba(79,163,216,0.35);
  }
}
@media (max-width:768px){
  .hero-carousel{min-height:92vh; padding-top:110px; padding-bottom:70px;}
  .carousel-content h1{font-size:2.4rem;}
  .carousel-content p{font-size:1.05rem;}
  .hero-actions .btn-primary-brand,
  .hero-actions .btn-outline-brand{padding:0.85rem 2.2rem;}
  .album-wrapper{padding:0 1rem; margin:3rem auto 2.5rem;}
  .section-title{padding:2.5rem 2rem;}
  .section-title h1{font-size:2.2rem;}
  .section-title p{font-size:0.98rem;}
  #about .about-copy {text-align:center; align-items:center;}
  body.dark-mode .carousel-content h1 {
    color:#ffffff;
    font-weight:800;
    text-shadow:0 2px 4px rgba(0,0,0,0.4),0 0 20px rgba(17,70,143,0.3);
  }
  body.dark-mode .carousel-content p {
    color:rgba(255,255,255,0.95);
    font-weight:500;
    text-shadow:0 1px 2px rgba(0,0,0,0.3);
  }
  body.dark-mode .section-intro .eyebrow {
    letter-spacing:0.5px;
  }
}
@media (max-width:576px){
  html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
  }
  body{padding-top:68px;}
  .container, .container-sm, .container-fluid, .container-lg, .container-md, .container-xl, .container-xxl {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .navbar .container {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .hero-banner {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-banner .container {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .surface-section {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .surface-section .container {
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%;
    max-width: 100%;
  }
  .hero-carousel{min-height:105vh; margin-top:0; padding-top:120px; padding-bottom:80px;}
  .hero-carousel,
  .section-title,
  .changing-images {margin-left:0; margin-right:0; border-radius:20px;}
  .carousel-content{padding:2rem 1.4rem; margin-left:0; margin-right:0; text-align:center;}
  .carousel-content h1{font-size:1.85rem;}
  .carousel-content p{font-size:0.98rem;}
  .hero-actions{justify-content:center;}
  .hero-actions .btn-primary-brand,
  .hero-actions .btn-outline-brand{width:100%; justify-content:center;}
  .carousel-nav{width:38px; height:38px; font-size:1.2rem;}
  .carousel-controls{bottom:20px; gap:10px;}
  .carousel-dot{width:10px; height:10px;}
  .carousel-dot.active{width:28px;}
  .changing-images{height:45vh;}
  .album-wrapper{padding:0 1rem; margin:2.5rem auto 2rem;}
  .section-title{padding:2rem 1.5rem;}
  .section-title h1{font-size:1.9rem;}
  .section-title p{font-size:0.95rem;}
  footer .container {padding-left:1.25rem; padding-right:1.25rem;}
  #about .about-copy {text-align:center; align-items:center;}
  .row.g-4 {--bs-gutter-x:0;}
  .partner-card {padding:2rem 1.6rem; border-radius:22px;}
  .partner-logo {padding:0.9rem; min-height:96px;}
  .partner-name {font-size:1.18rem;}
  .partner-description {font-size:0.95rem; line-height:1.85;}
  body.dark-mode .partner-description {color:rgba(236,242,255,0.94);}
  body.dark-mode .carousel-content h1 {
    color:#ffffff;
    font-weight:800;
    font-size:1.9rem;
    text-shadow:0 2px 4px rgba(0,0,0,0.5),0 0 25px rgba(17,70,143,0.4),0 0 50px rgba(17,70,143,0.2);
    letter-spacing:-0.03em;
  }
  body.dark-mode .carousel-content p {
    color:rgba(255,255,255,0.95);
    font-weight:500;
    line-height:1.6;
    text-shadow:0 1px 3px rgba(0,0,0,0.4);
  }
  body.dark-mode h1,
  body.dark-mode h2,
  body.dark-mode h3,
  body.dark-mode h4 {
    text-shadow:0 1px 3px rgba(0,0,0,0.4);
    letter-spacing:-0.02em;
  }
  body.dark-mode h5,
  body.dark-mode h6 {
    color:#e2e8f0;
    text-shadow:0 1px 2px rgba(0,0,0,0.3);
  }
  body.dark-mode .card {
    background: rgba(15,23,42,0.98);
    border: 1px solid rgba(51,65,85,0.4);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  }
  body.dark-mode .navbar .nav-link {
    color: rgba(248,250,252,0.95) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
  }
}

.hero-services {
  background:
    linear-gradient(140deg, rgba(8,40,96,0.92), rgba(29,110,242,0.65)),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,0.18), transparent 58%),
    radial-gradient(circle at 80% 25%, rgba(82,156,255,0.32), transparent 65%);
}
.hero-services::after {
  opacity:0.48;
  background:radial-gradient(circle at 18% 22%, rgba(255,255,255,0.25), transparent 60%),
             radial-gradient(circle at 68% 78%, rgba(12,52,124,0.35), transparent 70%);
}
body.dark-mode .hero-services {
  background:
    linear-gradient(140deg, rgba(4,18,44,0.95), rgba(12,52,124,0.82)),
    radial-gradient(circle at 22% 20%, rgba(82,156,255,0.28), transparent 62%),
    radial-gradient(circle at 74% 80%, rgba(12,52,124,0.4), transparent 70%);
}
body.dark-mode .hero-services::after {
  opacity:0.34;
  background:radial-gradient(circle at 15% 25%, rgba(82,156,255,0.38), transparent 62%),
             radial-gradient(circle at 78% 72%, rgba(17,70,143,0.32), transparent 68%);
}
body.dark-mode .hero-services .hero-inner h1,
body.dark-mode .hero-services .hero-inner p {
  color:#f5f9ff;
}
.hero-services .hero-inner h1,
.hero-services .hero-inner p {
  color:#f5f9ff;
  text-shadow:0 8px 32px rgba(0,0,0,0.35);
}

.info-card p {color:var(--neutral-700);}

.services-section {
  position:relative;
}
.services-section::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(12,52,124,0.05) 0%, rgba(12,52,124,0) 45%, rgba(12,52,124,0.04) 100%);
  opacity:0.6;
  pointer-events:none;
}
.services-section .container {position:relative; z-index:2;}

.service-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;
}
.service-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg, rgba(29,110,242,0.12), transparent 70%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.service-card:hover {
  transform:translateY(-14px);
  box-shadow:var(--shadow-strong);
  border-color:rgba(29,110,242,0.16);
}
.service-card:hover::after {opacity:1;}

.service-img {position:relative; overflow:hidden;}
.service-img::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(5,11,23,0.55));
  pointer-events:none;
}
.service-img img {
  width:100%;
  height:240px;
  object-fit:cover;
  transition:transform .45s ease;
}
.service-card:hover .service-img img {transform:scale(1.08);}

.service-content {
  padding:2.25rem 2rem 2.4rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
}
.service-title {
  font-size:1.45rem;
  font-weight:700;
  color:var(--primary-dark);
  margin-bottom:0;
}
.service-description {
  margin-bottom:0;
  color:var(--neutral-700);
  line-height:1.7;
}

.service-features {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:0.6rem;
}
.service-features li {
  position:relative;
  padding-left:1.75rem;
  color:var(--neutral-700);
  font-weight:500;
}
.service-features li::before {
  content:"\f26e";
  font-family:"bootstrap-icons";
  position:absolute;
  left:0;
  top:0;
  color:var(--primary-color);
  font-size:1.1rem;
}

body.dark-mode .services-section::before {
  background:linear-gradient(180deg, rgba(5,11,23,0.65) 0%, rgba(5,11,23,0.45) 60%, rgba(5,11,23,0.7) 100%);
  opacity:0.8;
}
body.dark-mode .service-card {
  background:rgba(7,15,31,0.85);
  border-color:rgba(82,156,255,0.18);
  box-shadow:0 20px 44px rgba(2,6,14,0.55);
}
body.dark-mode .service-card::after {
  background:linear-gradient(140deg, rgba(29,110,242,0.25), transparent 75%);
}
body.dark-mode .service-title {
  color:#f4f8ff;
}
body.dark-mode .service-description,
body.dark-mode .service-features li {
  color:rgba(235,242,255,0.88);
}
body.dark-mode .service-features li::before {
  color:rgba(82,156,255,0.95);
}

@media (max-width: 767.98px) {
  .service-img img {height:220px;}
  .service-content {padding:2rem 1.75rem 2.2rem;}
  .service-title {font-size:1.35rem;}
}
@media (max-width: 575.98px) {
  .service-img img {height:200px;}
  .service-content {padding:1.8rem 1.5rem 2rem;}
  .service-title {font-size:1.25rem;}
}

.service-features li::before {
   content:"\f26e";
   font-family:"bootstrap-icons";
   position:absolute;
   left:0;
   top:0;
   color:var(--primary-color);
   font-size:1.1rem;
 }
 
.services-highlights {position:relative; z-index:2;}
.services-highlights .info-card {
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.services-highlights .info-card .icon-wrapper {
  box-shadow:0 18px 38px rgba(17,70,143,0.18);
}

.services-approach {
  position:relative;
  background:linear-gradient(180deg, rgba(241,245,255,0.65) 0%, rgba(211,224,255,0.55) 100%);
}
.services-approach::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 18%, rgba(29,110,242,0.18), transparent 55%),
             radial-gradient(circle at 85% 82%, rgba(17,70,143,0.16), transparent 62%);
  opacity:0.6;
  pointer-events:none;
}
.services-approach .container {position:relative; z-index:2;}
.services-approach .info-card {
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.services-approach .policy-list li {font-weight:500; color:var(--primary-dark);}
.services-approach .policy-list li::marker {color:var(--primary-light);}

.services-cta {
  position:relative;
  overflow:hidden;
  background:linear-gradient(140deg, rgba(8,40,96,0.85), rgba(29,110,242,0.75));
}
.services-cta::before {
  content:"";
  position:absolute;
  inset:-30% 10% auto -10%;
  height:120%;
  background:radial-gradient(circle at top left, rgba(255,255,255,0.35), transparent 65%);
  opacity:0.5;
  pointer-events:none;
}
.services-cta .container {position:relative; z-index:2;}
.services-cta-card {
  position:relative;
  padding:3rem;
  border-radius:32px;
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(255,255,255,0.45);
  box-shadow:0 30px 70px rgba(7,15,31,0.25);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.services-cta .section-intro {margin-bottom:2rem;}
.services-cta .section-intro .eyebrow {color:var(--primary-light); letter-spacing:6px;}
.services-cta .btn-outline-brand {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
}

.cta-contact-list {
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}
.cta-contact-item {
  display:flex;
  gap:1rem;
  align-items:center;
  padding:1.25rem 1.5rem;
  border-radius:20px;
  background:rgba(246,249,255,0.9);
  border:1px solid rgba(17,70,143,0.12);
  box-shadow:0 18px 32px rgba(17,70,143,0.12);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.cta-contact-item:hover {
  transform:translateY(-6px);
  border-color:rgba(17,70,143,0.22);
  box-shadow:0 24px 38px rgba(17,70,143,0.18);
}
.cta-contact-item a {
  display:inline-flex;
  align-items:center;
  font-weight:600;
  color:var(--primary-dark);
  text-decoration:none;
  transition:color .3s ease;
}
.cta-contact-item a:hover {color:var(--primary-light);}
.services-cta .icon-circle {
  background:rgba(17,70,143,0.12);
  color:var(--primary-dark);
  border-color:rgba(17,70,143,0.25);
}
.services-cta .icon-circle.bg-success,
.services-cta .icon-circle.bg-info {
  color:#fff;
  border-color:transparent;
}

body.dark-mode .services-highlights .info-card {
  background:rgba(7,15,31,0.85);
  border-color:rgba(82,156,255,0.16);
}
body.dark-mode .services-approach {
  background:linear-gradient(180deg, rgba(5,11,23,0.92) 0%, rgba(5,11,23,0.8) 100%);
}
body.dark-mode .services-approach::before {
  opacity:0.4;
  background:radial-gradient(circle at 12% 18%, rgba(82,156,255,0.28), transparent 55%),
             radial-gradient(circle at 85% 82%, rgba(17,70,143,0.24), transparent 62%);
}
body.dark-mode .services-approach .info-card {
  background:rgba(7,15,31,0.92);
  border-color:rgba(82,156,255,0.14);
  box-shadow:0 24px 46px rgba(2,6,14,0.55);
}
body.dark-mode .services-approach .policy-list li {color:rgba(235,242,255,0.92);}

body.dark-mode .services-cta {
  background:linear-gradient(140deg, rgba(2,6,18,0.96), rgba(12,38,92,0.88));
}
body.dark-mode .services-cta::before {
  background:radial-gradient(circle at top left, rgba(82,156,255,0.32), transparent 70%);
  opacity:0.55;
}
body.dark-mode .services-cta-card {
  background:rgba(7,15,31,0.88);
  border-color:rgba(82,156,255,0.22);
  box-shadow:0 40px 70px rgba(0,0,0,0.55);
}
body.dark-mode .cta-contact-item {
  background:rgba(7,15,31,0.78);
  border-color:rgba(82,156,255,0.18);
  box-shadow:0 18px 32px rgba(2,6,14,0.55);
}
body.dark-mode .cta-contact-item a {color:rgba(235,242,255,0.92);}
body.dark-mode .cta-contact-item a:hover {color:rgba(118,179,255,0.95);}
body.dark-mode .services-cta .icon-circle {
  background:rgba(82,156,255,0.22);
  color:#f5f9ff;
  border-color:rgba(82,156,255,0.4);
}

@media (max-width: 991.98px) {
  .services-cta-card {padding:2.5rem;}
}
@media (max-width: 575.98px) {
  .services-cta-card {padding:2rem;}
  .cta-contact-item {padding:1rem 1.25rem;}
}

body.dark-mode .services-section::before {
  background:linear-gradient(180deg, rgba(5,11,23,0.65) 0%, rgba(5,11,23,0.45) 60%, rgba(5,11,23,0.7) 100%);
  opacity:0.8;
}

.hero-team .hero-inner p {
  color:rgba(238,244,255,0.9);
  text-shadow:0 14px 32px rgba(3,14,36,0.54);
}
body.dark-mode .hero-team .hero-inner h1 {
  color:#ffffff;
  text-shadow:0 22px 48px rgba(0,0,0,0.65);
}
body.dark-mode .hero-team .hero-inner p {
  color:rgba(236,244,255,0.92);
  text-shadow:0 16px 36px rgba(0,0,0,0.6);
}

.hero-partners {
  background:
    linear-gradient(140deg, rgba(8,38,94,0.92), rgba(29,110,242,0.68)),
    radial-gradient(circle at 18% 24%, rgba(255,255,255,0.18), transparent 60%),
    radial-gradient(circle at 78% 20%, rgba(82,156,255,0.28), transparent 64%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-partners::after {
  opacity:0.46;
  background:radial-gradient(circle at 24% 18%, rgba(255,255,255,0.26), transparent 62%),
             radial-gradient(circle at 72% 78%, rgba(12,58,128,0.32), transparent 70%);
  mix-blend-mode:screen;
}
.hero-partners .hero-inner h1,
.hero-partners .hero-inner p {
  color:#f6f9ff;
  text-shadow:0 20px 46px rgba(3,12,32,0.55);
}
body.dark-mode .hero-partners {
  background:
    linear-gradient(140deg, rgba(2,12,32,0.95), rgba(10,40,96,0.85)),
    radial-gradient(circle at 20% 22%, rgba(82,156,255,0.32), transparent 60%),
    radial-gradient(circle at 76% 74%, rgba(17,70,143,0.28), transparent 68%);
}
body.dark-mode .hero-partners::after {
  opacity:0.36;
  background:radial-gradient(circle at 18% 20%, rgba(86,164,255,0.38), transparent 66%),
             radial-gradient(circle at 74% 76%, rgba(29,110,242,0.34), transparent 70%);
  mix-blend-mode:lighten;
}
body.dark-mode .hero-partners .hero-inner h1,
body.dark-mode .hero-partners .hero-inner p {
  color:#f7faff;
  text-shadow:0 24px 52px rgba(0,0,0,0.65);
}

.policy-section .info-card h3 {
  margin-bottom:0.65rem;
}

.partners-section .section-intro p {
  color:var(--neutral-700);
}

body.dark-mode .partners-section .section-intro p {
  color:rgba(230,238,255,0.9);
}

.projects-highlights {position:relative; z-index:2;}
.projects-highlights .info-card {
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.projects-highlights .info-card .icon-wrapper {
  box-shadow:0 20px 40px rgba(17,70,143,0.18);
}

.projects-overview {
  position:relative;
  background:linear-gradient(180deg, rgba(241,245,255,0.7) 0%, rgba(223,233,255,0.58) 100%);
}
.projects-overview::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 18%, rgba(29,110,242,0.16), transparent 55%),
             radial-gradient(circle at 85% 78%, rgba(17,70,143,0.14), transparent 60%);
  opacity:0.6;
  pointer-events:none;
}
.projects-overview .container {position:relative; z-index:2;}
.projects-overview .info-card {
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}

.projects-section {
  position:relative;
  overflow:hidden;
}
.projects-section::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(17,70,143,0.075) 0%, rgba(12,52,124,0.05) 45%, rgba(17,70,143,0.08) 100%);
  opacity:0.65;
  pointer-events:none;
}
.projects-section .container {position:relative; z-index:2;}
.projects-section .section-intro {margin-bottom:3.5rem;}

.project-card {
  background:var(--surface-color);
  border:1px solid rgba(17,70,143,0.08);
  border-radius:28px;
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  display:flex;
  flex-direction:column;
  height:100%;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  position:relative;
}
.project-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg, rgba(29,110,242,0.12), transparent 70%);
  opacity:0;
  pointer-events:none;
  transition:opacity .4s ease;
}
.project-card:hover {
  transform:translateY(-12px);
  box-shadow:var(--shadow-strong);
  border-color:rgba(29,110,242,0.16);
}
.project-card:hover::after {opacity:1;}
.project-image {position:relative; overflow:hidden;}
.project-image img {
  width:100%;
  height:240px;
  object-fit:cover;
  transition:transform .45s ease;
}
.project-card:hover .project-image img {transform:scale(1.06);} 
.project-content {
  padding:2.25rem 2rem 2.4rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.project-name {
  margin:0;
  font-size:1.35rem;
  color:var(--primary-dark);
}
.project-type {
  display:inline-flex;
  align-items:center;
  padding:0.35rem 0.9rem;
  background:rgba(17,70,143,0.08);
  border-radius:999px;
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  width:max-content;
}
.project-description,
.project-details {margin:0; color:var(--neutral-700); line-height:1.7;}
.project-location {
  margin:0;
  font-weight:600;
  color:var(--primary-dark);
  display:flex;
  align-items:center;
  gap:0.5rem;
}

.projects-cta {
  position:relative;
  overflow:hidden;
  background:linear-gradient(140deg, rgba(8,34,96,0.88), rgba(29,110,242,0.72));
}
.projects-cta::before {
  content:"";
  position:absolute;
  inset:-25% -10% auto 10%;
  height:120%;
  background:radial-gradient(circle at top right, rgba(255,255,255,0.35), transparent 68%);
  opacity:0.45;
  pointer-events:none;
}
.projects-cta .container {position:relative; z-index:2;}
.projects-cta-card {
  background:rgba(255,255,255,0.92);
  border-radius:34px;
  padding:3rem;
  border:1px solid rgba(255,255,255,0.45);
  box-shadow:0 32px 80px rgba(7,15,31,0.28);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.projects-cta .btn-outline-brand {display:inline-flex; align-items:center; gap:.4rem;}
.projects-cta-stats {
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}
.projects-cta-item {
  background:rgba(246,249,255,0.9);
  border:1px solid rgba(17,70,143,0.12);
  border-radius:20px;
  padding:1.4rem 1.6rem;
  display:flex;
  flex-direction:column;
  gap:0.35rem;
  box-shadow:0 20px 40px rgba(17,70,143,0.14);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.projects-cta-item:hover {
  transform:translateY(-6px);
  border-color:rgba(17,70,143,0.22);
  box-shadow:0 26px 48px rgba(17,70,143,0.2);
}
.projects-cta-number {
  font-size:2.25rem;
  font-weight:700;
  color:var(--primary-dark);
}
.projects-cta-label {
  font-weight:600;
  color:var(--neutral-700);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:0.8rem;
}

body.dark-mode .projects-highlights .info-card {
  background:rgba(7,15,31,0.85);
  border-color:rgba(82,156,255,0.18);
}
body.dark-mode .projects-overview {
  background:linear-gradient(180deg, rgba(5,11,23,0.92) 0%, rgba(5,11,23,0.8) 100%);
}
body.dark-mode .projects-overview::before {
  opacity:0.45;
  background:radial-gradient(circle at 12% 18%, rgba(82,156,255,0.28), transparent 55%),
             radial-gradient(circle at 85% 78%, rgba(29,110,242,0.24), transparent 60%);
}
body.dark-mode .projects-overview .info-card {
  background:rgba(7,15,31,0.9);
  border-color:rgba(82,156,255,0.18);
  box-shadow:0 26px 52px rgba(2,6,14,0.55);
}
body.dark-mode .projects-section::before {
  opacity:0.55;
  background:linear-gradient(180deg, rgba(2,6,18,0.9) 0%, rgba(2,6,18,0.75) 50%, rgba(2,6,18,0.92) 100%);
}
body.dark-mode .project-card {
  background:rgba(8,18,34,0.92);
  border-color:rgba(82,156,255,0.2);
  box-shadow:0 30px 68px rgba(2,6,14,0.6);
}
body.dark-mode .project-card::after {
  background:linear-gradient(140deg, rgba(82,156,255,0.26), transparent 70%);
}
body.dark-mode .project-type {
  background:rgba(82,156,255,0.18);
  color:rgba(245,249,255,0.95);
}
body.dark-mode .project-description,
body.dark-mode .project-details {color:rgba(230,238,255,0.9);}
body.dark-mode .project-location {color:rgba(224,232,247,0.92);}
body.dark-mode .project-location i {color:rgba(118,179,255,0.92);}
body.dark-mode .projects-cta {
  background:linear-gradient(140deg, rgba(2,6,18,0.96), rgba(10,32,76,0.88));
}
body.dark-mode .projects-cta::before {
  background:radial-gradient(circle at top right, rgba(82,156,255,0.35), transparent 70%);
}
body.dark-mode .projects-cta-card {
  background:rgba(7,15,31,0.9);
  border-color:rgba(82,156,255,0.2);
  box-shadow:0 40px 80px rgba(0,0,0,0.55);
}
body.dark-mode .projects-cta-item {
  background:rgba(7,15,31,0.82);
  border-color:rgba(82,156,255,0.18);
  box-shadow:0 22px 48px rgba(2,6,14,0.55);
}
body.dark-mode .projects-cta-number {color:rgba(245,249,255,0.95);}
body.dark-mode .projects-cta-label {color:rgba(224,232,247,0.85);}

@media (max-width: 991.98px) {
  .projects-cta-card {padding:2.5rem;}
}
@media (max-width: 575.98px) {
  .project-image img {height:200px;}
  .project-content {padding:1.9rem 1.6rem 2.1rem;}
  .projects-cta-card {padding:2rem;}
}

.hero-projects {
  background:
    linear-gradient(140deg, rgba(7,30,82,0.92), rgba(17,70,143,0.75)),
    radial-gradient(circle at 16% 20%, rgba(255,255,255,0.18), transparent 60%),
    radial-gradient(circle at 80% 25%, rgba(82,156,255,0.28), transparent 65%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-projects::after {
  opacity:0.42;
  background:radial-gradient(circle at 24% 16%, rgba(255,255,255,0.22), transparent 62%),
             radial-gradient(circle at 70% 78%, rgba(12,58,128,0.3), transparent 70%);
  mix-blend-mode:screen;
}
.hero-projects .hero-inner h1,
.hero-projects .hero-inner p {
  color:#f5f9ff;
  text-shadow:0 20px 48px rgba(3,12,28,0.55);
}
body.dark-mode .hero-projects {
  background:
    linear-gradient(140deg, rgba(2,10,28,0.95), rgba(8,32,78,0.85)),
    radial-gradient(circle at 20% 22%, rgba(82,156,255,0.32), transparent 60%),
    radial-gradient(circle at 78% 76%, rgba(17,70,143,0.26), transparent 70%);
}
body.dark-mode .hero-projects::after {
  opacity:0.34;
  background:radial-gradient(circle at 16% 20%, rgba(86,164,255,0.36), transparent 60%),
             radial-gradient(circle at 76% 74%, rgba(29,110,242,0.32), transparent 70%);
}
body.dark-mode .hero-projects .hero-inner h1,
body.dark-mode .hero-projects .hero-inner p {
  color:#f7fbff;
  text-shadow:0 24px 54px rgba(0,0,0,0.6);
}

.hero-about {
  background:
    linear-gradient(140deg, rgba(10,44,120,0.9), rgba(29,110,242,0.6)),
    radial-gradient(circle at 20% 25%, rgba(255,255,255,0.16), transparent 58%),
    radial-gradient(circle at 78% 76%, rgba(17,70,143,0.22), transparent 68%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-about::after {
  opacity:0.42;
  background:radial-gradient(circle at 22% 22%, rgba(255,255,255,0.28), transparent 62%),
             radial-gradient(circle at 70% 78%, rgba(82,156,255,0.32), transparent 68%);
  mix-blend-mode:screen;
}
.hero-about .hero-inner h1,
.hero-about .hero-inner p {
  color:#f5f8ff;
  text-shadow:0 18px 42px rgba(4,16,38,0.55);
}
body.dark-mode .hero-about {
  background:
    linear-gradient(140deg, rgba(2,12,32,0.95), rgba(10,36,92,0.86)),
    radial-gradient(circle at 24% 26%, rgba(82,156,255,0.34), transparent 60%),
    radial-gradient(circle at 74% 78%, rgba(29,110,242,0.28), transparent 70%);
}
body.dark-mode .hero-about::after {
  opacity:0.32;
  background:radial-gradient(circle at 20% 24%, rgba(86,164,255,0.36), transparent 66%),
             radial-gradient(circle at 72% 76%, rgba(29,110,242,0.3), transparent 70%);
  mix-blend-mode:lighten;
}
body.dark-mode .hero-about .hero-inner h1,
body.dark-mode .hero-about .hero-inner p {
  color:#f8fbff;
  text-shadow:0 22px 48px rgba(0,0,0,0.65);
}

.hero-news {
  background:
    linear-gradient(145deg, rgba(8,32,84,0.9), rgba(29,110,242,0.58)),
    radial-gradient(circle at 18% 28%, rgba(255,255,255,0.18), transparent 60%),
    radial-gradient(circle at 80% 24%, rgba(82,156,255,0.28), transparent 62%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-news::after {
  opacity:0.4;
  background:radial-gradient(circle at 30% 25%, rgba(255,255,255,0.25), transparent 64%),
             radial-gradient(circle at 78% 80%, rgba(29,110,242,0.25), transparent 70%);
  mix-blend-mode:screen;
}
.hero-news .hero-inner h1,
.hero-news .hero-inner p {
  color:#f5f8ff;
  text-shadow:0 18px 44px rgba(4,14,38,0.55);
}
body.dark-mode .hero-news {
  background:
    linear-gradient(145deg, rgba(2,10,24,0.95), rgba(8,28,68,0.88)),
    radial-gradient(circle at 22% 24%, rgba(86,164,255,0.34), transparent 62%),
    radial-gradient(circle at 76% 78%, rgba(29,110,242,0.3), transparent 70%);
}
body.dark-mode .hero-news::after {
  opacity:0.32;
  background:radial-gradient(circle at 26% 22%, rgba(108,174,255,0.34), transparent 65%),
             radial-gradient(circle at 78% 76%, rgba(40,132,255,0.32), transparent 68%);
  mix-blend-mode:lighten;
}
body.dark-mode .hero-news .hero-inner h1,
body.dark-mode .hero-news .hero-inner p {
  color:#f8fbff;
  text-shadow:0 22px 48px rgba(0,0,0,0.65);
}

.hero-gallery {
  background:
    linear-gradient(140deg, rgba(6,28,68,0.9), rgba(29,110,242,0.6)),
    radial-gradient(circle at 16% 24%, rgba(255,255,255,0.18), transparent 58%),
    radial-gradient(circle at 82% 74%, rgba(17,70,143,0.24), transparent 68%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-gallery::after {
  opacity:0.4;
  background:radial-gradient(circle at 24% 26%, rgba(255,255,255,0.26), transparent 62%),
             radial-gradient(circle at 74% 72%, rgba(82,156,255,0.3), transparent 70%);
  mix-blend-mode:screen;
}
.hero-gallery .hero-inner h1,
.hero-gallery .hero-inner p {
  color:#f5f8ff;
  text-shadow:0 18px 42px rgba(3,12,34,0.52);
}
body.dark-mode .hero-gallery {
  background:
    linear-gradient(140deg, rgba(2,10,24,0.95), rgba(8,28,68,0.88)),
    radial-gradient(circle at 20% 28%, rgba(86,164,255,0.34), transparent 60%),
    radial-gradient(circle at 78% 74%, rgba(29,110,242,0.28), transparent 68%);
}
body.dark-mode .hero-gallery::after {
  opacity:0.3;
  background:radial-gradient(circle at 22% 26%, rgba(108,174,255,0.32), transparent 66%),
             radial-gradient(circle at 76% 70%, rgba(40,132,255,0.3), transparent 68%);
  mix-blend-mode:lighten;
}
body.dark-mode .hero-gallery .hero-inner h1,
body.dark-mode .hero-gallery .hero-inner p {
  color:#f8fbff;
  text-shadow:0 22px 48px rgba(0,0,0,0.65);
}

.hero-contact {
  background:
    linear-gradient(145deg, rgba(12,44,108,0.88), rgba(29,110,242,0.6)),
    radial-gradient(circle at 18% 30%, rgba(255,255,255,0.18), transparent 60%),
    radial-gradient(circle at 80% 76%, rgba(17,70,143,0.22), transparent 68%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-contact::after {
  opacity:0.4;
  background:radial-gradient(circle at 26% 28%, rgba(255,255,255,0.26), transparent 62%),
             radial-gradient(circle at 74% 70%, rgba(82,156,255,0.3), transparent 70%);
  mix-blend-mode:screen;
}
.hero-contact .hero-inner h1,
.hero-contact .hero-inner p {
  color:#f6f9ff;
  text-shadow:0 20px 46px rgba(4,14,34,0.55);
}
body.dark-mode .hero-contact {
  background:
    linear-gradient(145deg, rgba(2,12,28,0.95), rgba(8,28,64,0.88)),
    radial-gradient(circle at 22% 30%, rgba(86,164,255,0.34), transparent 60%),
    radial-gradient(circle at 78% 72%, rgba(29,110,242,0.28), transparent 70%);
}
body.dark-mode .hero-contact::after {
  opacity:0.3;
  background:radial-gradient(circle at 24% 30%, rgba(108,174,255,0.3), transparent 66%),
             radial-gradient(circle at 76% 70%, rgba(40,132,255,0.28), transparent 68%);
  mix-blend-mode:lighten;
}
body.dark-mode .hero-contact .hero-inner h1,
body.dark-mode .hero-contact .hero-inner p {
  color:#f8fbff;
  text-shadow:0 24px 50px rgba(0,0,0,0.65);
}

.gallery-section .gallery-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:1.75rem;
  align-items:stretch;
}
.gallery-item {
  position:relative;
  display:block;
  border-radius:26px;
  overflow:hidden;
  background:rgba(255,255,255,0.9);
  border:1px solid rgba(17,70,143,0.1);
  box-shadow:var(--shadow-soft);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  isolation:isolate;
}
.gallery-item::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg, rgba(17,70,143,0.25), rgba(29,110,242,0.25));
  mix-blend-mode:screen;
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
  z-index:1;
}
.gallery-item img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.gallery-item:hover {
  transform:translateY(-10px);
  border-color:rgba(29,110,242,0.22);
  box-shadow:0 32px 80px rgba(17,70,143,0.18);
}
.gallery-item:hover::after {opacity:0.35;}
.gallery-item:hover img {transform:scale(1.05);}

body.dark-mode .gallery-item {
  background:rgba(8,18,34,0.92);
  border-color:rgba(79,163,216,0.24);
  box-shadow:0 34px 84px rgba(2,6,15,0.65);
}
body.dark-mode .gallery-item::after {
  background:linear-gradient(140deg, rgba(82,156,255,0.32), rgba(29,110,242,0.3));
}
body.dark-mode .gallery-item:hover {
  border-color:rgba(82,156,255,0.32);
  box-shadow:0 38px 92px rgba(2,6,15,0.72);
}

@media (max-width: 575.98px) {
  .gallery-section .gallery-grid {
    gap:1.25rem;
  }
  .gallery-item {border-radius:22px;}
}

