:root{
    --green:#8CE01A;
    --green-dark:#5FA30F;
    --bg:#0b0b0c;
    --bg-alt:#141416;
    --card:#1a1a1d;
    --silver:#c9cdd2;
    --white:#f5f6f7;
    --border:#2a2a2e;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Segoe UI', Arial, sans-serif;
    background:var(--bg);
    color:var(--white);
    line-height:1.6;
    overflow-x:hidden;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1180px;margin:0 auto;padding:0 24px;}

  /* NAV */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(10,10,11,0.9);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border);
  }
  nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 24px;max-width:1180px;margin:0 auto;
  }
  .brand{display:flex;align-items:center;gap:10px;}
  .brand img{height:44px;width:auto;}
  .brand span{font-weight:800;letter-spacing:1px;font-size:1.1rem;color:var(--white);}
  .brand span em{color:var(--green);font-style:normal;}
  .nav-links{display:flex;gap:28px;font-weight:600;font-size:0.95rem;}
  .nav-links a{color:var(--silver);transition:color .2s;}
  .nav-links a:hover{color:var(--green);}
  .nav-cta{
    background:var(--green);color:#0b0b0c;padding:10px 20px;border-radius:6px;
    font-weight:700;font-size:0.9rem;transition:transform .15s, box-shadow .15s;
  }
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(140,224,26,0.35);}
  .menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;}
  .menu-toggle span{width:26px;height:3px;background:var(--white);border-radius:2px;}

  /* HERO */
  .hero{
    position:relative;
    background: linear-gradient(180deg, rgba(11,11,12,0.55) 0%, rgba(11,11,12,0.85) 70%, var(--bg) 100%), url('images/img1.jpg') center/cover no-repeat;
    padding:110px 24px 90px;
    text-align:center;
    border-bottom:1px solid var(--border);
  }
  .hero .eyebrow{
    display:inline-block;color:var(--green);font-weight:700;letter-spacing:3px;
    font-size:0.8rem;text-transform:uppercase;margin-bottom:18px;
    border:1px solid var(--green-dark);padding:6px 16px;border-radius:20px;
  }
  .hero h1{
    font-size:clamp(2.4rem,6vw,4.2rem);
    font-weight:900;letter-spacing:1px;line-height:1.05;
    text-shadow:0 4px 24px rgba(0,0,0,0.6);
  }
  .hero h1 .accent{color:var(--green);}
  .hero p.sub{
    max-width:640px;margin:22px auto 0;color:var(--silver);font-size:1.15rem;
  }
  .hero-btns{
    margin-top:38px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap;
  }
  .btn{
    padding:15px 32px;border-radius:8px;font-weight:800;font-size:1rem;
    letter-spacing:0.5px;transition:transform .15s, box-shadow .15s, background .2s;
    display:inline-block;
  }
  .btn-primary{background:var(--green);color:#0a0a0a;}
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(140,224,26,0.4);}
  .btn-outline{border:2px solid var(--silver);color:var(--white);}
  .btn-outline:hover{border-color:var(--green);color:var(--green);transform:translateY(-3px);}

  /* SECTION HEADERS */
  .section{padding:90px 0;}
  .section-title{
    text-align:center;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;
    letter-spacing:1px;margin-bottom:12px;
  }
  .section-title .accent{color:var(--green);}
  .section-sub{
    text-align:center;color:var(--silver);max-width:560px;margin:0 auto 56px;
    font-size:1.05rem;
  }

  /* ABOUT */
  .about-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  }
  .about-logo{
    display:flex;justify-content:center;
  }
  .about-logo img{
    max-width:340px;filter:drop-shadow(0 0 40px rgba(140,224,26,0.15));
  }
  .about-text h3{font-size:1.6rem;margin-bottom:16px;font-weight:800;}
  .about-text p{color:var(--silver);margin-bottom:16px;}
  .badge-row{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
  .badge{
    background:var(--card);border:1px solid var(--border);color:var(--green);
    padding:8px 16px;border-radius:20px;font-weight:700;font-size:0.85rem;
    letter-spacing:0.5px;
  }

  /* FEATURES / WHY JOIN */
  .features{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  }
  .feature-card{
    background:var(--card);border:1px solid var(--border);border-radius:14px;
    padding:32px 26px;transition:transform .2s, border-color .2s;
  }
  .feature-card:hover{transform:translateY(-6px);border-color:var(--green-dark);}
  .feature-icon{
    width:52px;height:52px;border-radius:12px;background:rgba(140,224,26,0.12);
    display:flex;align-items:center;justify-content:center;margin-bottom:18px;
    font-size:1.5rem;
  }
  .feature-card h4{font-size:1.15rem;font-weight:800;margin-bottom:10px;}
  .feature-card p{color:var(--silver);font-size:0.95rem;}

  /* SCHEDULE / STATS */
  .stats-bar{
    background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border);
    padding:50px 0;
  }
  .stats-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;
  }
  .stat h2{font-size:2.6rem;color:var(--green);font-weight:900;}
  .stat p{color:var(--silver);font-weight:600;letter-spacing:0.5px;margin-top:4px;}

  .schedule-table{
    width:100%;border-collapse:collapse;margin-top:10px;
    background:var(--card);border-radius:14px;overflow:hidden;border:1px solid var(--border);
  }
  .schedule-table th, .schedule-table td{
    padding:16px 20px;text-align:left;border-bottom:1px solid var(--border);
  }
  .schedule-table th{
    background:#111113;color:var(--green);text-transform:uppercase;font-size:0.8rem;letter-spacing:1px;
  }
  .schedule-table tr:last-child td{border-bottom:none;}
  .schedule-table td{color:var(--silver);}
  .schedule-table td.day{color:var(--white);font-weight:700;}

  /* GALLERY strip */
  .gallery{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  }
  .gallery .g-item{
    border-radius:12px;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--border);
    background:var(--card);display:flex;align-items:center;justify-content:center;
  }
  .gallery .g-item img{width:100%;height:100%;object-fit:cover;}

  /* CTA JOIN */
  .join{
    background:radial-gradient(ellipse at center, rgba(140,224,26,0.12) 0%, transparent 70%), var(--bg-alt);
    border-top:1px solid var(--border);border-bottom:1px solid var(--border);
    text-align:center;padding:100px 24px;
  }
  .join h2{font-size:clamp(1.9rem,4.5vw,3rem);font-weight:900;margin-bottom:16px;}
  .join p{color:var(--silver);max-width:520px;margin:0 auto 34px;font-size:1.1rem;}

  /* FOOTER */
  footer{
    padding:50px 0 30px;
    border-top:1px solid var(--border);
  }
  .footer-grid{
    display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:40px;
  }
  .footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
  .footer-brand img{height:40px;}
  .footer-brand span{font-weight:800;font-size:1.05rem;}
  footer p{color:var(--silver);font-size:0.9rem;}
  footer h5{font-size:0.9rem;letter-spacing:1px;color:var(--green);text-transform:uppercase;margin-bottom:14px;}
  footer ul{list-style:none;}
  footer ul li{margin-bottom:10px;}
  footer ul li a{color:var(--silver);font-size:0.92rem;transition:color .2s;}
  footer ul li a:hover{color:var(--green);}
  .footer-bottom{
    text-align:center;color:#7a7d82;font-size:0.85rem;padding-top:24px;border-top:1px solid var(--border);
  }

  /* RESPONSIVE */
  @media (max-width:900px){
    .about-grid{grid-template-columns:1fr;}
    .features{grid-template-columns:1fr 1fr;}
    .stats-grid{grid-template-columns:1fr 1fr;gap:30px;}
    .gallery{grid-template-columns:1fr 1fr;}
    .footer-grid{grid-template-columns:1fr;}
  }
  @media (max-width:680px){
    .nav-links{display:none;}
    .menu-toggle{display:flex;}
    .features{grid-template-columns:1fr;}
    .schedule-table{font-size:0.85rem;}
    .schedule-table th, .schedule-table td{padding:12px 10px;}
  }

  .gallery-modal{
    display:none;position:fixed;inset:0;z-index:1000;
    background:rgba(5,5,6,0.92);
    overflow-y:auto;
    padding:40px 20px;
  }
  .gallery-modal.open{display:block;}
  .gallery-modal-inner{
    max-width:1180px;margin:0 auto;position:relative;
  }
  .gallery-modal-title{
    text-align:center;font-size:1.8rem;font-weight:900;margin-bottom:28px;color:var(--white);
  }
  .gallery-modal-close{
    position:sticky;top:0;float:right;
    background:var(--card);border:1px solid var(--border);color:var(--white);
    width:42px;height:42px;border-radius:50%;font-size:1.6rem;line-height:1;
    cursor:pointer;z-index:10;margin-bottom:10px;
  }
  .gallery-modal-close:hover{color:var(--green);border-color:var(--green);}
  .gallery-modal-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
    clear:both;
  }
  .gallery-modal-grid .g-item{
    border-radius:12px;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--border);
    background:var(--card);display:flex;align-items:center;justify-content:center;
  }
  .gallery-modal-grid .g-item img{width:100%;height:100%;object-fit:cover;}
  @media (max-width:900px){
    .gallery-modal-grid{grid-template-columns:repeat(2,1fr);}
  }
