:root { --bg: #0D1B2A; --fg: #FFFFFF; --accent: #F5A623; --muted: #9CA3AF; --border: #1F2937; }

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--fg);
  font-family: 'DM Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #060D14; }
::-webkit-scrollbar-thumb { background: #1F2937; border-radius: 4px; }

::selection { background: #F5A62330; color: #FFFFFF; }

/* --- Form base styles --- */
.form-section { border-bottom: 1px solid #1F2937; padding: 28px 0; }
.form-section:last-of-type { border-bottom: none; }
.form-section-title {
  font-size: 11px; font-weight: 600; letter-spacing: 0.15em;
  text-transform: uppercase; color: #F5A623; margin: 0 0 20px;
}
.form-row { display: flex; gap: 16px; flex-wrap: wrap; }
.form-group { flex: 1 1 200px; display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: 13px; font-weight: 500; color: #D1D5DB; }

input[type="text"], input[type="email"], input[type="tel"],
input[type="number"], input[type="date"], select, textarea {
  width: 100%; padding: 10px 12px; background: #111827; border: 1px solid #1F2937;
  border-radius: 6px; color: #F9FAFB; font-family: 'DM Sans', sans-serif;
  font-size: 14px; outline: none; transition: border-color 0.15s, box-shadow 0.15s;
  box-sizing: border-box;
}
input:focus, select:focus, textarea:focus {
  border-color: #F5A623; box-shadow: 0 0 0 3px #F5A62325;
}
input::placeholder { color: #6B7280; }
select { cursor: pointer; }
select:invalid { color: #6B7280; }
option { background: #111827; color: #F9FAFB; }

.btn {
  display: inline-block; padding: 11px 24px;
  font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600;
  border-radius: 6px; cursor: pointer; border: none;
  text-decoration: none; transition: background 0.15s;
}
.btn-primary { background: #F5A623; color: #0D1B2A; }
.btn-primary:hover { background: #E8981A; }
.btn-secondary {
  background: transparent; border: 1px solid #1F2937; color: #9CA3AF;
}
.btn-secondary:hover { border-color: #374151; color: #D1D5DB; }
