@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

:root {
  --green-0:#03110c;
  --green-1:#071b14;
  --green-2:#0b2b20;
  --green-3:#123d2d;
  --gold:#c9a85d;
  --gold-soft:#e0c98b;
  --cream:#eee8d8;
  --muted:#a9b3aa;
  --line:rgba(201,168,93,.28);
  --danger:#d97b6c;
}

* { box-sizing:border-box; }
body {
  margin:0;
  min-height:100svh;
  background:var(--green-0);
  color:var(--cream);
  font-family:Inter,system-ui,sans-serif;
  font-weight:300;
  line-height:1.7;
}
a { color:inherit; }

h1, h2, .display {
  font-family:'Cormorant Garamond', serif;
  font-weight:600;
  color:var(--gold-soft);
  letter-spacing:.01em;
}

.kicker {
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
  color:var(--muted);
}

.card {
  background:var(--green-1);
  border:1px solid var(--line);
  border-radius:10px;
}

label {
  display:block;
  font-size:.78rem;
  letter-spacing:.04em;
  color:var(--muted);
  margin-bottom:6px;
}

input {
  width:100%;
  background:var(--green-2);
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--cream);
  padding:12px 14px;
  font-family:Inter,sans-serif;
  font-size:.95rem;
  outline:none;
}
input:focus { border-color:var(--gold); }

select {
  width:100%;
  background-color:var(--green-2);
  border:1px solid var(--line);
  border-radius:6px;
  color:var(--cream);
  padding:12px 36px 12px 14px;
  font-family:Inter,sans-serif;
  font-size:.95rem;
  outline:none;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23c9a85d' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
}
select:focus { border-color:var(--gold); }
select option {
  background:var(--green-1);
  color:var(--cream);
}

input:disabled, select:disabled {
  opacity:.65;
  cursor:not-allowed;
}

button.primary {
  width:100%;
  background:var(--gold);
  color:var(--green-0);
  border:none;
  border-radius:6px;
  padding:13px 14px;
  font-family:Inter,sans-serif;
  font-weight:500;
  font-size:.9rem;
  letter-spacing:.03em;
  cursor:pointer;
  transition:.2s;
}
button.primary:hover { background:var(--gold-soft); }
button.primary:disabled { opacity:.55; cursor:default; }

button.ghost {
  background:none;
  border:1px solid var(--line);
  color:var(--muted);
  border-radius:6px;
  padding:9px 16px;
  font-family:Inter,sans-serif;
  font-size:.82rem;
  cursor:pointer;
  transition:.2s;
}
button.ghost:hover { border-color:var(--gold); color:var(--gold-soft); }

.error-msg {
  font-size:.82rem;
  color:var(--danger);
  min-height:1.2em;
}

.muted { color:var(--muted); font-size:.85rem; }
