:root {
  --bg: #07070d;
  --surface: rgba(14, 14, 24, 0.94);
  --surface-2: rgba(19, 19, 33, 0.96);
  --text: #f5f7ff;
  --muted: #a8abc3;
  --line: rgba(255,255,255,.08);
  --line-strong: rgba(179,133,255,.34);
  --accent: #8a5cff;
  --accent-2: #b388ff;
  --success: #131326;
  --shadow: 0 18px 50px rgba(0,0,0,.34);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin:0;
  font-family: Inter, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top right, rgba(138,92,255,.16), transparent 24%),
    linear-gradient(180deg, #07070d 0%, #090912 100%);
  line-height:1.6;
}
a { color:inherit; text-decoration:none; }
.page { min-height:100vh; display:flex; flex-direction:column; }
.container { width:min(100% - 32px, 1120px); margin:0 auto; }
.header, .footer { background:rgba(7,7,13,.82); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.header-inner, .footer-inner { min-height:80px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:inline-flex; align-items:center; gap:14px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.92rem; }
.brand-mark { width:42px; height:42px; border:1px solid var(--line); display:grid; place-items:center; background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); box-shadow:0 0 0 1px rgba(138,92,255,.12); }
.main { flex:1; padding:58px 0 84px; }
.hero { display:grid; grid-template-columns: .9fr 1.1fr; gap:22px; margin-bottom:22px; }
.panel, .form-shell, .step, .summary, .success-box, .alert {
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.panel::before, .form-shell::before, .step::before, .summary::before, .success-box::before, .alert::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(179,133,255,.12), transparent 26%, transparent 76%, rgba(255,255,255,.03));
  pointer-events:none;
}
.panel, .form-shell, .success-box, .alert { padding:30px; }
.kicker { display:inline-flex; align-items:center; gap:10px; font-size:.8rem; text-transform:uppercase; letter-spacing:.22em; color:var(--accent-2); }
.kicker::before { content:""; width:32px; height:1px; background:currentColor; }
.title { margin:16px 0 12px; font-size:clamp(2.3rem, 4.6vw, 4.3rem); line-height:.95; letter-spacing:-.05em; }
.lead { margin:0; color:var(--muted); }
.stats { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:24px; }
.stat { min-height:132px; padding:22px; border:1px solid var(--line); background:rgba(255,255,255,.025); position:relative; }
.stat strong { display:block; font-size:1.4rem; margin-bottom:8px; }
.progress { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:18px; }
.progress-item { padding:16px; border:1px solid var(--line); background:rgba(255,255,255,.02); }
.progress-item small { display:block; color:var(--muted); margin-bottom:6px; text-transform:uppercase; letter-spacing:.12em; }
.progress-item strong { font-size:1rem; }
.progress-item.active { border-color:var(--line-strong); box-shadow:0 0 0 1px rgba(138,92,255,.12); }
.form-shell { padding:24px; }
.step { padding:24px; }
.step + .step { margin-top:16px; }
.step-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:16px; }
.step-title { margin:0; font-size:1.42rem; }
.step-text { margin:4px 0 0; color:var(--muted); }
.grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
.field { display:grid; gap:8px; }
.field-full { grid-column:1 / -1; }
.label { font-size:.92rem; color:var(--muted); }
.input, .textarea, .select {
  width:100%;
  min-height:56px;
  padding:0 16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text);
  outline:none;
}
.textarea { min-height:146px; resize:vertical; padding:14px 16px; }
.input:focus, .textarea:focus, .select:focus { border-color:var(--line-strong); box-shadow:0 0 0 4px rgba(138,92,255,.10); }
.options { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
.option { position:relative; }
.option input { position:absolute; opacity:0; inset:0; }
.option span {
  min-height:56px;
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 14px;
  background:rgba(255,255,255,.03);
  text-align:center;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.option input:checked + span { border-color:var(--line-strong); background:rgba(138,92,255,.12); }
.option span:hover { transform:translateY(-2px); }
.actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.btn, .btn-secondary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.btn { background:linear-gradient(135deg, #6f42ff, #8a5cff); color:#fff; box-shadow:0 18px 38px rgba(111,66,255,.32); }
.btn:hover { transform:translateY(-2px); }
.btn-secondary { background:rgba(255,255,255,.02); color:var(--text); border-color:var(--line); }
.btn-secondary:hover { transform:translateY(-2px); border-color:var(--line-strong); background:rgba(138,92,255,.08); }
.alert { margin-bottom:18px; color:#ffd2d2; background:rgba(116, 30, 44, 0.14); border-color:rgba(255,122,148,.22); }
.summary { padding:22px; margin-top:16px; }
.summary-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.summary-item { padding:16px; border:1px solid var(--line); background:rgba(255,255,255,.025); }
.summary-label { display:block; font-size:.82rem; text-transform:uppercase; letter-spacing:.16em; color:var(--muted); margin-bottom:8px; }
.footer { border-top:1px solid var(--line); border-bottom:0; margin-top:auto; }
.footer-inner { padding:20px 0; color:var(--muted); min-height:auto; }
.success-box { max-width:860px; margin:0 auto; }
.notice { padding:14px 16px; border:1px dashed var(--line-strong); color:var(--muted); margin-top:16px; background:rgba(255,255,255,.02); }
@media (max-width: 900px){ .hero{grid-template-columns:1fr;} .grid,.summary-grid,.stats,.options,.progress{grid-template-columns:1fr;} .header-inner,.footer-inner{flex-direction:column; align-items:flex-start; padding:18px 0;} }
@media (max-width: 560px){ .container{width:min(100% - 22px,1080px);} .panel,.form-shell,.success-box,.alert,.step,.summary{padding:22px;} .btn,.btn-secondary{width:100%;} }
