:root {
  --purple: #6b4eff;
  --purple-2: #8a6cff;
  --peach: #fff3ec;
  --paper: #ffffff;
  --text: #29252d;
  --muted: #6d6675;
  --danger: #a00000;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background: radial-gradient(circle at top left, #fff4ec, #f8f5f2 45%, #f2ecff);
}
.container { max-width: 980px; margin: 0 auto; padding: 24px; }
.hero { padding: 34px 8px 18px; text-align: center; }
.badge { display: inline-block; padding: 9px 14px; border-radius: 999px; background: #ffffffcc; color: var(--purple); font-weight: 800; box-shadow: 0 10px 30px rgba(107,78,255,.12); }
h1 { font-size: clamp(32px, 7vw, 58px); line-height: 1; margin: 18px auto 12px; max-width: 780px; }
.hero p { max-width: 680px; margin: 0 auto; color: var(--muted); font-size: 18px; line-height: 1.5; }
.card { background: rgba(255,255,255,.92); border: 1px solid rgba(255,255,255,.75); border-radius: 28px; padding: 26px; margin: 24px 0; box-shadow: 0 24px 60px rgba(50,38,25,.13); }
.form-card h2 { margin-top: 0; font-size: 28px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
label { display: block; font-weight: 800; color: #332d37; }
input, select { width: 100%; margin-top: 8px; padding: 14px 16px; border: 1px solid #ddd6d2; border-radius: 16px; background: #fff; font-size: 16px; font-weight: 700; color: var(--text); }
.checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 18px 0 24px; }
.checks label { display: flex; gap: 8px; align-items: center; font-weight: 700; }
.checks input { width: auto; margin: 0; }
button { width: 100%; border: 0; border-radius: 999px; padding: 18px 20px; font-size: 18px; font-weight: 900; color: white; background: linear-gradient(135deg, var(--purple), var(--purple-2)); box-shadow: 0 18px 30px rgba(107,78,255,.28); cursor: pointer; }
.disclaimer { text-align: center; color: var(--muted); font-size: 15px; }
.hidden { display: none; }
.error-box { color: var(--danger); font-weight: 800; line-height: 1.5; }
.loading { font-weight: 800; color: var(--purple); }
.grid-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mini-card { border: 1px solid #ece4df; border-radius: 18px; padding: 14px; background: #fffaf7; }
.mini-card strong, .mini-card span, .mini-card small { display: block; margin-bottom: 6px; }
li { margin: 12px 0; }
small { color: var(--muted); line-height: 1.4; }
@media (max-width: 720px) {
  .container { padding: 14px; }
  .card { border-radius: 24px; padding: 22px; }
  .form-grid, .checks, .grid-list { grid-template-columns: 1fr; }
  h1 { font-size: 38px; }
}
