/* ===================================================== */
/* GLOBAL */
/* ===================================================== */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Space Grotesk', sans-serif;
}

body{
  color:white;
  overflow-x:hidden;
  background:#191a19;
}

a{
  color: #7a9812;
}

a:visited{
  color: initial;
}

/* ===================================================== */
/* BACKGROUND */
/* ===================================================== */

.background{
  position:fixed;
  inset:0;
  background:#191a19;
  background-size:100% 100%;
  z-index:-2;
  overflow:hidden;
}

.background .particle{
  position:absolute;
  border-radius:50%;
  background:#32a852;
  pointer-events:none;
  will-change:transform, opacity;
  animation:float linear infinite;
}

@keyframes float{
  0%{
    transform:translate(0,0) scale(1);
    opacity:0.8;
  }
  50%{ opacity:0.3; }
  100%{
    transform:translate(var(--dx), var(--dy)) scale(1.4);
    opacity:0;
  }
}

/* ===================================================== */
/* HEADER */
/* ===================================================== */

header{
  background:#ffffff;
  padding:15px 8%;
  position:sticky;
  top:0;
  z-index:1000;
}

.top-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.logo{
  width: 200px;
  margin: 0 auto;
  padding-left: 150px;
}

.nav-links{
  list-style:none;
  display:flex;
  gap:30px;
}

.nav-links a{
  text-decoration:none;
  color:#333;
  font-weight:500;
  transition:0.3s;
}

.nav-links a:hover{
  color:#7a9812;
}

.menu-toggle{
  display:none;
  font-size:24px;
  cursor:pointer;
  color:#111;
}

/* Social */

.social-nav{
  border-top:1px solid #eee;
  padding:12px 0;
  display:flex;
  justify-content:center;
  gap:25px;
}

.social-btn{
  width:45px;
  height:45px;
  border-radius:50%;
  background:#f4f4f4;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#333;
  font-size:18px;
  transition:0.3s;
}

.social-btn:hover{
  background:#7a9812;
  color:white;
  transform:translateY(-4px);
  box-shadow:0 0 20px rgba(122,152,18,0.7);
}

/* ===================================================== */
/* MOBILE MENU */
/* ===================================================== */

.overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.4);
  backdrop-filter:blur(10px);
  opacity:0;
  visibility:hidden;
  transition:0.4s ease;
  z-index:1500;
}

.overlay.active{
  opacity:1;
  visibility:visible;
}

.mobile-panel{
  position:fixed;
  top:0;
  right:-100%;
  width:70%;
  max-width:320px;
  height:100vh;
  background:white;
  padding:60px 30px;
  display:flex;
  flex-direction:column;
  gap:25px;
  transition:0.5s ease;
  z-index:2000;
}

.mobile-panel.active{
  right:0;
}

.mobile-panel a{
  text-decoration:none;
  color:#333;
  font-size:18px;
  font-weight:500;
}

.close-btn{
  position:absolute;
  top:20px;
  right:20px;
  font-size:22px;
  cursor:pointer;
  color:#111;
}

/* ===================================================== */
/* BUTTONS */
/* ===================================================== */

.btn{
  padding:12px 24px;
  background:#7a9812;
  border-radius:8px;
  text-decoration:none;
  color:white !important;
  font-weight:600;
  transition:0.3s;
  display:inline-block;
}

.btn a{
  color: #fff !important;
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 0 25px rgba(122,152,18,0.6);
}

/* ===================================================== */
/* FOOTER */
/* ===================================================== */

footer{
  background:#181a18;
  padding:60px 8%;
  margin-top:80px;
}

.footer-content{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:40px;
}

.footer-links{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.footer-links a{
  text-decoration:none;
  color:#ccc;
  transition:0.3s;
}

.footer-links a:hover{
  color:#7a9812;
}

.footer-bottom{
  margin-top:40px;
  text-align:center;
  color:#888;
  font-size:0.9rem;
}

/* ===================================================== */
/* RESPONSIVE - GLOBAL */
/* ===================================================== */

@media(max-width:1028px){
  .nav-links{
    display:none;
  }

  .menu-toggle{
    display:block;
  }

  .logo{
    padding-left: 0;
  }

  footer{
    margin-top:100px;
  }
}
