@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700;800&display=swap');
/* New theme: #010030 (deep blue), #160078 (rich blue), #7226ff (vibrant purple) */
:root {
  --main: #010030; /* deep blue background */
  --main-dark: #160078; /* rich blue accent */
  --accent: #7226ff; /* vibrant purple for highlights */
  --accent-light: #7226ff22; /* purple tint for patterns */
  --section1: #010030;
  --section2: #160078;
  --section3: #16007822;
  --section4: #7226ff22;
  --section5: #160078;
  --cream: #fff;
  --black: #181818;
  --white: #fff;
  --gray-bg: #16007811;
}
body {
  font-family: 'Poppins', 'Segoe UI', Arial, sans-serif;
  background: linear-gradient(135deg, #010030 0%, #160078 100%);
  color: var(--cream);
  min-height: 100vh;
  font-size: 1.08rem;
  overflow-x: hidden;
}
.logo-navbar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  margin-right: 10px;
  box-shadow: 0 2px 12px var(--accent-light);
  background: var(--accent);
}
.brand-text {
  color: var(--accent);
  font-weight: 800;
  letter-spacing: 1px;
  text-shadow: 0 1px 8px #7226ff22, 0 0.5px 0 #7226ff;
}

/* Navbar */
/* Blue glassy navbar */
.navbar-green {
  background: var(--main-dark);
  box-shadow: 0 4px 32px var(--accent-light);
  border-radius: 24px;
  margin-top: 18px;
  padding: 0.8rem 2rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: background 0.3s, border-radius 0.3s, box-shadow 0.3s;
  display: flex;
  align-items: center;
}
.navbar-green.scrolled {
  border-bottom-left-radius: 32px;
  border-bottom-right-radius: 32px;
  box-shadow: 0 4px 32px var(--accent-light);
}
.navbar-green .navbar-brand {
  color: var(--accent);
  font-weight: 900;
  letter-spacing: 1.5px;
  font-size: 2rem;
  text-shadow: 0 2px 12px #7226ff55;
}
.navbar-green .nav-link {
  font-weight: 700;
  color: #fff;
  border-radius: 18px;
  padding: 0.7rem 1.6rem;
  margin: 0 0.3rem;
  border: 1.5px solid transparent;
  background: transparent;
  letter-spacing: 0.7px;
  font-size: 1.12rem;
  transition: color 0.2s, background 0.2s, border 0.2s, transform 0.18s;
  box-shadow: none;
}
.navbar-green .nav-link.active, .navbar-green .nav-link:hover {
  color: var(--accent);
  background: #fff;
  border: 1.5px solid var(--accent);
  box-shadow: 0 2px 12px #7226ff22;
  transform: scale(1.09);
}

/* Hero & Section Flow */
.hero-section-green {
  min-height: 90vh;
  display: flex;
  align-items: center;
  background: var(--section1);
  position: relative;
  z-index: 2;
  border-radius: 0 0 64px 64px;
  overflow: hidden;
  margin-bottom: 72px;
  padding-bottom: 80px;
  background-image: none;
  background-repeat: no-repeat;
  background-size: cover;
}
.section-cybercafe-green {
  background: var(--section2);
  position: relative;
  z-index: 2;
  border-radius: 64px 64px 0 0;
  margin-top: -64px;
  margin-bottom: 72px;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden;
  background-image: none;
  background-repeat: no-repeat;
  background-size: cover;
}
.section-training-green {
  background: var(--section3);
  position: relative;
  z-index: 2;
  border-radius: 0 0 64px 64px;
  margin-top: -64px;
  margin-bottom: 72px;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden;
  background-image: none;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Training Packages Grid */
.training-packages-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: 2.2rem 2.2rem;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  padding: 0 1rem;
}

.training-card {
  background: var(--main-dark);
  color: #fff;
  border-radius: 24px;
  box-shadow: 0 4px 24px 0 #7226ff22, 0 1.5px 0 #7226ff;
  padding: 44px 28px 36px 28px;
  border: none;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform 0.25s, box-shadow 0.25s;
  position: relative;
  min-height: 320px;
}
.training-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 8px 32px #7226ff;
}
.training-card h5 {
  color: var(--accent);
  font-weight: 900;
  font-size: 1.3rem;
  text-shadow: 0 2px 12px #7226ff55;
}
.training-card ul,
.training-card li {
  color: #b7f5f5;
  font-size: 1.08rem;
  font-weight: 600;
}
.training-card .training-icon {
  align-self: center;
  margin-bottom: 18px;
  background: var(--accent);
  color: var(--cream);
}
.training-card h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.7rem;
  color: var(--main-dark);
}
.training-card ul {
  padding-left: 1.2em;
  margin-bottom: 0.7em;
  margin-top: 0.2em;
}
.training-card ul li {
  font-size: 1.04rem;
  margin-bottom: 0.3em;
  color: var(--main-dark);
}
.training-card .btn {
  margin-top: auto;
  align-self: flex-end;
}

@media (max-width: 991px) {
  .training-packages-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
    padding: 0;
  }
  .training-card {
    min-height: 0;
    padding: 24px 10px 18px 10px;
  }
}
.section-why-green {
  background: var(--section4);
  position: relative;
  z-index: 2;
  border-radius: 64px 64px 0 0;
  margin-top: -64px;
  margin-bottom: 72px;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden;
  background-image: none;
  background-repeat: no-repeat;
  background-size: cover;
}
.section-contact-green {
  background: var(--section5);
  position: relative;
  z-index: 2;
  border-radius: 0 0 64px 64px;
  margin-top: -64px;
  margin-bottom: 0;
  padding-top: 80px;
  padding-bottom: 80px;
  overflow: hidden;
  background-image: none;
  background-repeat: no-repeat;
  background-size: cover;
}

/* SVG Curves - blue theme */
.curvy-bg-hero, .curvy-bg-cafe, .curvy-bg-training, .curvy-bg-why, .curvy-bg-contact {
  display: block !important;
  position: absolute;
  left: 0; right: 0;
  width: 100%;
  z-index: 1;
  pointer-events: none;
  height: 120px;
}
.curvy-bg-hero {
  bottom: -1px;
  background: url('data:image/svg+xml;utf8,<svg width="100%25" height="120" viewBox="0 0 1440 120" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0C360 120 1080 0 1440 120V120H0V0Z" fill="%2342a5f5"/></svg>') no-repeat center/cover;
}
.curvy-bg-cafe {
  top: -1px;
  background: url('data:image/svg+xml;utf8,<svg width="100%25" height="120" viewBox="0 0 1440 120" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 120C360 0 1080 120 1440 0V0H0V120Z" fill="%23bbdefb"/></svg>') no-repeat center/cover;
}
.curvy-bg-training {
  bottom: -1px;
  background: url('data:image/svg+xml;utf8,<svg width="100%25" height="120" viewBox="0 0 1440 120" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 0C360 120 1080 0 1440 120V120H0V0Z" fill="%2364b5f6"/></svg>') no-repeat center/cover;
}
.curvy-bg-why {
  top: -1px;
  background: url('data:image/svg+xml;utf8,<svg width="100%25" height="120" viewBox="0 0 1440 120" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 120C360 0 1080 120 1440 0V0H0V120Z" fill="%2342a5f5"/></svg>') no-repeat center/cover;
}
.curvy-bg-contact {
  top: -1px;
  background: url('data:image/svg+xml;utf8,<svg width="100%25" height="120" viewBox="0 0 1440 120" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 120C360 0 1080 120 1440 0V0H0V120Z" fill="%231565c0"/></svg>') no-repeat center/cover;
}

/* Section Cards & Images */
.training-card, .about-img, .cybercafe-img {
  background: var(--accent-light);
  color: var(--main-dark);
  border-radius: 24px;
  box-shadow: 0 2px 12px var(--accent-light);
}
.training-card {
  padding: 44px 28px 36px 28px;
  border: none;
  text-align: center;
  transition: transform 0.25s, box-shadow 0.25s;
}
.training-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 8px 32px #f042ff;
}
.training-icon {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  border-radius: 50%;
  margin: 0 auto 22px auto;
  color: var(--cream);
  background: var(--main-dark);
  box-shadow: 0 2px 12px var(--main-dark);
}
.bg-primary, .bg-success, .bg-warning {
  background: var(--accent) !important;
  color: var(--cream) !important;
}

/* Buttons */
.btn-green, .btn-outline-green, .btn-gradient {
  font-weight: 700;
  border-radius: 24px;
  padding: 0.7rem 2.1rem;
  font-size: 1.08rem;
  box-shadow: none;
  letter-spacing: 1px;
  border: none;
  background: linear-gradient(90deg, #160078 60%, #7226ff 100%);
  color: #fff;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.btn-green:hover, .btn-outline-green:hover, .btn-gradient:hover {
  background: linear-gradient(90deg, #7226ff 0%, #160078 100%);
  color: #7226ff;
  transform: translateY(-2px) scale(1.03);
}
.btn-outline-green {
  background: transparent;
  color: var(--accent);
  border: 2px solid var(--accent);
}
.btn-outline-green:hover {
  background: var(--accent);
  color: var(--cream);
  border: 2px solid var(--cream);
}

/* Footer */
.footer-glass-green {
  background: linear-gradient(90deg, #160078 60%, #7226ff 100%);
  color: #fff;
  font-size: 1.08rem;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: none;
  margin-top: 0;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.footer-glass-green .logo-navbar {
  filter: none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', 'Segoe UI', Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--accent);
}

@media (max-width: 1200px) {
  html, body {
    overflow-x: hidden;
  }
  .hero-section-green h1 {
    font-size: 2.1rem;
  }
  .hero-img-glass, .cybercafe-img, .about-img {
    max-width: 320px;
  }
}
@media (max-width: 991px) {
  .hero-section-green {
    min-height: 60vh;
    text-align: center;
  }
  .hero-img-glass, .cybercafe-img, .about-img {
    margin-top: 32px;
    max-width: 260px;
  }
  .section-glass-green {
    padding: 40px 0 30px 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  .navbar-green .navbar-brand {
    font-size: 1.2rem;
  }
}
@media (max-width: 600px) {
  .hero-section-green h1 {
    font-size: 1.3rem;
  }
  .training-card {
    padding: 18px 4px 14px 4px;
  }
  .footer-glass-green {
    font-size: 0.98rem;
  }
  .logo-navbar {
    width: 32px;
    height: 32px;
    margin-right: 6px;
  }
  .navbar-green .nav-link {
    padding: 0.4rem 0.7rem;
    font-size: 0.98rem;
  }
}
