:root {
  --gradient-hero: linear-gradient(135deg, oklch(0.11 0.02 285), oklch(0.15 0.06 300), oklch(0.11 0.02 285));
  --gradient-card: linear-gradient(145deg, oklch(0.16 0.03 285), oklch(0.13 0.02 285));
  --shadow-glow: 0 0 20px oklch(0.65 0.28 300 / 20%), 0 0 60px oklch(0.65 0.28 300 / 10%);
  --shadow-glow-sm: 0 0 10px oklch(0.65 0.28 300 / 15%);
}
* { border-color: oklch(0.25 0.03 285); }
.glass-card { background: var(--gradient-card); border: 1px solid oklch(0.65 0.28 300 / 15%); backdrop-filter: blur(12px); box-shadow: var(--shadow-glow-sm); transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease; }
.glass-card:hover { box-shadow: var(--shadow-glow); border-color: oklch(0.65 0.28 300 / 30%); transform: translateY(-2px); }
.glass-card-static:hover { transform: none; }
.neon-text { text-shadow: 0 0 20px oklch(0.65 0.28 300 / 50%), 0 0 40px oklch(0.65 0.28 300 / 25%); }
.neon-glow { box-shadow: var(--shadow-glow); }
.neon-line { height: 1px; background: linear-gradient(90deg, transparent, oklch(0.65 0.28 300 / 60%), transparent); }
.neon-border-glow { border: 1px solid oklch(0.65 0.28 300 / 20%); box-shadow: inset 0 0 20px oklch(0.65 0.28 300 / 5%), 0 0 15px oklch(0.65 0.28 300 / 10%); }
.hero-gradient { background: var(--gradient-hero); }
.btn-primary-glow { background: linear-gradient(135deg, oklch(0.6 0.26 300), oklch(0.55 0.25 290)); color: oklch(0.98 0 0); box-shadow: 0 0 20px oklch(0.65 0.28 300 / 30%); transition: box-shadow .3s ease, transform .2s ease; }
.btn-primary-glow:hover { box-shadow: 0 0 30px oklch(0.65 0.28 300 / 50%); transform: translateY(-1px); }
.btn-outline-glow { border: 1px solid oklch(0.65 0.28 300 / 40%); color: oklch(0.65 0.28 300); background: transparent; transition: all .3s ease; }
.btn-outline-glow:hover { background: oklch(0.65 0.28 300 / 10%); border-color: oklch(0.65 0.28 300 / 60%); box-shadow: 0 0 15px oklch(0.65 0.28 300 / 20%); }

.contact-form input.lux-input,
.contact-form select.lux-input,
.contact-form textarea.lux-input {
  box-sizing: border-box;
  width: 100%;
  border-radius: 0.5rem;
  border: 1px solid oklch(0.25 0.03 285);
  background-color: oklch(0.14 0.02 285);
  color: oklch(0.95 0.01 280);
  padding: 0.5rem 0.75rem;
  font: inherit;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.contact-form select.lux-input {
  appearance: none;
  cursor: pointer;
  padding-right: 2.25rem;
  background-color: oklch(0.14 0.02 285);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  background-size: 1rem;
}

.contact-form select.lux-input option {
  background-color: oklch(0.14 0.02 285);
  color: oklch(0.95 0.01 280);
}

.contact-form input[type="file"].lux-input {
  padding: 0.4rem 0.75rem;
  cursor: pointer;
}

.contact-form input[type="file"].lux-input::file-selector-button {
  margin-right: 0.75rem;
  border: 1px solid oklch(0.65 0.28 300 / 30%);
  border-radius: 0.375rem;
  background: oklch(0.65 0.28 300 / 12%);
  color: oklch(0.75 0.2 300);
  padding: 0.35rem 0.85rem;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease;
}

.contact-form input[type="file"].lux-input::file-selector-button:hover {
  background: oklch(0.65 0.28 300 / 22%);
  border-color: oklch(0.65 0.28 300 / 45%);
}

.contact-form .lux-input::placeholder {
  color: oklch(0.52 0.03 280);
}

.contact-form input.lux-input:hover,
.contact-form select.lux-input:hover,
.contact-form textarea.lux-input:hover {
  border-color: oklch(0.65 0.28 300 / 25%);
}

.contact-form input.lux-input:focus,
.contact-form select.lux-input:focus,
.contact-form textarea.lux-input:focus {
  outline: none;
  border-color: oklch(0.65 0.28 300 / 45%);
  background-color: oklch(0.16 0.025 285);
  box-shadow: 0 0 0 2px oklch(0.65 0.28 300 / 18%);
}

.contact-form textarea.lux-textarea {
  resize: vertical;
  min-height: 7rem;
}

.contact-form input.lux-input:-webkit-autofill,
.contact-form textarea.lux-input:-webkit-autofill {
  -webkit-text-fill-color: oklch(0.95 0.01 280);
  box-shadow: 0 0 0 1000px oklch(0.14 0.02 285) inset;
  transition: background-color 5000s ease-in-out 0s;
}
