:root { color-scheme: dark; --background: #0a0a0a; --panel: #121210; --bone: #e8e1d4; --ink: #11110f; --muted: #bdb7ab; --line: rgba(232,225,210,.34); }
* { box-sizing: border-box; }
body { margin: 0; background: var(--background); color: var(--bone); font-family: Georgia, 'Times New Roman', serif; }
.waitlist-card { width: 100%; max-width: 31rem; margin: 0 auto; padding: clamp(1.1rem,5vw,1.6rem); border: 1px solid var(--line); background: var(--panel); }
body.standalone { min-height: 100svh; display: grid; place-items: center; padding: 1rem; }
.wordmark { margin: 0; font-size: 1.35rem; font-weight: 400; line-height: 1; letter-spacing: .5em; }
.chapter { display: flex; align-items: center; gap: .75rem; margin: 1rem 0; color: var(--muted); font: 700 .65rem/1.4 Arial,sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.chapter::before { content: ''; width: 1.5rem; height: 1px; background: var(--line); }
h1 { margin: 0; max-width: 16ch; font-family: Impact,'Arial Narrow',Arial,sans-serif; font-size: clamp(2rem,8vw,2.65rem); font-weight: 400; line-height: 1.03; letter-spacing: .015em; text-transform: uppercase; }
.tagline { margin: .8rem 0 1.15rem; max-width: 32ch; color: var(--muted); font-size: 1rem; line-height: 1.4; }
form { margin: 0; width: 100%; }
.fields { display: grid; gap: .75rem; }
.email-label { display: block; margin-bottom: .4rem; font: 700 .68rem/1.4 Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
input[type=email] { display: block; width: 100%; min-width: 0; min-height: 3rem; padding: .75rem; border: 1px solid var(--line); border-radius: 0; background: var(--background); color: var(--bone); font: 1rem/1.4 Arial,sans-serif; }
input::placeholder { color: var(--muted); opacity: .8; }
button { display: flex; width: 100%; min-height: 3rem; align-items: center; justify-content: center; border: 1px solid var(--bone); border-radius: 0; padding: .8rem .9rem; background: var(--bone); color: var(--ink); font: 600 .8rem/1.4 Georgia,'Times New Roman',serif; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
button:hover { background: #f5f0e6; }
button:disabled { cursor: not-allowed; opacity: .65; }
:focus-visible { outline: 2px solid var(--bone); outline-offset: 3px; }
.message { margin: 1rem 0; padding: .8rem; border: 1px solid var(--line); font: .95rem/1.5 Arial,sans-serif; overflow-wrap: anywhere; }
.message:empty { display: none; }
.message[data-error=true] { border-color: #e3a792; color: #e3a792; }
.consent { display: flex; gap: .65rem; align-items: flex-start; color: var(--muted); font: .85rem/1.45 Arial,sans-serif; }
.consent input { flex-shrink: 0; width: 1.1rem; height: 1.1rem; margin: .1rem 0 0; accent-color: var(--bone); }
.disclosure { margin: .85rem 0 0; color: var(--muted); font-size: .85rem; line-height: 1.4; }
a { color: inherit; text-underline-offset: .2em; }
.trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation: none !important; scroll-behavior: auto !important; } }
