:root { --midnight: #0e0a14; --panel: #1a1322; --line: #33283f; --gold: #e2b866; --moon: #f4efe6; --dusk: #b3a8bf; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; color: var(--moon); line-height: 1.6;
  background: radial-gradient(1000px 520px at 50% -120px, #2a1c38 0%, transparent 70%), var(--midnight);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
main { flex: 1; width: 100%; max-width: 640px; margin: 0 auto; padding: 64px 16px; display: flex; flex-direction: column; justify-content: center; text-align: center; }
main.text { text-align: left; justify-content: flex-start; }
.logo { width: min(320px, 100%); height: auto; margin: 0 auto 40px; }
.eyebrow { color: var(--gold); font-size: .75rem; letter-spacing: .24em; text-transform: uppercase; margin: 0 0 12px; }
h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(2.2rem, 7vw, 3.4rem); line-height: 1.15; margin: 0 0 20px; }
h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 1.5rem; margin: 0 0 12px; }
main.text h2 { margin-top: 24px; }
p { color: var(--dusk); margin: 0 0 16px; }
a { color: var(--gold); }
.rule { width: 56px; height: 1px; background: var(--gold); border: 0; margin: 24px auto; }
form { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 24px; margin-top: 8px; text-align: left; }
label { display: block; margin-bottom: 8px; color: var(--moon); font-size: .9rem; }
input[type="email"] { width: 100%; padding: 12px; margin-bottom: 16px; font: inherit; color: var(--moon); background: var(--midnight); border: 1px solid var(--line); border-radius: 4px; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.check { display: flex; gap: 10px; align-items: flex-start; color: var(--dusk); margin-bottom: 12px; }
.check input { margin-top: 5px; flex: none; }
.trap { position: absolute; left: -9999px; }
button { width: 100%; margin-top: 8px; padding: 13px; font: inherit; font-size: .8rem; letter-spacing: .16em; text-transform: uppercase; color: var(--midnight); background: var(--gold); border: 0; border-radius: 4px; cursor: pointer; }
.small { font-size: .85rem; margin: 16px 0 0; }
footer { border-top: 1px solid var(--line); padding: 20px 16px; color: var(--dusk); font-size: .8rem; text-align: center; }
