body.landing { display: block; overflow-y: auto; min-height: 100vh; }
body.landing header { padding-inline: max(20px, calc((100% - 960px) / 2 + 20px)); }
.hero h1, .hero p.lead { text-shadow: 0 1px 6px #0009; }
.hero { max-width: 960px; margin: 0 auto; padding: 32px 20px 8px; }
.hero h1 { font-size: 2rem; margin: 0 0 8px; }
.hero p.lead { font-size: 1.1rem; color: #c8d6ec; max-width: 62ch; }
.wrap { max-width: 960px; margin: 0 auto; padding: 8px 20px 40px; display: grid; grid-template-columns: 1fr 380px; gap: 20px; align-items: start; }
@media (max-width: 800px) { .wrap { grid-template-columns: 1fr; } }
.wrap h2 { margin-top: 0; }
.features { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.features li { background: #16263e; border-radius: 10px; padding: 10px 14px; }
.features b { color: #5ab0ff; }
#signupForm label { display: block; margin: 10px 0 4px; }
#signupForm input[type=text], #signupForm input[type=email] { width: 100%; box-sizing: border-box; padding: 9px 10px; border-radius: 6px; border: 1px solid #3a5380; background: #0e1a2b; color: inherit; font: inherit; }
#signupForm .consent { display: flex; gap: 8px; align-items: flex-start; font-size: .85rem; color: #c8d6ec; margin-top: 14px; }
#signupForm .consent input { margin-top: 3px; flex: none; }
#signupForm button[type=submit] { width: 100%; margin-top: 14px; }
.msg-bad { color: #ff8a8a; margin-top: 10px; }
.msg-ok { color: #7be0a0; margin-top: 10px; }
.card a, .hero a, footer a { color: #5ab0ff; }
.card a.btn { display: inline-block; padding: 8px 14px; border-radius: 6px; background: #2f80ed; border: 1px solid #2f80ed; color: #fff; text-decoration: none; margin-right: 6px; }
.card a.btn:hover { background: #4a93f5; }
footer { max-width: 960px; margin: 0 auto; padding: 0 20px 30px; color: #9db2cf; font-size: .85rem; }
#privacyDlg { max-width: 600px; width: calc(100% - 32px); background: #16263e; color: #e8eef7; border: 1px solid #3a5380; border-radius: 10px; }
