:root {
        --fg: #0f172a;
        --muted: #64748b;
        --accent: #0ea5e9;
        --bg: #f8fafc;
      }
      body {
        font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica,
          Arial, sans-serif;
        background: var(--bg);
        color: var(--fg);
        margin: 0;
      }
      .wrap {
        max-width: 720px;
        margin: 0 auto;
        padding: 32px 20px;
      }
      .card {
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 8px 30px rgba(2, 6, 23, 0.06);
        padding: 28px;
      }
      .progress {
        height: 6px;
        background: #e2e8f0;
        border-radius: 999px;
        overflow: hidden;
        margin: 6px 0 22px;
      }
      .bar {
        height: 100%;
        width: 0;
        background: var(--accent);
        transition: width 0.25s ease;
      }
      h1 {
        font-size: 22px;
        margin: 0 0 8px;
      }
      .sub {
        color: var(--muted);
        margin: 0 0 16px;
      }
      fieldset {
        border: 0;
        margin: 0;
        padding: 0;
      }
      .choice {
        display: block;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 14px 14px;
        margin: 10px 0;
        cursor: pointer;
      }
      .choice input {
        margin-right: 10px;
        transform: scale(1.15);
      }
      .row {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
      }
      input[type="text"],
      input[type="email"],
      input[type="tel"],
      select,
      textarea {
        width: 100%;
        padding: 12px 14px;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        font-size: 16px;
      }
      textarea {
        min-height: 120px;
        resize: vertical;
      }
      .nav {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        margin-top: 18px;
      }
      .btn {
        appearance: none;
        border: 0;
        border-radius: 999px;
        padding: 12px 18px;
        font-weight: 600;
        cursor: pointer;
      }
      .btn.primary {
        background: var(--accent);
        color: #fff;
      }
      .btn.ghost {
        background: #f1f5f9;
      }
      .err {
        color: #b91c1c;
        font-size: 14px;
        margin-top: 8px;
        display: none;
      }
      .hidden {
        display: none !important;
      }
      .hint {
        color: var(--muted);
        font-size: 14px;
        margin: 6px 0 0;
      }