:root{ --green:#00906C; --green-dark:#007d5d; }
*{ box-sizing:border-box; }

body{
  margin:0;
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:url('images/background.png') no-repeat center center fixed;
  background-size:cover;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}

.container{
  width:100%;
  max-width:502px;
  background:rgba(255,255,255,0.84);
  border-radius:12px;
  padding:32px 24px 28px;
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,0.15);
}

.logo{
  font-family:'Bungee', cursive;
  font-size:96px;
  line-height:1;
  color:var(--green);
  margin:0 0 35px;
}

.subtitle{
  font-weight:700;
  font-size:17px;
  color:#222;
  margin:0 0 35px;
}

.join-text{
  font-weight:800;
  font-size:40px;
  color:#222;
  margin:0 0 30px;
}

form{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:30px;
  margin:0 0 30px;
}

.field{ position:relative; width:100%; max-width:360px; }

input[type="email"], button{
  width:100%;
  max-width:360px;
  height:56px;
  border-radius:8px;
  font-size:16px;
}

input[type="email"]{
  border:2px solid #005646;
  background:#DFDFDF;
  color:#333;
  padding:0 14px;
}

.error{
  position:absolute;
  left:0; right:0;
  bottom:-22px;
  color:red;
  font-size:14px;
  display:none;
}

button{
  background:var(--green);
  color:#fff;
  border:none;
  font-weight:700;
  cursor:pointer;
  transition:background 0.2s;
}
button:hover{ background:var(--green-dark); }

.socials{
  display:flex;
  justify-content:center;
  gap:20px;
  margin-bottom:20px;
}
.socials a{ color:#333; font-size:26px; text-decoration:none; }
.socials a:hover{ color:var(--green); }

.inquiries{ font-size:15px; margin-bottom:15px; color:#111; }
.inquiries i{ margin-right:8px; color:var(--green-dark); }
.inquiries .mailto{ color:#006; text-decoration:underline; }

.footer{ font-size:15px; color:#333; font-weight:600; }
.footer span{ font-weight:900; }

.hidden{ display:none; }

.popup{
  position:fixed; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,0.65);
  visibility:hidden; opacity:0;
  transition:opacity 0.25s ease;
  z-index:1000;
}
.popup.show{ visibility:visible; opacity:1; }

.popup-card{
  background:#fff;
  border-radius:12px;
  padding:30px 25px;
  max-width:520px;
  text-align:center;
  font-family:'Inter', sans-serif;
}
.popup-card h2{ font-size:28px; margin-top:0; color:var(--green); font-weight:800; }
.popup-card p{ font-size:16px; margin:20px 0; line-height:1.5; }
.close-btn{
  padding:12px 26px;
  font-size:16px;
  background:var(--green);
  color:#fff; border:none; border-radius:8px;
  cursor:pointer; font-weight:600;
}
.close-btn:hover{ background:var(--green-dark); }