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

body {
  font-family: 'Segoe UI', sans-serif;
  color: #e5e7eb;
  background: #0f172a;
}
/* HEADER */
..site-header {
  background: #111827;
  border-bottom: 2px solid #38bdf8;
}
.logo a {
  color: #38bdf8;
}
nav a {
  color: #e5e7eb;
}
nav a:hover {
  color: #38bdf8;
}

/* HERO */
.hero {
  background: linear-gradient(135deg, #020617, #0f172a, #1e293b);
  color: #fff;
}

/* SECTIONS */
.section { padding: 60px 0; }
.section-alt { background: #fff; }
.section-title { font-size: 1.8rem; font-weight: 800; color: #1b5e20; margin-bottom: 8px; }
.section-sub { color: #666; margin-bottom: 35px; }

/* GRID */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media(max-width: 900px) { .grid-3, .grid-4 { grid-template-columns: repeat(2,1fr); } }
@media(max-width: 580px) { .grid-3, .grid-4 { grid-template-columns: 1fr; } nav { display:none; } }

/* CARDS */
.card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.07); transition: transform 0.2s, box-shadow 0.2s; }
.card:hover { transform: translateY(-4px); box-shadow: 0 6px 20px rgba(0,0,0,0.12); }
.card img { width: 100%; height: 200px; object-fit: cover; }
.card-body { padding: 18px; }
.card-body h3 { font-size: 1.05rem; margin-bottom: 8px; color: #1b5e20; }
.card-body p { font-size: 0.9rem; color: #666; line-height: 1.5; }
.card-meta { font-size: 0.8rem; color: #999; margin-top: 10px; }
.card-tag { display: inline-block; background: #e8f5e9; color: #2e7d32; padding: 2px 10px; border-radius: 20px; font-size: 0.78rem; margin-bottom: 8px; font-weight: 600; }

/* GALLERY GRID */
.gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.gallery-item { position: relative; border-radius: 8px; overflow: hidden; aspect-ratio: 1; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.gallery-item:hover img { transform: scale(1.05); }
.gallery-item .overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,0.7)); color: #fff; padding: 10px; font-size: 0.82rem; opacity: 0; transition: opacity 0.3s; }
.gallery-item:hover .overlay { opacity: 1; }
@media(max-width:700px){ .gallery-grid { grid-template-columns: repeat(2,1fr); } }

/* NEWSLETTER */
.newsletter { background: #2e7d32; color: #fff; padding: 50px 0; text-align: center; }
.newsletter h2 { font-size: 1.8rem; margin-bottom: 10px; }
.newsletter p { opacity: 0.85; margin-bottom: 25px; }
.newsletter-form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.newsletter-form input { padding: 12px 20px; border-radius: 6px; border: none; font-size: 1rem; width: 300px; }
.newsletter-form button { background: #fff; color: #2e7d32; padding: 12px 25px; border: none; border-radius: 6px; font-weight: 700; cursor: pointer; font-size: 1rem; }

/* STATS BAR */
.stats-bar { background: #1b5e20; color: #fff; padding: 25px 0; }
.stats-bar .container { display: flex; justify-content: space-around; flex-wrap: wrap; gap: 20px; text-align: center; }
.stat-item h3 { font-size: 2rem; font-weight: 800; }
.stat-item p { opacity: 0.8; font-size: 0.9rem; }

/* FOOTER */
.site-footer { background: #1a1a1a; color: #ccc; padding: 50px 0 20px; }
.footer-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; margin-bottom: 30px; }
.footer-grid h4 { color: #fff; margin-bottom: 12px; font-size: 1rem; }
.footer-grid a { display: block; color: #aaa; text-decoration: none; margin-bottom: 6px; font-size: 0.9rem; }
.footer-grid a:hover { color: #4caf50; }
.footer-bottom { border-top: 1px solid #333; padding-top: 20px; text-align: center; font-size: 0.85rem; color: #666; }
@media(max-width:700px){ .footer-grid { grid-template-columns: 1fr; } }

/* MOBILE FIX */
@media(max-width:768px) {
  .site-header .container { flex-wrap:wrap; }
  nav { display:none !important; }
  .header-cta { display:none !important; }
  .hamburger { display:flex !important; }
  .mobile-nav-inner a { display:block; padding:14px 0; border-bottom:1px solid #f0f0f0; text-decoration:none; color:#333; font-weight:600; font-size:1.05rem; }
  .mobile-nav-inner { display:flex; flex-direction:column; }
}
@media(min-width:769px) {
  .hamburger { display:none !important; }
  .mobile-nav { display:none !important; }
}

/* DESKTOP FIX */
@media(min-width:769px) {
  .mobile-nav { display:none !important; }
  .hamburger { display:none !important; }
  nav { display:flex !important; }
  .header-cta { display:flex !important; }
}

/* LIGHTBOX */
.lightbox { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.92); z-index:9999; padding:20px; overflow:auto; }
.lightbox.open { display:block; }
.lightbox-inner { position:relative; max-width:900px; margin:40px auto; }
.lightbox-inner { position:relative; max-width:900px; width:100%; background:#1a1a1a; border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.lightbox-img { width:100%; max-height:70vh; object-fit:contain; background:#000; }
.lightbox-info { padding:20px; color:#fff; }
.lightbox-info h3 { font-size:1.2rem; margin-bottom:8px; }
.lightbox-info p { color:#aaa; font-size:0.9rem; margin-bottom:4px; }
.lightbox-close { position:absolute; top:12px; right:12px; background:rgba(0,0,0,0.6); color:#fff; border:none; width:36px; height:36px; border-radius:50%; font-size:1.2rem; cursor:pointer; z-index:10; }
@media(min-width:650px) { .lightbox-inner { flex-direction:row; max-height:80vh; } .lightbox-img { width:60%; max-height:80vh; } .lightbox-info { width:40%; overflow-y:auto; } }
