/* INGEODATA Classic Design Override
   Layered on top of main.css to give a traditional, professional look */
/* Google Fonts loaded via <link> tags in HTML for faster rendering */

/* ===== Anti-FOUC: hide header/footer placeholders until JS loads ===== */
#header-placeholder:empty,
#footer-placeholder:empty,
#modal-placeholder:empty {
  min-height: 0;
  visibility: hidden;
}

/* Smooth reveal after JS loads */
body {
  opacity: 0;
  transition: opacity 0.15s ease;
}
body.js-loaded {
  opacity: 1;
}

:root {
  --primary-blue: #1a3050;
  --dark-blue: #0e1b30;
  --light-blue: #2e6da4;
  --accent-blue: #2a5f96;
  --text-dark: #1e2d3d;
  --text-gray: #4a5b6e;
  --gray-bg: #f4f6f8;
  --border-gray: #d0d7de;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 2px 8px rgba(0,0,0,0.1);
  --shadow-lg: 0 4px 16px rgba(0,0,0,0.12);
  --transition: all 0.2s ease;
}

body {
  font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

/* Serif headings */
h1, h2, h3,
.section-title,
.hero-title,
.about-intro h3,
.about-history h3,
.about-mission h3,
.about-approach h3,
.about-expertise h3,
.about-why-choose h3,
.cta-content h2,
.modal-header h2,
.partner-title,
.cert-name,
.footer-logo {
  font-family: 'Merriweather', Georgia, 'Times New Roman', serif;
}

/* ===== Remove all heavy animations ===== */
@keyframes pulseGlow { 0%,100% { opacity: 1 } }
@keyframes heroFadeIn { from { opacity:1; transform:none } to { opacity:1; transform:none } }
@keyframes titleSlideIn { from { opacity:1; transform:none; filter:none } to { opacity:1; transform:none; filter:none } }
@keyframes subtitleSlideIn { from { opacity:1; transform:none; filter:none } to { opacity:1; transform:none; filter:none } }
@keyframes textFadeIn { from { opacity:0.9; transform:none } to { opacity:0.9; transform:none } }
@keyframes buttonsFadeIn { from { opacity:1; transform:none } to { opacity:1; transform:none } }
@keyframes partnersFadeIn { from { opacity:1; transform:none } to { opacity:1; transform:none } }
@keyframes fadeInUp { from { opacity:1; transform:none } to { opacity:1; transform:none } }
@keyframes modalSlideUp { from { transform:none; opacity:1 } to { transform:none; opacity:1 } }

/* Remove radial gradient overlays and glows */
.hero::before,
.about-hero::before,
.about-cta::before {
  display: none;
}

/* ===== Reduce border-radius everywhere ===== */
.service-card,
.about-card,
.training-card,
.result-card,
.cert-card,
.approach-item,
.why-item,
.about-values-simple,
.partner-logo,
.modal-content,
.training-image {
  border-radius: 4px;
}

.btn,
.form-group input,
.form-group textarea,
.social-link,
.logo-icon,
.service-icon,
.expertise-item,
.value-item,
.dropdown-menu,
.language-menu,
.mega-submenu a,
.cert-badge {
  border-radius: 3px;
}

/* ===== Simpler header ===== */
.header {
  border-bottom: 2px solid var(--light-blue);
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}

.logo-icon {
  background: var(--light-blue);
}

.logo:hover {
  transform: none;
}

.logo:hover .logo-icon {
  transform: none;
  box-shadow: none;
}

/* ===== Hero: classic, no gradient text, simpler ===== */
.hero {
  background: linear-gradient(180deg, var(--dark-blue) 0%, var(--primary-blue) 100%);
  min-height: auto;
  padding: 180px 0 120px;
}

.hero::after {
  height: 80px;
  background: linear-gradient(to bottom, transparent, white);
}

.hero-title {
  font-size: 48px;
  font-weight: 900;
  letter-spacing: 2px;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
  animation: none;
}

.hero-subtitle {
  font-size: 36px;
  font-weight: 700;
  color: #7ab5e0;
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: #7ab5e0;
  background-clip: unset;
  animation: none;
}

.hero-subtitle::after {
  width: 80px;
  height: 3px;
  background: #7ab5e0;
  box-shadow: none;
}

.hero-content {
  animation: none;
}

.hero-text {
  animation: none;
  letter-spacing: 3px;
}

.hero-buttons {
  animation: none;
}

.hero-partners {
  animation: none;
}

/* ===== Buttons: classic, solid, no ripple effect ===== */
.btn {
  border-radius: 3px;
  box-shadow: none;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 14px 36px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.btn::before {
  display: none;
}

.btn-primary {
  background-color: var(--light-blue);
  border: 2px solid var(--light-blue);
}

.btn-primary:hover {
  background-color: var(--accent-blue);
  border-color: var(--accent-blue);
  transform: none;
  box-shadow: none;
}

.btn-secondary:hover {
  transform: none;
  box-shadow: none;
}

.btn-dark:hover {
  transform: none;
  box-shadow: none;
}

.btn:active {
  transform: none;
  opacity: 0.9;
}

/* ===== Service cards as links ===== */
a.service-card {
  text-decoration: none;
  color: inherit;
}

/* ===== Cards: classic borders instead of heavy shadows ===== */
.service-card {
  box-shadow: none;
  border: 1px solid var(--border-gray);
  border-top: 3px solid var(--light-blue);
}

.service-card:hover {
  transform: none;
  box-shadow: var(--shadow-md);
  border-top-color: var(--primary-blue);
}

.about-card {
  box-shadow: none;
  border: 1px solid var(--border-gray);
  border-top: 3px solid var(--light-blue);
}

.about-card:hover {
  transform: none;
  box-shadow: var(--shadow-sm);
}

.training-card,
.result-card {
  box-shadow: none;
  border: 1px solid var(--border-gray);
  border-left: 4px solid var(--light-blue);
}

.training-card:hover,
.result-card:hover {
  transform: none;
  box-shadow: var(--shadow-md);
}

.approach-item {
  box-shadow: none;
  border: 1px solid var(--border-gray);
  border-left: 4px solid var(--light-blue);
}

.approach-item:hover {
  transform: none;
  box-shadow: var(--shadow-sm);
  border-left-color: var(--primary-blue);
}

.why-item {
  border-top: 3px solid var(--light-blue);
  box-shadow: none;
  border: 1px solid var(--border-gray);
  border-top: 3px solid var(--light-blue);
}

.why-item:hover {
  transform: none;
  box-shadow: var(--shadow-sm);
}

.cert-card {
  box-shadow: none;
  border: 1px solid var(--border-gray);
}

.cert-card::before {
  height: 4px;
  background: var(--light-blue);
}

.cert-card:hover {
  transform: none;
  box-shadow: var(--shadow-md);
}

.cert-card:hover .cert-image {
  transform: none;
}

/* ===== Values / expertise items: simpler hover ===== */
.value-item:hover {
  transform: none;
  box-shadow: var(--shadow-sm);
}

.expertise-item:hover {
  transform: none;
  box-shadow: var(--shadow-sm);
}

/* ===== Section titles: classic underline ===== */
.section-title {
  font-size: 34px;
  font-weight: 900;
  letter-spacing: 0.5px;
}

.section-title::after {
  width: 60px;
  height: 3px;
  background: var(--light-blue);
}

/* ===== Partner logos: simpler ===== */
.partner-logo {
  border: 1px solid var(--border-gray);
  box-shadow: none;
  backdrop-filter: none;
}

.partner-logo::before,
.partner-logo::after {
  display: none;
}

.partner-logo:hover {
  transform: none;
  border-color: var(--light-blue);
  box-shadow: var(--shadow-sm);
}

.partner-logo:hover svg {
  transform: none;
  filter: none;
}

/* Hero partner logos */
.hero .partner-logo {
  backdrop-filter: none;
}

/* ===== Footer: classic, no gradient text, no glassmorphism ===== */
.footer::before {
  height: 3px;
  background: var(--light-blue);
}

.footer::after {
  display: none;
}

.footer-logo {
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: var(--text-light);
  background-clip: unset;
  font-size: 30px;
  letter-spacing: 2px;
}

.social-link {
  backdrop-filter: none;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 3px;
}

.social-link::before {
  display: none;
}

.social-link:hover {
  background: var(--light-blue);
  border-color: var(--light-blue);
  transform: none;
  box-shadow: none;
}

.footer-section h4::after {
  background: var(--light-blue);
}

.footer-section ul li a::before {
  display: none;
}

.footer-section ul li a {
  padding-left: 0;
}

.footer-section ul li a:hover {
  color: #7ab5e0;
  text-decoration: underline;
}

.footer-bottom {
  backdrop-filter: none;
  background-color: rgba(0,0,0,0.2);
}

/* ===== About hero: classic ===== */
.about-hero {
  background: var(--primary-blue);
}

.about-hero-content {
  animation: none;
}

/* ===== About CTA: classic ===== */
.about-cta {
  background: var(--primary-blue);
}

.cta-content h2 {
  font-size: 40px;
  letter-spacing: 1px;
}

/* ===== Modal: classic ===== */
.modal-overlay {
  backdrop-filter: none;
  background: rgba(0,0,0,0.5);
}

.modal-close:hover {
  transform: none;
  color: var(--light-blue);
}

/* ===== Scrollbar for webkit ===== */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: var(--gray-bg);
}
::-webkit-scrollbar-thumb {
  background: #b0bec5;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #90a4ae;
}

/* ===== Approach numbers: subtler ===== */
.approach-number {
  font-family: 'Merriweather', Georgia, serif;
  color: rgba(46, 109, 164, 0.1);
}

/* ===== Service icon: flat, no gradient ===== */
.service-icon {
  background: var(--light-blue);
  border-radius: 3px;
  box-shadow: none;
}

/* ===== About values: classic border ===== */
.about-values-simple {
  border: 1px solid var(--border-gray);
  box-shadow: none;
}

/* ===== Training images: no zoom hover ===== */
.training-image:hover img {
  transform: none;
}

/* ===== Nav dropdown: redesigned, compact, classic ===== */

/* --- Regular dropdown (Training, etc.) --- */
.dropdown-menu {
  border-radius: 2px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  border: 1px solid var(--border-gray);
  margin-top: 8px;
  min-width: 220px;
}

.dropdown-menu a {
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-dark);
  border-bottom: 1px solid #eef1f4;
  transition: background 0.15s ease, color 0.15s ease;
}

.dropdown-menu a::before {
  display: none;
}

.dropdown-menu a:hover {
  background-color: var(--primary-blue);
  color: #fff;
  padding-left: 20px;
}

.dropdown-menu a:last-child {
  border-bottom: none;
}

/* --- Mega menu (Engineering Services) --- */
.dropdown-mega {
  min-width: 380px;
  border-radius: 2px;
  border: 1px solid var(--border-gray);
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.mega-menu-container {
  min-height: auto;
}

.mega-menu-container:has(.mega-menu-right.has-active) {
  min-width: 700px;
}

.mega-menu-left {
  flex: 0 0 340px;
}

.mega-menu-item {
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 500;
  border-bottom: 1px solid #eef1f4;
  transition: background 0.15s ease, color 0.15s ease;
}

.mega-menu-item:hover,
.mega-menu-item.active {
  background-color: var(--primary-blue);
  color: #fff;
}

.mega-menu-item .arrow-icon {
  font-size: 14px;
  opacity: 0.6;
}

.mega-menu-item:hover .arrow-icon,
.mega-menu-item.active .arrow-icon {
  opacity: 1;
  transform: none;
  color: #fff;
}

.mega-menu-right {
  background-color: #f7f9fb;
}

.mega-submenu {
  padding: 12px 16px;
}

.mega-submenu a {
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-dark);
  border-radius: 2px;
  margin-bottom: 2px;
  transition: background 0.15s ease, color 0.15s ease;
}

.mega-submenu a:hover {
  background-color: var(--primary-blue);
  color: #fff;
  padding-left: 14px;
  box-shadow: none;
}

/* --- Language switcher --- */
.language-menu {
  border-radius: 2px;
  border: 1px solid var(--border-gray);
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  min-width: 100px;
}

.language-option {
  padding: 8px 16px;
  font-size: 13px;
  border-bottom: 1px solid #eef1f4;
  transition: background 0.15s ease, color 0.15s ease;
}

.language-option:hover {
  background: var(--primary-blue);
  color: #fff;
  padding-left: 16px;
}

.current-language {
  border-radius: 2px;
}

/* --- Mobile nav overhaul --- */
@media (max-width: 768px) {
  .nav {
    width: 100%;
    max-width: 100%;
    background-color: var(--dark-blue);
    box-shadow: none;
    border-top: 2px solid var(--light-blue);
  }

  .nav-link {
    padding: 14px 20px;
    font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  /* Mobile dropdown */
  .dropdown-menu {
    border: none;
    box-shadow: none;
    border-radius: 0;
    background-color: rgba(0,0,0,0.25);
  }

  .dropdown-menu a {
    color: rgba(255,255,255,0.85);
    padding: 12px 20px 12px 36px;
    font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }

  .dropdown-menu a:hover {
    background-color: rgba(46,109,164,0.3);
    color: #fff;
    padding-left: 36px;
  }

  /* Mobile mega menu */
  .dropdown-mega {
    min-width: 100%;
    border: none;
    box-shadow: none;
    border-radius: 0;
  }

  .mega-menu-container {
    flex-direction: column;
    background-color: rgba(0,0,0,0.25);
  }

  .mega-menu-container:has(.mega-menu-right.has-active) {
    min-width: 100%;
  }

  .mega-menu-left {
    flex: 1;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .mega-menu-item {
    padding: 12px 20px 12px 36px;
    color: rgba(255,255,255,0.85);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-size: 13px;
  }

  .mega-menu-item:hover,
  .mega-menu-item.active {
    background-color: rgba(46,109,164,0.3);
    color: #fff;
  }

  .mega-menu-right {
    background-color: transparent;
  }

  .mega-submenu {
    padding: 8px 12px;
  }

  .mega-submenu a {
    padding: 10px 16px 10px 48px;
    color: rgba(255,255,255,0.8);
    font-size: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    border-radius: 0;
  }

  .mega-submenu a:hover {
    background-color: rgba(46,109,164,0.25);
    color: #fff;
    padding-left: 48px;
  }

  /* Mobile language switcher */
  .language-menu {
    border: none;
    box-shadow: none;
    border-radius: 0;
    background-color: rgba(0,0,0,0.25);
  }

  .language-option {
    color: rgba(255,255,255,0.85);
    padding: 12px 20px 12px 36px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }

  .language-option:hover {
    background-color: rgba(46,109,164,0.3);
    color: #fff;
    padding-left: 36px;
  }
}

/* ===== Partner title: classic underline ===== */
.partner-title::after {
  background: var(--light-blue);
}

/* ===== Scrolling logos: no animation, static grid ===== */
.partner-logos-scroll {
  animation: none;
  flex-wrap: wrap;
  justify-content: center;
}

.partner-logos {
  flex-wrap: wrap;
  justify-content: center;
  overflow: visible;
}

/* ===== Watermark ===== */
.watermark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 20px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.4);
  transition: color 0.3s ease;
}

.watermark:hover {
  color: rgba(255, 255, 255, 0.65);
}

.watermark-text {
  font-family: 'Source Sans 3', sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.watermark-logo {
  width: 52px;
  height: auto;
}

/* ===== Performance: reduce paint complexity ===== */
* {
  will-change: auto !important;
}

/* ===== Print-friendly (bonus) ===== */
@media print {
  .header, .footer, .modal, .about-cta { display: none; }
  body { color: #000; background: #fff; }
}
