* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: flex; flex-direction: column; background: #fff; color: #111116; font-family: Arial, Helvetica, sans-serif; letter-spacing: 0; }
.preview-spectrum { height: 10px; flex: 0 0 10px; background: linear-gradient(90deg, #e527c4, #5a9fe9, #15cbbb, #bce764, #ffcb16, #ff8535); }
header { display: flex; align-items: center; gap: 12px; padding: 28px 40px; font-size: 20px; font-weight: 700; }
.preview-brand-mark { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 17px; background: linear-gradient(135deg, #141414, #074a43 55%, #0661df); color: #fff; font-size: 13px; }
main { width: min(600px, 100%); margin: auto; padding: 60px 28px 80px; }
.preview-eyebrow { margin: 0 0 18px; color: #117e70; font-size: 12px; font-weight: 700; text-transform: uppercase; }
h1 { margin: 0 0 22px; font-size: 44px; line-height: 1.12; overflow-wrap: break-word; }
.preview-lead { margin: 0 0 36px; color: #626963; font-size: 17px; line-height: 1.7; }
form { display: grid; gap: 12px; max-width: 420px; }
label { font-size: 13px; font-weight: 700; }
input { width: 100%; min-width: 0; height: 52px; padding: 0 18px; border: 1px solid #d9e5df; border-radius: 16px; background: #f6faf8; color: #111116; font: inherit; font-size: 16px; }
button { min-height: 48px; margin-top: 6px; padding: 12px 22px; border: 0; border-radius: 999px; background: #173c38; color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background 180ms ease; }
button:hover { background: #096d61; }
input:focus-visible, button:focus-visible { outline: 3px solid #139681; outline-offset: 3px; }
.preview-error { margin: 0; color: #a82237; font-size: 14px; line-height: 1.5; }
footer { padding: 24px 28px; color: #626963; font-size: 12px; text-align: center; }
@media (max-width: 480px) { header { padding: 22px 24px; } main { padding: 40px 24px 60px; } h1 { font-size: 34px; } }
@media (prefers-reduced-motion: reduce) { button { transition: none; } }
