/* ============================================================
   MBS Technologies — Complete Dark Theme
   Logo palette: Navy #00154E/#1E3C78, Burgundy #78203C, Steel #4A6FA5
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
   --navy: #00154E;
   --navy-mid: #1E3C78;
   --burgundy: #78203C;
   --steel: #4A6FA5;
   --g-brand: linear-gradient(135deg, #1E3C78 0%, #4A6FA5 55%, #78203C 100%);
   --g-hero: linear-gradient(140deg, #2785e4 0%, #f0f4f8 45%, #db728b 100%);
   --border: rgba(0, 0, 0, 0.1);
   --border-h: rgba(0, 0, 0, 0.2);
}

*,
*::before,
*::after {
   box-sizing: border-box;
}

html {
   scroll-behavior: smooth;
}

body {
   font-family: 'Inter', sans-serif;
   background-color: #ffffff;
   color: #212529;
   overflow-x: hidden;
   line-height: 1.75;
}

h1,
h2,
h3,
h4,
h5,
h6 {
   font-family: 'Space Grotesk', sans-serif;
   color: #00154E !important;
   line-height: 1.25;
}

p {
   color: #495057;
}

a {
   color: #74AFDF;
   text-decoration: none;
}

a:hover {
   color: #ffffff;
}

/* Global utility overrides for light mode */
.text-white,
.text-light {
   color: #ffffff !important;
}

.text-muted {
   color: #6c757d !important;
}

.mbs-glass a.text-white,
footer a.text-white,
a.text-white,
a.text-light {
   color: #1E3C78 !important;
}

.mbs-announcement-bar .text-white,
.mbs-btn-primary,
.mbs-btn-primary .text-white,
.badge.text-white,
.bg-primary.text-white,
.bg-info.text-white,
.bg-dark.text-white,
.badge,
.bg-primary {
   color: #ffffff !important;
}

header .text-muted {
   color: #495057 !important;
}

.text-gradient {
   background: var(--g-brand);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
}

/* ============================
   BACKGROUNDS
   ============================ */
.grid-overlay {
   position: fixed;
   inset: 0;
   background-image:
      linear-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
   background-size: 40px 40px;
   pointer-events: none;
   z-index: -2;
}

#bg-canvas {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   z-index: -1;
   pointer-events: none;
}

@keyframes float {

   0%,
   100% {
      transform: translateY(0);
   }

   50% {
      transform: translateY(-12px);
   }
}

.animate-float {
   animation: float 6s ease-in-out infinite;
}

.bg-dark-card,
.bg-opacity-20.bg-dark-card,
.bg-opacity-30.bg-dark-card,
.bg-opacity-50.bg-dark-card {
   background-color: #f8f9fa !important;
   opacity: 1 !important;
}

.border-secondary {
   border-color: rgba(74, 111, 165, 0.15) !important;
}

.border-opacity-10 {
   --bs-border-opacity: 1 !important;
   border-color: rgba(74, 111, 165, 0.12) !important;
}

.bg-secondary.bg-opacity-20 {
   background-color: rgba(255, 255, 255, 0.08) !important;
}

/* ============================
   ANNOUNCEMENT BAR
   ============================ */
.mbs-announcement-bar {
   background: var(--g-brand);
   font-size: 0.83rem;
   font-weight: 500;
   letter-spacing: 0.4px;
}

.mbs-announcement-bar .text-warning {
   color: #FDE68A !important;
}

.mbs-announcement-bar .text-info {
   color: rgba(255, 255, 255, 0.9) !important;
}

/* ============================
   NAVBAR
   ============================ */
.mbs-glass-nav {
   background: rgba(255, 255, 255, 0.97) !important;
   backdrop-filter: blur(20px);
   -webkit-backdrop-filter: blur(20px);
   border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
   box-shadow: 0 2px 24px rgba(0, 0, 0, 0.1);
   position: sticky;
}

.mbs-glass-nav .nav-link {
   color: rgba(0, 0, 0, 0.75) !important;
   font-weight: 500;
   font-size: 0.9rem;
   padding: 7px 13px !important;
   border-radius: 8px;
   transition: all 0.25s ease;
}

.mbs-glass-nav .nav-link:hover,
.mbs-glass-nav .nav-link.active {
   color: #000000 !important;
   background: rgba(0, 0, 0, 0.05);
}

.navbar-toggler {
   border: 1px solid rgba(0, 0, 0, 0.2) !important;
}

.navbar-toggler-icon {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280%2C0%2C0%2C0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.mbs-glass-nav .dropdown-toggle::after {
   display: none !important;
}

/* ============================
   MEGAMENU — JS hover with delay (stable)
   ============================ */
.mbs-solutions-item {
   position: static !important;
}

.mbs-solutions-trigger {
   cursor: pointer;
}

.mbs-megamenu {
   display: none;
   position: absolute;
   top: 100%;
   left: 50%;
   transform: translateX(-50%);
   width: 860px;
   max-width: 95vw;
   background: #ffffff;
   border: 1px solid rgba(0, 0, 0, 0.1);
   border-radius: 18px;
   z-index: 99999;
   box-shadow: 0 24px 64px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05);
   padding: 24px;
   margin-top: 6px;
}

/* JS adds/removes this class */
.mbs-megamenu.is-open {
   display: block;
}

@media (max-width: 991.98px) {
   .mbs-megamenu {
      position: static !important;
      width: 100% !important;
      transform: none !important;
      box-shadow: none !important;
      border-radius: 12px !important;
      margin-top: 8px !important;
      padding: 16px !important;
   }

   .mbs-megamenu.is-open {
      display: block;
   }
}

.megamenu-item {
   display: flex;
   align-items: flex-start;
   text-decoration: none !important;
   transition: all 0.18s ease;
   border: 1px solid transparent;
   border-radius: 10px;
   padding: 12px;
}

.megamenu-item:hover {
   background: rgba(74, 111, 165, 0.14) !important;
   border-color: rgba(74, 111, 165, 0.28) !important;
   transform: translateY(-2px);
}

.megamenu-icon-wrapper {
   width: 44px;
   height: 44px;
   flex-shrink: 0;
   background: rgba(74, 111, 165, 0.14) !important;
   border: 1px solid rgba(74, 111, 165, 0.28) !important;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.18s ease;
}

.megamenu-item:hover .megamenu-icon-wrapper {
   background: var(--g-brand) !important;
   border-color: transparent !important;
}

.megamenu-item:hover .megamenu-icon-wrapper i {
   color: #fff !important;
}

.mbs-megamenu h6 {
   color: #00154E !important;
   font-size: 0.9rem;
   font-weight: 600;
}

.mbs-megamenu p {
   color: #6c757d !important;
   font-size: 0.78rem;
   line-height: 1.4;
}

/* Chevron */
.bi-chevron-down {
   transition: transform 0.25s ease;
   display: inline-block;
}

.mbs-solutions-item.menu-open .bi-chevron-down {
   transform: rotate(180deg);
}

/* ============================
   HERO / HEADER
   ============================ */
header {
   background: var(--g-hero);
   position: relative;
   overflow: hidden;
}

header::before {
   content: '';
   position: absolute;
   inset: 0;
   background: radial-gradient(ellipse 55% 60% at 85% 50%, rgba(120, 32, 60, 0.2) 0%, transparent 65%),
      radial-gradient(ellipse 60% 55% at 15% 50%, rgba(74, 111, 165, 0.18) 0%, transparent 65%);
   pointer-events: none;
}

header .text-white {
   color: #00154E !important;
}

header .text-muted {
   color: #6c757d !important;
}

header .text-primary {
   color: #1E3C78 !important;
}

header .text-info {
   color: #4A6FA5 !important;
}

header p {
   color: #495057 !important;
}

header .lead {
   color: #212529 !important;
}

header h1,
header h2,
header h3,
header h4,
header h5,
header h6 {
   color: #00154E !important;
}

header small {
   color: #6c757d !important;
}

header .purecounter {
   color: #00154E !important;
}

header .small.text-muted {
   color: #6c757d !important;
}

header .text-info.text-decoration-none {
   color: #1E3C78 !important;
}

header .breadcrumb-item.active {
   color: #6c757d !important;
}

header .text-uppercase.fw-bold.small {
   color: #00154E !important;
}

.mbs-breadcrumb-item+.mbs-breadcrumb-item::before {
   color: rgba(255, 255, 255, 0.35);
}

/* ============================
   GLASS CARDS
   ============================ */
.mbs-glass {
   background: #ffffff;
   border: 1px solid rgba(0, 0, 0, 0.1);
   border-radius: 16px;
   box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
   transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.mbs-glass:hover {
   border-color: rgba(0, 0, 0, 0.2);
   box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
   transform: translateY(-3px);
}

/* ============================
   CARDS
   ============================ */
.mbs-card {
   padding: 36px 28px;
   height: 100%;
}

.mbs-card h3,
.mbs-card h4,
.mbs-card h5 {
   color: #00154E !important;
}

.mbs-card p {
   color: #495057 !important;
}

.mbs-card a {
   color: #74AFDF;
}

.mbs-card a:hover {
   color: #ffffff;
}

.mbs-icon-box {
   width: 60px;
   height: 60px;
   border-radius: 14px;
   background: rgba(74, 111, 165, 0.14);
   border: 1px solid rgba(74, 111, 165, 0.28);
   color: #74AFDF;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.5rem;
   margin-bottom: 22px;
   transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.mbs-card:hover .mbs-icon-box {
   background: var(--g-brand);
   color: #ffffff;
   border-color: transparent;
   transform: scale(1.1) rotate(5deg);
   box-shadow: 0 8px 22px rgba(30, 60, 120, 0.35);
}

/* ============================
   BUTTONS
   ============================ */
.mbs-btn {
   padding: 12px 28px;
   font-weight: 600;
   border-radius: 50px;
   transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
   letter-spacing: 0.5px;
   text-transform: uppercase;
   font-size: 0.82rem;
}

.mbs-btn-primary {
   background: var(--g-brand);
   color: #ffffff !important;
   font-weight: 700;
   border: none;
   box-shadow: 0 6px 20px rgba(30, 60, 120, 0.35);
   position: relative;
   overflow: hidden;
   z-index: 1;
}

.mbs-btn-primary::before {
   content: '';
   position: absolute;
   inset: 0;
   background: linear-gradient(135deg, #78203C 0%, #4A6FA5 50%, #1E3C78 100%);
   opacity: 0;
   z-index: -1;
   transition: opacity 0.3s ease;
   border-radius: 50px;
}

.mbs-btn-primary:hover::before {
   opacity: 1;
}

.mbs-btn-primary:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 28px rgba(120, 32, 60, 0.3);
   color: #ffffff !important;
}

.mbs-btn-secondary {
   background: rgba(74, 111, 165, 0.12);
   color: #00154E !important;
   border: 1px solid rgba(74, 111, 165, 0.3);
}

.mbs-btn-secondary:hover {
   background: rgba(74, 111, 165, 0.22);
   border-color: rgba(74, 111, 165, 0.55);
   color: #1E3C78 !important;
   transform: translateY(-2px);
}

.mbs-btn-secondary.active {
   background: var(--g-brand) !important;
   color: #ffffff !important;
   border-color: transparent !important;
}

.mbs-btn-outline {
   border: 2px solid transparent;
   background-image: linear-gradient(#ffffff, #ffffff), var(--g-brand);
   background-origin: border-box;
   background-clip: padding-box, border-box;
   color: #00154E !important;
}

.mbs-btn-outline:hover {
   background: var(--g-brand);
   color: #ffffff !important;
   transform: translateY(-2px);
   box-shadow: 0 8px 22px rgba(30, 60, 120, 0.25);
}

/* ============================
   TEXT UTILS
   ============================ */
.mbs-gradient-text {
   background: linear-gradient(135deg, #1E3C78 0%, #4A6FA5 45%, #78203C 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text;
}

.tracking-widest {
   letter-spacing: 0.1em;
}

.text-glow-cyber {
   color: #74AFDF !important;
}

.logo-glow {
   filter: drop-shadow(0 0 6px rgba(74, 111, 165, 0.5));
}

.navbar-brand img {
   transition: opacity 0.3s ease;
}

.navbar-brand img:hover {
   opacity: 0.88;
}

.glow-accent {
   position: relative;
}

.glow-accent::after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 120%;
   height: 120%;
   background: radial-gradient(circle, rgba(30, 60, 120, 0.08) 0%, transparent 70%);
   z-index: -1;
   pointer-events: none;
}

/* ============================
   SECTION HEADINGS ON DARK SECTIONS
   ============================ */
section .display-5 {
   color: #00154E !important;
}

section h2.fw-bold {
   color: #00154E !important;
}

section .lead {
   color: #212529 !important;
}

.opacity-90 {
   opacity: 1 !important;
}

/* ============================
   TIMELINE
   ============================ */
.mbs-timeline {
   position: relative;
   border-left: 2px solid rgba(74, 111, 165, 0.28);
   padding-left: 30px;
}

.mbs-timeline-item {
   position: relative;
   margin-bottom: 40px;
}

.mbs-timeline-item::after {
   content: '';
   position: absolute;
   left: -41px;
   top: 5px;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   background: var(--g-brand);
   border: 4px solid #060E25;
   box-shadow: 0 0 12px rgba(74, 111, 165, 0.3);
}

.mbs-timeline-item h4 {
   color: #00154E !important;
}

.mbs-timeline-item p {
   color: #6c757d !important;
}

.mbs-timeline-item .badge.bg-primary {
   background: var(--navy-mid) !important;
   color: #ffffff !important;
}

/* ============================
   PROGRESS
   ============================ */
.progress {
   background-color: rgba(255, 255, 255, 0.1) !important;
   border-radius: 10px;
}

.progress-bar.bg-info {
   background: linear-gradient(90deg, #1E3C78, #4A6FA5) !important;
}

.progress-bar.bg-primary {
   background: linear-gradient(90deg, #1E3C78, #78203C) !important;
}

.progress-bar.bg-success {
   background: linear-gradient(90deg, #1A7A50, #22C87A) !important;
}

.small.fw-semibold.text-white {
   color: #00154E !important;
}

.small.text-info {
   color: #2d2f30 !important;
}

/* ============================
   FORMS
   ============================ */
.mbs-input {
   background: #ffffff !important;
   border: 1px solid rgba(0, 0, 0, 0.1) !important;
   color: #212529 !important;
   padding: 13px 18px;
   border-radius: 10px;
   transition: all 0.25s ease;
}

.mbs-input::placeholder {
   color: #6c757d;
}

.mbs-input:focus {
   background: #ffffff !important;
   border-color: rgba(74, 111, 165, 0.65) !important;
   box-shadow: 0 0 0 4px rgba(74, 111, 165, 0.15) !important;
   color: #212529 !important;
   outline: none;
}

.form-label {
   color: #00154E !important;
   font-weight: 500;
}

.form-select.mbs-input option {
   background: #ffffff;
   color: #212529;
}

/* ============================
   ACCORDION (FAQ)
   ============================ */
.accordion-dark .accordion-item,
.accordion-item {
   background: rgba(255, 255, 255, 0.95) !important;
   border: 1px solid rgba(0, 0, 0, 0.1) !important;
   border-radius: 12px !important;
   margin-bottom: 14px !important;
   overflow: hidden;
   transition: all 0.3s ease;
}

.accordion-dark .accordion-item:hover,
.accordion-item:hover {
   border-color: rgba(0, 0, 0, 0.2) !important;
}

.accordion-dark .accordion-button,
.accordion-button {
   background: transparent !important;
   color: #00154E !important;
   font-family: 'Space Grotesk', sans-serif;
   font-size: 1.05rem;
   font-weight: 600 !important;
   box-shadow: none !important;
   padding: 20px 24px !important;
}

.accordion-dark .accordion-button:not(.collapsed),
.accordion-button:not(.collapsed) {
   color: #74AFDF !important;
   background: rgba(74, 111, 165, 0.08) !important;
   border-bottom: 1px solid rgba(74, 111, 165, 0.18) !important;
}

.accordion-dark .accordion-button::after,
.accordion-button::after {
   filter: invert(1) brightness(0.8) !important;
   transition: transform 0.3s ease;
}

.accordion-dark .accordion-button:not(.collapsed)::after,
.accordion-button:not(.collapsed)::after {
   filter: invert(55%) sepia(40%) saturate(600%) hue-rotate(185deg) brightness(110%) !important;
}

.accordion-dark .accordion-body,
.accordion-body {
   background: rgba(5, 12, 30, 0.5) !important;
   color: rgba(255, 255, 255, 0.62) !important;
   line-height: 1.8;
   font-size: 0.97rem;
   padding: 22px 24px !important;
   border-top: none !important;
}

.accordion-dark .accordion-button:focus,
.accordion-button:focus {
   box-shadow: none !important;
}

/* ============================
   INDUSTRY CARDS
   ============================ */
.industry-card {
   position: relative;
   overflow: hidden;
   border-radius: 16px;
   height: 380px;
   box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
}

.industry-card-img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.6s ease;
   filter: brightness(0.42) contrast(1.1);
}

.industry-card:hover .industry-card-img {
   transform: scale(1.08);
   filter: brightness(0.58) contrast(1.1);
}

.industry-card-content {
   position: absolute;
   bottom: 0;
   left: 0;
   width: 100%;
   padding: 28px;
   background: linear-gradient(0deg, rgba(5, 12, 30, 0.97) 0%, rgba(5, 12, 30, 0.55) 65%, transparent 100%);
   z-index: 2;
}

/* ============================
   SWIPER
   ============================ */
.swiper {
   width: 100%;
   padding-top: 20px;
   padding-bottom: 50px;
}

.swiper-pagination-bullet {
   background: rgba(74, 111, 165, 0.4) !important;
   opacity: 1 !important;
}

.swiper-pagination-bullet-active {
   background: #4A6FA5 !important;
   width: 24px !important;
   border-radius: 4px !important;
}

.swiper-button-next,
.swiper-button-prev {
   color: #4A6FA5 !important;
}

/* ============================
   PORTFOLIO
   ============================ */
.hover-cyan {
   transition: color 0.3s ease;
}

.hover-cyan:hover {
   color: #74AFDF !important;
}

.mbs-glass h4 a.text-white:hover {
   color: #74AFDF !important;
}

/* ============================
   FOOTER
   ============================ */
footer {
   background: linear-gradient(160deg, #020D28 0%, #0D1E4A 50%, #1E0A14 100%) !important;
}

footer * {
   color: rgba(255, 255, 255, 0.65);
}

footer h5,
footer h4,
footer strong {
   color: #ffffff !important;
}

footer p {
   color: rgba(255, 255, 255, 0.6) !important;
}

footer small {
   color: rgba(255, 255, 255, 0.48) !important;
}

footer .text-white {
   color: #ffffff !important;
}

footer .text-muted {
   color: rgba(255, 255, 255, 0.48) !important;
}

footer .text-primary {
   color: rgba(255, 255, 255, 0.72) !important;
}

footer i {
   color: rgba(255, 255, 255, 0.7) !important;
}

footer .border-top {
   border-color: rgba(255, 255, 255, 0.1) !important;
}

footer .border-secondary {
   border-color: rgba(255, 255, 255, 0.08) !important;
}

.footer-link {
   color: rgba(255, 255, 255, 0.55) !important;
   text-decoration: none;
   transition: all 0.25s ease;
   font-size: 0.9rem;
}

.footer-link:hover {
   color: #ffffff !important;
   padding-left: 5px;
}

.btn-outline-secondary {
   border-color: rgba(255, 255, 255, 0.22) !important;
   color: rgba(255, 255, 255, 0.65) !important;
}

.btn-outline-secondary:hover {
   background: rgba(255, 255, 255, 0.1) !important;
   border-color: rgba(255, 255, 255, 0.45) !important;
   color: #ffffff !important;
}

/* ============================
   MISC
   ============================ */
.tech-badge {
   background: rgba(74, 111, 165, 0.1);
   border: 1px solid rgba(74, 111, 165, 0.25);
   padding: 8px 16px;
   border-radius: 30px;
   font-size: 0.88rem;
   color: #00154E;
   font-weight: 500;
   transition: all 0.25s ease;
   display: inline-flex;
   align-items: center;
   gap: 8px;
}

.tech-badge:hover {
   background: rgba(74, 111, 165, 0.2);
   border-color: rgba(74, 111, 165, 0.5);
   color: #1E3C78;
   transform: translateY(-2px);
}

.shadow-lg {
   box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
}

.trusted-brand-logo {
   filter: grayscale(100%) opacity(35%);
   transition: all 0.3s ease;
   max-height: 40px;
}

.trusted-brand-logo:hover {
   filter: grayscale(0%) opacity(100%);
}

.opacity-60 {
   opacity: 0.72 !important;
}

.mbs-breadcrumb {
   background: transparent;
   padding: 8px 0;
}

.alert-success {
   background-color: rgba(74, 222, 128, 0.1) !important;
   border-color: rgba(74, 222, 128, 0.25) !important;
   color: #065f46 !important;
}

.alert-success .alert-heading,
.alert-success p,
.alert-success strong {
   color: #064e3b !important;
}

.badge.bg-primary {
   background: rgba(74, 111, 165, 0.18) !important;
   color: #00154E !important;
   border: 1px solid rgba(74, 111, 165, 0.28);
}

.badge.bg-opacity-20.bg-primary.text-primary {
   background: rgba(74, 111, 165, 0.15) !important;
   color: #1E3C78 !important;
}

.badge.bg-opacity-20.bg-info.text-info {
   background: rgba(74, 111, 165, 0.15) !important;
   color: #1E3C78 !important;
}

.badge.bg-opacity-20.bg-danger.text-danger {
   background: rgba(120, 32, 60, 0.15) !important;
   color: #78203C !important;
}

.badge.bg-opacity-20.bg-warning.text-warning {
   background: rgba(180, 83, 9, 0.15) !important;
   color: #92400e !important;
}

::-webkit-scrollbar {
   width: 7px;
}

::-webkit-scrollbar-track {
   background: #020D28;
}

::-webkit-scrollbar-thumb {
   background: linear-gradient(180deg, #1E3C78, #78203C);
   border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
   background: #4A6FA5;
}

.text-primary.text-decoration-none.small.fw-semibold {
   color: #74AFDF !important;
}

.text-primary.text-decoration-none.small.fw-semibold:hover {
   color: #ffffff !important;
}

.font-mono {
   font-family: monospace;
}