:root {

  --bg: #0b0d10;

  --panel: #15181f;

  --text: #ffffff;

  --muted: #aeb5c2;

  --border: rgba(255,255,255,.14);

  --accent: #ffffff;

}

* {

  box-sizing: border-box;

}

body {

  margin: 0;

  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  background:

    linear-gradient(rgba(0,0,0,.75), rgba(0,0,0,.9)),

    url("../assets/hero.jpg") center/cover fixed no-repeat;

  color: var(--text);

}

.page {

  min-height: 100vh;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 28px;

}

.card {

  width: min(620px, 100%);

  background: rgba(21, 24, 31, 0.92);

  border: 1px solid var(--border);

  border-radius: 26px;

  padding: 32px;

  backdrop-filter: blur(14px);

}

.back-link {

  display: inline-block;

  color: var(--muted);

  text-decoration: none;

  margin-bottom: 24px;

}

h1 {

  margin: 0 0 12px;

  font-size: clamp(34px, 6vw, 54px);

  line-height: 1;

}

.intro {

  color: var(--muted);

  margin-bottom: 28px;

  line-height: 1.5;

}

.form {

  display: grid;

  gap: 18px;

}

label {

  display: grid;

  gap: 8px;

  color: var(--muted);

  font-size: 14px;

}

input {

  width: 100%;

  border: 1px solid var(--border);

  background: #0f1218;

  color: var(--text);

  border-radius: 14px;

  padding: 15px 16px;

  font: inherit;

}

fieldset {

  border: 1px solid var(--border);

  border-radius: 18px;

  padding: 18px;

  display: grid;

  gap: 12px;

}

legend {

  padding: 0 8px;

  color: var(--text);

  font-weight: 800;

}

.radio-row {

  display: flex;

  align-items: center;

  gap: 10px;

  color: var(--text);

}

.radio-row input {

  width: auto;

}

button {

  border: 0;

  border-radius: 999px;

  padding: 16px 22px;

  background: var(--accent);

  color: #000;

  font-weight: 900;

  cursor: pointer;

  font-size: 16px;

}

button:disabled {

  opacity: 0.55;

  cursor: not-allowed;

}

.form-message {

  min-height: 24px;

  font-weight: 800;

}

.form-message.success {

  color: #5ee08a;

}

.form-message.error {

  color: #ff7676;

}
