:root {
  --wine: #53191a;
  --red: #8a2527;
  --cream: #f6f0e8;
  --ink: #291f1c;
  --muted: #766864;
  --line: #ddcfc8;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: var(--ink); background: radial-gradient(circle at 80% 12%, rgba(138,37,39,.12), transparent 31%), var(--cream); }
main { display: grid; min-height: 100vh; place-items: center; padding: 24px; }
.card { width: min(100%, 480px); overflow: hidden; border: 1px solid var(--line); border-top: 6px solid var(--red); border-radius: 16px; background: #fffdf9; box-shadow: 0 24px 65px rgba(67,28,27,.16); }
.head { padding: 32px 32px 24px; background: linear-gradient(135deg, #fffdf9 0%, #fffdf9 54%, rgba(138,37,39,.09) 100%); }
.brand { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; }
.logo { display: grid; width: 132px; height: 72px; place-items: center; border-radius: 12px; background: var(--wine); padding: 9px 14px; }
.logo img { width: 100%; height: 100%; object-fit: contain; }
.eyebrow { margin: 0 0 5px; color: var(--muted); font-size: .72rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
h1 { margin: 0; color: var(--wine); font-family: Georgia, serif; font-size: clamp(2rem, 7vw, 3rem); line-height: 1; }
form { padding: 26px 32px 32px; }
label { display: grid; gap: 8px; color: var(--wine); font-size: .78rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
input { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 14px 15px; color: var(--ink); font: inherit; font-size: 1rem; }
input:focus { border-color: var(--red); box-shadow: 0 0 0 3px rgba(138,37,39,.14); outline: none; }
button { width: 100%; margin-top: 16px; border: 0; border-radius: 10px; padding: 14px 18px; background: var(--red); color: #fff; cursor: pointer; font: inherit; font-weight: 900; }
button:hover { background: var(--wine); }
.error { margin: 0 0 15px; border: 1px solid rgba(138,37,39,.25); border-radius: 10px; padding: 12px 14px; background: rgba(138,37,39,.07); color: #7a1f21; font-weight: 800; }
.note { margin: 16px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
