/* Base Reset */
@media (max-width: 700px) {
  .container {
    width: 98%;
    max-width: 100vw;
    padding: 0 4px;
  }

  .logo-img {
    height: 60px;
  }

  .nav-container {
    gap: 10px;
    min-height: 60px;
    flex-wrap: wrap;
  }

  .nav-links {
    gap: 10px;
    font-size: 0.95rem;
  }

  .cta-button,
  .cta-button.large {
    font-size: 1rem;
    padding: 10px 16px;
  }

  .hero-bg {
    height: 220px;
  }

  .hero-banner {
    height: 90%;
    max-width: 100vw;
  }

  .headline-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }

  .headline-img {
    height: 100px;
    margin-right: 0;
  }

  .why-code-ninjas {
    padding: 1.2rem 0;
  }

  .why-code-ninjas h2 {
    font-size: 1.3rem;
  }

  .why-code-ninjas p {
    font-size: 1rem;
    max-width: 98vw;
    padding: 0 4px;
  }

  .bottom-logos {
    gap: 1rem;
    margin-top: 1.2rem;
  }

  .bottom-logos img {
    height: 32px;
  }

  .parent-cta {
    font-size: 1rem;
    margin-top: 1rem;
  }

  .parent-video-thumb img,
  .parent-screenshot img {
    max-width: 98vw;
    height: auto;
    border-radius: 10px;
  }

  .parent-video-thumb {
    padding: 0;
  }

  .parent-screenshot {
    margin-top: 1rem;
  }

  .full-blue-bg,
  .full-purple-bg {
    width: 100vw;
    height: 180px;
    min-height: 120px;
    margin-left: -50vw;
    left: 50%;
    border-radius: 0;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0;
  }

  .blue-bg-img {
    max-width: 90vw;
    max-height: 120px;
    margin-bottom: 0;
  }

  .blue-bg-text {
    max-width: 95vw;
    font-size: 0.95rem;
    text-align: center;
  }

  .blue-bg-text h2 {
    font-size: 1.2rem;
  }
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
  font-family: 'Segoe UI', sans-serif;
  line-height: 1.6;
  color: #333;
  background: url('background pics/BG-Gradient-1.png');
}

/* Containers */
.container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}

/* Header */
header {
  background: #fff;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  padding: 0;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.nav-container {
  display: flex;
  align-items: center;
  gap: 30px;
  min-height: 90px;
  justify-content: space-between;
}

.logo-img {
  height: 120px;
  width: auto;
  display: block;
  margin-top: 0;
  margin-bottom: 0;
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 25px;
}

.nav-links a {
  text-decoration: none;
  color: #333;
  transition: color 0.3s ease;
}

.nav-links a:hover {
  color: #1c6ca8;
}

/* Buttons */
.cta-button {
  background-color: #1c6ca8;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
}

.cta-button:hover {
  background-color: #14507e;
}

.cta-button.large {
  padding: 15px 30px;
  font-size: 1.2rem;
  border-radius: 30px;
  background: #00bcd4;
  transition: background 0.2s;
}

.cta-button.large:hover {
  background: #0097a7;
}

/* Hero Section */
.hero {
  position: relative;
  width: 100%;
  margin-bottom: 2rem;
}

.hero-banner {
  width: 100%;
  display: block;
  height: 650px;
  object-fit: cover;
  margin: 0;
  padding: 0;
}

/* Programs Section (can be removed if not used) */
.programs {
  background: #f7fafc;
  padding: 3rem 0;
}

.programs h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #222;
}

.program-cards {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-wrap: wrap;
}

.card {
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.08);
  padding: 2rem 1.5rem;
  text-align: center;
  width: 260px;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
}

.card-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.card h3 {
  font-size: 1.3rem;
  margin-bottom: 0.7rem;
  color: #00bcd4;
  font-weight: 700;
}

.card p {
  font-size: 1rem;
  color: #444;
}

/* Headline Section */
.headline {
  background: #fff;
  padding: 2.5rem 0 2rem 0;
  text-align: center;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

.headline-content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2.5rem;
  text-align: left;
}

.headline-content h1 {
  font-size: 2.3rem;
  color: #1c6ca8;
  margin-bottom: 1rem;
  font-weight: 700;
}

.headline-content p {
  font-size: 1.15rem;
  color: #333;
  margin-bottom: 1.5rem;
}

.headline .cta-button.large {
  margin-top: 0.5rem;
}

.headline-img {
  height: 200px;
  width: auto;
  margin-right: 0.5rem;
}

/* Why Code Ninjas Section */
.why-code-ninjas {
  background: #f7fafc;
  padding: 3rem 0;
  text-align: center;
}

.why-code-ninjas h2 {
  font-size: 2.2rem;
  color: #1c6ca8;
  margin-bottom: 1.5rem;
  font-weight: 700;
  line-height: 1.1;
}

.why-code-ninjas p {
  font-size: 1.15rem;
  color: #333;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .headline-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.2rem;
  }
  .headline-img {
    height: 200px;
    margin-right: 0;
  }
}

.hero-bg {
  background: #2427c7; /* Purple */
  width: 100%;
  height: 650px; /* Fixed background height */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.hero-banner {
  height: 90%; /* Make image fill most of the purple area */
  width: auto;
  object-fit: contain;
  display: block;
  background: transparent;
}

.bottom-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  align-items: center;
  margin-top: 2.5rem;
}

.bottom-logos img {
  height: 60px;
  width: auto;
  object-fit: contain;

}

.parent-cta {
  text-align: center;
  font-size: 1.25rem;
  color: #0091ff;
  margin-top: 2rem;
  font-weight: 800;
}

.parent-video-thumb {
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
  background: transparent;
  padding: 0;
  box-shadow: none; /* Remove drop shadow from container */
}

.parent-video-thumb img {
  max-width: 8000px; /* Increased max width */
  width: 100%;
  border-radius: 16px;
  display: block;
  box-shadow: 0 10px 34px rgba(0,0,0,0.15); /* Drop shadow on image itself */
  height: 580px; /* You can increase this value if you want it even bigger */
  width: 939px;
}

html{
    background: url('background pics/BG-Gradient-1.png');
}
.full-purple-bg {
  width: 100vw;
  height: 50vh; /* shorter box */
  background: #7c3aed;
  position: relative; /* absolute was making it overlap */
  left: 50%;
  margin-left: -50vw;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.purple-bg-img {
  max-width: 80vw;
  max-height: 80vh;
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(0,0,0,0.15);
  display: block;
  position: relative;
  z-index: 2;
}

.full-blue-bg {
  width: 100vw;
  height: 35vh;
  background: #5fa6dd;
  position: relative;
  left: 50%;
  margin-left: -50vw;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
  overflow: hidden;
}

.create-bg-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 200vw;
  height: 50vh;
  object-fit: fill; /* Ensures the image fills the area */
  z-index: 1;
}

.blue-bg-img {
  max-width: 70vw;
  max-height: 60vh;
  border-radius: 16px;
  box-shadow: 0 10px 34px rgba(0,0,0,0.15);
  display: block;
  margin: -3rem auto 0 auto; /* Moves image up */
  position: relative;
  z-index: 2;
}

.image {
  margin-left: 600px;
  margin-right: auto;
}

.impact-section {
  background: url("C:\Users\DawsonD.2027\OneDrive - Meridian Technical Charter High School\code ninjas\backgound pics\cn-impact-thumb.webp") no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 600px; /* adjust to how tall you want the section */
  display: flex;
  justify-content: center;
  align-items: center;
}

.impact-container {
  text-align: center;
}

.impact-thumb {
  max-width: 80%; /* shrink if needed */
  height: auto;
  border-radius: 20px; /* optional rounded edges */
}

.impact-section {
  background: url("C:/Users/DawsonD.2027/OneDrive - Meridian Technical Charter High School/code ninjas/backgound pics/Impact-Bg-1.png") no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 600px; /* adjust as needed */
  display: flex;
  align-items: center;
  justify-content: center;
}

.overlay-content {
  display: flex;
  justify-content: center;
  align-items: center;
}

.impact-section {
  background: url("C:/Users/DawsonD.2027/OneDrive - Meridian Technical Charter High School/code ninjas/backgound pics/Impact-Bg-1.png") no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.overlay-content {
  display: flex;
  justify-content: center;
  align-items: center;
}

.frame {
  background: url("C:/Users/DawsonD.2027/OneDrive - Meridian Technical Charter High School/code ninjas/backgound pics/Impact-voideo-frame.png") no-repeat center center;
  background-size: contain;
  padding: 170px; /* was 40px, bumped up so frame scales bigger */
  display: inline-block;
}

.frame img {
  max-width: 700px; /* was 500px, bumped up */
  width: 100%;
  height: auto;
  display: block;
}

.impact-section {
  background: url("C:/Users/DawsonD.2027/OneDrive - Meridian Technical Charter High School/code ninjas/backgound pics/Impact-Bg-1.png") no-repeat center center/cover;
  padding: 80px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.impact-frame {
  position: relative;
  display: inline-block;
}

.frame-img {
  width: 700px;   /* bigger frame */
  height: auto;
  display: block;
}

.impact-content {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.thumb {
  width: 400px;   /* bigger cn-impact pic */
  height: auto;
}

.prodigy-section {
  background: linear-gradient(to right, #0e2c3a, #401437);
  color: white;
  text-align: center;
  padding: 60px 20px;
  position: relative;
}

.prodigy-title {
  font-size: 60px;
  font-weight: bold;
  color: #00f5ff;
  letter-spacing: 4px;
}

.prodigy-desc {
  font-size: 18px;
  margin-top: 20px;
  color: #00a2ff;
}

.prodigy-text, .prodigy-note {
  font-size: 16px;
  margin-top: 15px;
}

.ninjas {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 15px;
}

.ninjas img {
  width: 80px;
  height: auto;
}

.slider-dots {
  margin-top: 30px;
}

.dot {
  height: 14px;
  width: 14px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  margin: 0 4px;
}

.dot.active {
  background-color: #00f5ff;
}

.programs {
    position: relative;
    width: 100%;
    padding: 80px 20px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.programs::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.programs .content,
.programs .program-img {
    position: relative;
    z-index: 1;
    flex: 1;
    max-width: 500px;
}

.program-img img {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

/* text side */
.programs h2 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 16px;
}

.programs p {
    font-size: 1.1rem;
    margin-bottom: 24px;
    line-height: 1.6;
    color: #fff;
}

.programs .btns {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.programs .btns a {
    padding: 12px 24px;
    border-radius: 6px;
    font-weight: bold;
    text-decoration: none;
}

.programs .btns .green-btn {
    background: #00d76b;
    color: #fff;
}

.programs .btns .blue-btn {
    background: #1a73e8;
    color: #fff;
}

.programs .btns .green-btn:hover {
    background: #00b25a;
}
.programs .btns .blue-btn:hover {
    background: #155bb5;
}

/* backgrounds + tint */
.blue {
    background-image: url("Images/Create-Bg.webp");
}
.blue::before {
    background: rgba(26, 115, 232, 0.85);
}

.purple {
    background-image: url("Images/JR-Bg.webp");
}
.purple::before {
    background: rgba(103, 58, 183, 0.85);
}

.teal {
    background-image: url("Images/CAMP-BG.webp");
}
.teal::before {
    background: rgba(0, 150, 136, 0.85);
}