:root{
  --bg:#080808;
  --panel:#0f120f;
  --panel-2:#131712;
  --line: rgba(120,185,60,0.16);
  --green:#78B93C;
  --green-hi:#A3E066;
  --white:#F4FDFF;
  --muted:#8A948A;
  --radius:18px;
}

*, *::before, *::after {
  box-sizing: border-box;
}

html {
  max-width: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--white);
  font-family: 'Inter', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden; /* Keeping it here on body only can sometimes still block sticky in certain browsers, so ensure no wrapper has overflow hidden */
}

html{scroll-behavior:smooth;}

h1,h2,h3,.display{font-family:'Syne',sans-serif; letter-spacing:-0.01em;}
.mono{font-family:'JetBrains Mono',monospace;}
a{color:inherit;}
.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

/* background texture: faint radial glow */
.glow-field{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(circle at 15% 10%, rgba(120,185,60,0.08), transparent 40%),
    radial-gradient(circle at 85% 60%, rgba(120,185,60,0.06), transparent 45%);
}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.12em;
  color:var(--green-hi); text-transform:uppercase; margin-bottom:22px;
}
.eyebrow::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--green-hi); box-shadow:0 0 8px var(--green-hi);}

.btn-primary{
  flex:1;
  background:var(--green); color:#080808; font-weight:700; 
  font-size:15px;
  padding:15px 24px; border-radius:999px; text-decoration:none; border:none; cursor:pointer;
  transition:box-shadow .2s, transform .15s; text-align: center; white-space:nowrap;
}
.btn-primary:hover{box-shadow:0 0 26px rgba(120,185,60,0.55); transform:translateY(-1px);}

.btn-ghost{
  flex:1;
  background:transparent; color:var(--white); font-weight:600; 
  font-size:15px;
  padding:15px 24px; border-radius:999px; text-decoration:none; text-align: center; white-space:nowrap;
  border:1px solid rgba(244,253,255,0.2); transition:border-color .2s, background .2s;
}
.btn-ghost:hover{border-color:var(--green); background:rgba(120,185,60,0.08);}

.stars{color:var(--green-hi); letter-spacing:2px;}

/* SECTION SHARED */
section{position:relative; z-index:1; padding:90px 24px;}
.section-head{margin-bottom:48px; text-align:center;}
.section-head .eyebrow{margin-bottom:14px;}
.section-head h2{font-size:clamp(28px,5vw,44px); font-weight:700; margin:0;}
.section-head p{color:var(--muted); margin-top:12px; font-size:16px;}

label{display:block; font-size:12px; font-weight:600; color:var(--muted); margin-bottom:7px; text-transform:uppercase; letter-spacing:0.06em;}

/* Date/Select input container fix */
input, select, textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  -webkit-appearance:none;
  appearance:none;
  background:#080808; border:1px solid rgba(244,253,255,0.14); color:var(--white);
  padding:13px 14px; border-radius:10px; font-family:'Inter',sans-serif; font-size:14px;
}
input[type="date"] {
  min-height: 48px;
}
input:focus, select:focus, textarea:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(120,185,60,0.18);}
textarea{resize:vertical; min-height:80px;}