:root {
  --bg: #0d0d0d;
  --bg-soft: #151515;
  --white: #ffffff;
  --gray: #9a9a97;
  --olive: #8a9a6b;
  --line: rgba(255,255,255,0.12);
  --line-soft: rgba(255,255,255,0.07);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { background: var(--bg); }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--gray);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
main {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 72px 24px 48px;
}
.badge { width: 168px; height: 168px; margin-bottom: 40px; }
.overline {
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-size: 12px;
  color: var(--olive);
  margin-bottom: 18px;
}
h1 {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 300;
  color: var(--white);
  font-size: clamp(34px, 6vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.sub { font-size: 16px; margin: 18px 0 44px; max-width: 42ch; }
.actions { width: 100%; max-width: 420px; }
form { display: flex; flex-direction: column; gap: 12px; text-align: left; }
.row { display: flex; gap: 12px; }
.row > div { flex: 1; }
label {
  font-family: 'Space Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 10.5px;
  color: var(--gray);
  display: block;
  margin-bottom: 6px;
}
input, textarea {
  width: 100%;
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 13px 14px;
  color: var(--white);
  font-size: 15px;
  font-family: inherit;
  outline: none;
}
textarea { resize: vertical; min-height: 88px; }
input:focus, textarea:focus { border-color: var(--olive); }
.btn {
  display: block;
  width: 100%;
  border-radius: 8px;
  padding: 14px 18px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 500;
  font-size: 15.5px;
  letter-spacing: 0.02em;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}
.btn-primary { background: var(--olive); color: var(--bg); border: 1px solid var(--olive); margin-top: 8px; }
.btn-primary:hover { filter: brightness(1.08); }
.hidden-field { position: absolute; left: -9999px; }
footer {
  text-align: center;
  padding: 28px 24px;
  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
}
