:root { color-scheme: dark; --accent: #ff4081; --muted: #aaa; }
* { box-sizing: border-box; }
body { margin: 0; background: #000; color: #fff; font-family: Helvetica, Arial, sans-serif; min-height: 100vh; display: flex; flex-direction: column; }
a { color: var(--accent); text-underline-offset: .2em; }
.home-link { display: inline-block; margin: 20px; color: #fff; font-size: 18px; font-weight: bold; text-decoration: none; }
.home-link:hover { color: var(--accent); }
.container { width: min(90%, 800px); margin: 28px auto 64px; }
.eyebrow { font-size: 12px; letter-spacing: .12em; color: var(--muted); line-height: 1.6; }
h1 { font-size: clamp(46px, 10vw, 90px); letter-spacing: -.045em; margin: 10px 0 18px; line-height: 1.1; }
h1 span { color: var(--accent); }
.intro { color: #ccc; font-size: 18px; line-height: 1.6; margin-bottom: 32px; }
form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.field { display: flex; flex-direction: column; min-width: 0; gap: 10px; }
.full { grid-column: 1 / -1; min-width: 0; }
label { font-size: 15px; font-weight: bold; }
input, textarea { width: 100%; border: 1px solid #555; border-radius: 0; background: #111; color: #fff; font: inherit; padding: 13px 14px; }
textarea { resize: vertical; min-height: 180px; }
input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
small { color: var(--muted); font-size: 12px; line-height: 1.6; }
button { border: 0; padding: 15px 22px; background: var(--accent); color: #000; font: inherit; font-weight: bold; cursor: pointer; max-width: 100%; }
button:disabled { opacity: .55; cursor: wait; }
button[hidden] { display: none; }
#retry-button { margin-top: 12px; background: #ddd; }
#form-status { min-height: 1.6em; line-height: 1.6; overflow-wrap: anywhere; }
#form-status[data-error="true"] { color: #ff91b7; }
.privacy, .privacy-copy { color: #ccc; font-size: 14px; line-height: 1.7; }
.privacy-copy h2 { color: #fff; margin-top: 30px; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.footer { margin-top: auto; padding: 20px; text-align: center; background: #111; color: var(--muted); font-size: 13px; line-height: 1.8; }
.footer a { color: #ccc; }
@media (max-width: 600px) { form { grid-template-columns: 1fr; } .container { margin-top: 10px; } button { width: 100%; } }
