* { box-sizing: border-box; }
body { margin: 0; background: #f7f1e8; color: #10243a; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
main { max-width: 600px; margin: 0 auto; padding: 48px 24px; }
.brand { display: block; width: 58px; margin: 0 auto 10px; }
.brand img { display: block; width: 58px; height: 58px; }
.slogan { text-align: center; font-size: 14px; font-style: italic; line-height: 1.5; margin: 0 0 48px; }
h1 { text-align: center; color: #1e5bd8; font-size: 32px; margin: 0 0 16px; }
.intro { text-align: center; line-height: 1.6; color: #46536a; margin: 0 0 32px; }
form > label { display: block; font-size: 15px; font-weight: 600; margin-bottom: 10px; }
input[type=email] { width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid #8592a2; border-radius: 8px; font: inherit; background: #fff; color: #10243a; }
input::placeholder { color: #657186; }
.consent { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0; font-weight: 400; line-height: 1.6; font-size: 14px; }
input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; accent-color: #1e5bd8; }
a { color: #1e5bd8; text-underline-offset: 3px; }
button { width: 100%; min-height: 52px; border: 1px solid #1e5bd8; border-radius: 8px; background: #1e5bd8; color: white; font: inherit; font-weight: 650; cursor: pointer; }
button span { margin-left: 12px; }
button:hover { background: #1747aa; }
button:disabled { opacity: .7; cursor: wait; }
:focus-visible { outline: 3px solid #729fe9; outline-offset: 4px; }
.note { font-size: 13px; line-height: 1.6; color: #46536a; overflow-wrap: anywhere; }
.back { display: block; width: fit-content; margin: 32px auto 0; font-size: 14px; }
#status { line-height: 1.6; text-align: center; }
#status.error { color: #a3292d; }
.trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 520px) { main { padding: 32px 20px; } .brand, .brand img { width: 51px; height: 51px; } .slogan { font-size: 13px; } }
