@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); }

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; }
