@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');


* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
 scroll-behavior: smooth;
}


body {
 font-family: 'Poppins', sans-serif;
 background: #f9fafa;
 color: #2d2d2d;
 line-height: 1.6;
 padding-top: 80px;
 min-height: 100vh;
}


/* Header */
header {
 position: fixed;
 top: 0;
 left: 0;
 right: 0;
 background-color: #2f855a;
 height: 70px;
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 0 30px;
 box-shadow: 0 2px 10px rgba(0,0,0,0.15);
 z-index: 1000;
}


header .logo {
 color: white;
 font-weight: 700;
 font-size: 1.5rem;
}


header nav ul {
 display: flex;
 list-style: none;
 gap: 25px;
}


header nav ul li a {
 color: white;
 font-weight: 600;
 text-decoration: none;
 transition: color 0.3s ease;
}


header nav ul li a:hover {
 color: #a3d57f;
}


.hero {
 /* Background image GS2.jpg located inside your assets folder */
 background: url('assets/photo9.JPG') no-repeat center center/cover;
 /* Optional dark overlay to keep text readable */
 box-shadow: inset 0 0 0 1000px rgba(0,0,0,0.6);
 color: white;
 text-align: center;
 padding: 100px 20px 60px;
}


.hero-logo {
  display: block;
  margin: 16px auto 0 auto;
  max-width: 220px;
  width: 60vw;
  height: auto;
}


.hero h1 {
 font-size: 2.5rem;
 margin-bottom: 12px;
}


.hero p {
 font-size: 1.1rem;
 max-width: 600px;
 margin: 0 auto 18px;
}


/* Bubble Grid for main text sections */
.bubble-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
 gap: 40px;
 max-width: 1100px;
 margin: 60px auto;
 padding: 0 20px;
}


.bubble-grid .bubble {
 background-color: #eafaf1;
 border: 2px solid #cce9db;
 border-radius: 20px;
 padding: 30px 25px;
 box-shadow: 0 8px 20px rgba(0,0,0,0.05);
 transition: transform 0.3s ease, box-shadow 0.3s ease;
 color: #2d2d2d;
}


.bubble-grid .bubble:hover {
 transform: scale(1.03);
 box-shadow: 0 14px 30px rgba(0,0,0,0.1);
}


.bubble-grid .bubble h3 {
 font-size: 1.7rem;
 color: #2f855a;
 margin-bottom: 12px;
}


.bubble-grid .bubble p {
 font-size: 1.05rem;
 line-height: 1.5;
 color: #444;
}


/* CTA button inside bubbles */
.cta-alt {
 display: inline-block;
 margin-top: 15px;
 padding: 12px 32px;
 background-color: #2f855a;
 color: white;
 border-radius: 30px;
 font-weight: 600;
 text-decoration: none;
 transition: background-color 0.3s ease;
}


.cta-alt:hover {
 background-color: #276944;
}


/* Content Sections */
.content-section {
 max-width: 1100px;
 margin: 60px auto;
 padding: 0 20px;
 text-align: center;
}


.content-section h2 {
 font-size: 2rem;
 color: #2f855a;
 margin-bottom: 20px;
}


.content-section p,
.content-section ul {
 font-size: 1rem;
 color: #444;
 max-width: 800px;
 margin: 0 auto;
}


/* Team Grid: 2 per row, responsive */
.team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  justify-items: center;
  align-items: start;
}
.team-grid img {
  max-width: 200px;
  max-height: 200px;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #fff;
  border-radius: 12px;
}

.team-grid .team-member {
  text-align: center;
  background-color: #eafaf1;
  border-radius: 24px;
  padding: 40px 20px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.13);
  transition: transform 0.3s ease;
  font-size: 1.15rem;
}

.team-grid .team-member:hover {
  transform: translateY(-5px);
}

.team-grid .team-member h3 {
  font-size: 1.5rem;
  margin-top: 18px;
  margin-bottom: 8px;
}

.team-grid .team-member p {
  font-size: 1.1rem;
}

@media (max-width: 600px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}


/* Gallery */
.gallery {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 20px;
 margin-top: 30px;
 justify-items: center;
}


.gallery img {
 width: 100%;
 height: 280px;
 object-fit: cover;
 border-radius: 12px;
 box-shadow: 0 4px 12px rgba(0,0,0,0.1);
 transition: transform 0.3s ease;
}


.gallery img:hover {
 transform: scale(1.03);
}


/* Newsletter Form */
.newsletter-form {
 display: flex;
 justify-content: center;
 gap: 12px;
 margin-top: 18px;
 flex-wrap: wrap;
 align-items: center;
}

.newsletter-form input[type="email"],
.newsletter-form button {
  box-sizing: border-box;
  font-family: inherit;
  font-size: 1rem;
  border: none;
  outline: none;
}

.newsletter-form input[type="email"] {
 padding: 12px;
 border-radius: 6px;
 border: 1px solid #cce9db;
 font-size: 1rem;
 min-width: 220px;
 outline: none;
 background: #fff;
 color: #222;
}

.newsletter-form button {
 padding: 12px 28px;
 border-radius: 6px;
 border: none;
 background: #2f855a;
 color: #fff;
 font-weight: 600;
 font-size: 1rem;
 cursor: pointer;
 transition: background 0.2s;
}

.newsletter-form button:hover,
.newsletter-form button:focus {
 background: #276944;
}


/* Footer */
footer {
 background-color: #e6f0e9;
 padding: 40px 20px;
 text-align: center;
 color: #555;
 font-size: 0.9rem;
 border-top: 2px solid #a3d57f;
}


/* Responsive */
@media (max-width: 768px) {
 header nav ul {
   gap: 15px;
 }


 .hero h1 {
   font-size: 2.2rem;
 }


 .content-section h2 {
   font-size: 1.7rem;
 }


 .bubble-grid {
   grid-template-columns: 1fr !important;
 }


 .content-section p,
 .content-section ul {
   font-size: 0.95rem;
 }


 .gallery {
   grid-template-columns: repeat(2, 1fr);
   gap: 15px;
 }
}

