/* ====== Base Theme (Neon Tech) ====== */
:root{
  --accent: #00c6ff;
  --accent-2: #0072ff;
  --bg-start: #0f2027;
  --bg-mid: #203a43;
  --bg-end: #2c5364;
  --text: #e7eef4;
}

html, body {
  height: 100%;
}

body {
  background: linear-gradient(135deg, var(--bg-start), var(--bg-mid), var(--bg-end));
  color: var(--text);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  scroll-behavior: smooth;
}

/* Gradient headline text */
.section-title, .text-gradient {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

h1, h2, h4 { font-weight: 700; }

/* ====== Navbar (glass) ====== */
.glass-nav{
  background: rgba(10, 25, 47, 0.7);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.logo{ height: 56px; width: auto; }
.brand-text{ margin-left: 10px; font-weight: 700; color: #fff; letter-spacing:.3px; }

.nav-link{
  color:#d7e3ec !important;
  margin:0 8px;
  transition: color .25s ease, transform .25s ease;
}
.nav-link:hover{ color:var(--accent) !important; transform: translateY(-2px); }

/* ====== Hero (Circuit board with lighter overlay) ====== */
.hero{
  /* LIGHTER overlay so the image is visible */
  background-image:
    linear-gradient(rgba(2, 12, 27, 0.40), rgba(2, 12, 27, 0.72)),
    /* Primary circuit-board image */
    url('https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=1600&q=80');
  /* If that ever fails to load, you can switch to either of these:
     url('https://images.unsplash.com/photo-1581090700227-4c4d3e9d0a43?auto=format&fit=crop&w=1600&q=80');
     url('https://images.unsplash.com/photo-1550751827-4bd374c3f58b?auto=format&fit=crop&w=1600&q=80'); */
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  min-height: 100vh;
  display:flex; align-items:center; justify-content:center;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

/* CTA button */
.btn-gradient{
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  border:none; color:#fff; font-weight:700;
  transition: transform .25s ease, box-shadow .25s ease;
}
.btn-gradient:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 198, 255, .45);
}

/* ====== Cards / Glass ====== */
.glass-card{
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  transition: transform .25s ease, box-shadow .25s ease;
}
.glass-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 16px 36px rgba(0,0,0,0.5);
}

/* Services gradient cards */
.service-card{
  border-radius: 18px;
  background: linear-gradient(135deg, var(--accent-2), var(--accent));
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 198, 255, .25);
  transition: transform .25s ease, box-shadow .25s ease;
}
.service-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(0, 198, 255, .35);
}

/* Icons */
.icon-animated{
  font-size: 2.6rem;
  color: var(--accent);
  animation: pulse 2.2s infinite;
}
@keyframes pulse{
  0%{ transform: scale(1); opacity:.85; }
  50%{ transform: scale(1.12); opacity:1; }
  100%{ transform: scale(1); opacity:.85; }
}

/* ====== Line-by-line reveal ====== */
.fade-line{
  opacity:0; transform: translateY(16px);
  transition: all .8s ease-out;
}
.fade-list li{
  opacity:0; transform: translateX(-16px);
  transition: all .8s ease-out;
  margin-bottom:8px;
}

/* ====== Contact section ====== */
.contact-section{ background: transparent; color: var(--text); }

.contact-info i{ color: var(--accent); }

.social-icons a{
  font-size:1.25rem; color:#cfe8f6; margin-right:14px;
  transition: color .25s ease, transform .25s ease;
}
.social-icons a:hover{ color: var(--accent); transform: scale(1.15); }

/* Contact section form controls */
.contact-section .form-control{
  background:#12202b; 
  border:1px solid #2d4a59; 
  color:#eaf6ff;
}
.contact-section .form-control:focus{
  border-color: var(--accent); 
  box-shadow:none;
}

/* Small text under phone input */
.contact-section .form-text {
  color: #9ab6c9;
  font-size: 0.85rem;
}

/* Map container */
.map-container {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0,0,0,0.3);
  margin-bottom: 15px;
}



/* ====== Footer ====== */
footer{
  background: rgba(0,0,0,0.9);
  color:#cfe0e9;
}
.social{
  font-size:1.4rem; margin:0 10px; color: var(--accent);
  transition: transform .25s ease, color .25s ease;
}
.social:hover{ transform: scale(1.2); color:#ff9800; }

/* Small tweaks */
.navbar .navbar-toggler{ border-color: rgba(255,255,255,.25); }
.navbar .navbar-toggler-icon{ filter: invert(1); }

/* ===== Hero Automatic Slideshow ===== */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;       /* hide slides outside area */
}

/* Background slides wrapper */
.hero-slideshow {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 0;             /* keep behind the text */
}

/* Each slide image */
.hero-slideshow .slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: slideShow 24s infinite;  /* 3 slides x 6s each */
}

/* Delay for each slide so they show one after the other */
.hero-slideshow .slide:nth-child(1) { animation-delay: 0s; }
.hero-slideshow .slide:nth-child(2) { animation-delay: 6s; }
.hero-slideshow .slide:nth-child(3) { animation-delay: 12s; }
.hero-slideshow .slide:nth-child(4) { animation-delay: 18s; }

/* Fade-in / fade-out animation */
@keyframes slideShow {
  0%   { opacity: 0; }
  5%   { opacity: 1; }
  30%  { opacity: 1; }
  35%  { opacity: 0; }
  100% { opacity: 0; }
}

/* Keep the welcome text above the slides */
.hero-content {
  position: relative;
  z-index: 1;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

