/* ═══════════════════════════════════════════════════════════════════════════
   Early-access page
   ─────────────────────────────────────────────────────────────────────────── */

/* ─── Hero / form layout ─── */
.ea-hero {
  padding: 80px 0 64px;
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(124, 92, 255, .22), transparent 60%),
    radial-gradient(700px 420px at 10% 110%, rgba(86, 204, 242, .14), transparent 60%);
}

.ea-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 64px;
  align-items: start;
}

.ea-hero__copy { padding-top: 12px }

.ea-hero__title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 12px 0 16px;
}

.ea-hero__sub {
  color: var(--muted);
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 28px;
}

.ea-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.ea-points li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--muted);
  line-height: 1.5;
}
.ea-points__tick {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(124, 92, 255, .14);
  color: var(--accent);
  font-size: .8rem;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ─── Form card ─── */
.ea-form-card {
  padding: 32px;
  position: relative;
}

.ea-form { margin: 0 }
.ea-form[hidden] { display: none }

.ea-form__header { margin-bottom: 20px }

.ea-form__step {
  display: inline-block;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--accent);
  background: rgba(124, 92, 255, .12);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
}
.ea-form__optional {
  color: var(--muted);
  background: none;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
  padding: 0;
}

.ea-form__title {
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 0 0 8px;
}

.ea-form__sub {
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
  font-size: .95rem;
}
.ea-form__sub a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ea-form__submit { width: 100%; margin-top: 4px }

.ea-form__legal {
  margin: 14px 0 0;
  font-size: .8rem;
  color: var(--muted);
  line-height: 1.5;
}

.ea-form__error {
  margin: 16px 0 0;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255, 95, 95, .08);
  border: 1px solid rgba(255, 95, 95, .35);
  color: #ffb4b4;
  font-size: .9rem;
}

/* ─── Fields ─── */
.ea-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
  margin-bottom: 20px;
}

.ea-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 16px;
}
.ea-form--step1 .ea-field { margin-bottom: 18px }
.ea-grid .ea-field { margin: 0 }
.ea-field--full { grid-column: 1 / -1 }

.ea-fieldset {
  border: 0;
  padding: 0;
  min-width: 0;
}

.ea-field__label {
  display: block;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: var(--text, #e8e8ee);
  margin-bottom: 2px;
}

.ea-input {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: inherit;
  font: inherit;
  line-height: 1.4;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.ea-input::placeholder { color: var(--muted); opacity: .7 }
.ea-input:hover { border-color: var(--border-strong) }
.ea-input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(124, 92, 255, .25);
  background: var(--surface);
}

.ea-select {
  appearance: none;
  -webkit-appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position:
    right 18px center,
    right 13px center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 36px;
}
.ea-select option { background: var(--surface); color: inherit }

.ea-textarea {
  resize: vertical;
  min-height: 80px;
  font-family: inherit;
}

/* ─── Checkbox + radio chips ─── */
.ea-checks,
.ea-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}

.ea-check,
.ea-radio {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--bg);
  cursor: pointer;
  user-select: none;
  font-size: .9rem;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.ea-check:hover,
.ea-radio:hover { border-color: var(--border-strong) }

.ea-check input,
.ea-radio input {
  width: 14px;
  height: 14px;
  accent-color: var(--accent);
  margin: 0;
}

.ea-check:has(input:checked),
.ea-radio:has(input:checked) {
  border-color: var(--accent);
  background: rgba(124, 92, 255, .12);
  color: #fff;
}

.ea-radios { flex-direction: column; gap: 8px }
.ea-radio { justify-content: flex-start }

/* ─── Step 2 actions ─── */
.ea-form__actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.ea-form__actions .ea-form__submit { flex: 1; min-width: 200px }
.ea-form__skip { padding-inline: 14px }

/* ─── Step 3 success ─── */
.ea-done { text-align: center; padding: 8px 0 4px }
.ea-done__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: rgba(86, 204, 242, .15);
  color: #56ccf2;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 18px;
}
.ea-done__title { font-size: 1.5rem; margin: 0 0 12px }
.ea-done__sub {
  color: var(--muted);
  line-height: 1.6;
  margin: 0 auto 14px;
  max-width: 38ch;
}
.ea-done__sub a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px }
.ea-done .btn { margin-top: 10px }

/* ─── Trust strip ─── */
.ea-trust { padding-block: 72px }
.ea-trust__title {
  text-align: center;
  margin-bottom: 36px;
}
.ea-trust__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ea-trust__item { padding: 24px }
.ea-trust__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(124, 92, 255, .15);
  color: var(--accent);
  font-weight: 700;
  margin-bottom: 14px;
}
.ea-trust__heading {
  font-size: 1.05rem;
  margin: 0 0 8px;
}
.ea-trust__body {
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
  font-size: .95rem;
}

/* ─── Loading state ─── */
.ea-form--submitting .ea-form__submit {
  opacity: .65;
  pointer-events: none;
}

/* ─── Responsive ─── */
@media (max-width: 960px) {
  .ea-hero__inner { grid-template-columns: 1fr; gap: 40px }
  .ea-hero { padding-top: 56px }
}

@media (max-width: 640px) {
  .ea-form-card { padding: 24px }
  .ea-grid { grid-template-columns: 1fr }
  .ea-trust__grid { grid-template-columns: 1fr }
  .ea-trust { padding-block: 48px }
  .ea-hero__title { font-size: 1.85rem }
  .ea-form__actions { flex-direction: column-reverse; align-items: stretch }
  .ea-form__actions .ea-form__skip { width: 100% }
}
