:root { --ink:#14233c; --muted:#5c7084; --line:#e4eef5; --blue:#1f4e8c; --bg:#f4f7fb; }
* { box-sizing: border-box; }
body { margin:0; font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif; color:var(--ink); background:var(--bg); }
a { color:var(--blue); }
.bar, .wrap { width:min(960px, calc(100% - 32px)); margin:0 auto; }
.bar { display:flex; justify-content:space-between; align-items:center; padding:16px 0; gap:12px; }
.brand { display:flex; gap:10px; align-items:center; text-decoration:none; color:inherit; font-weight:800; }
.brand small, .muted { display:block; font-weight:500; color:var(--muted); font-size:.85rem; }
nav { display:flex; gap:14px; flex-wrap:wrap; }
.wrap { padding-bottom:48px; }
.card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; }
.narrow { max-width:460px; margin:0 auto; }
label, .check { display:block; margin:10px 0; font-weight:650; }
input, select, textarea { width:100%; margin-top:6px; min-height:44px; padding:8px 10px; border:1px solid #c5d4e2; border-radius:8px; font:inherit; }
textarea { min-height:96px; }
.inline input, .checks input, .check input { width:auto; min-height:0; margin-right:8px; }
.checks { display:flex; flex-wrap:wrap; gap:8px 14px; }
.buy, button { min-height:44px; border:0; border-radius:8px; background:var(--blue); color:#fff; font-weight:700; padding:10px 16px; cursor:pointer; }
.buy.soon { display:inline-flex; align-items:center; cursor:default; }
.ghost, .card button[type="submit"] { margin-top:8px; }
.error { color:#9b2c2c; background:#fff1f1; padding:8px 10px; border-radius:8px; }
.ok { color:#146c43; }
.note { background:#f4f8fb; border:1px solid var(--line); padding:10px 12px; border-radius:10px; }
.hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.messages { list-style:none; margin:0; padding:0; }
.messages li { border-top:1px solid var(--line); padding:12px 0; }
.messages p { margin:0 0 6px; white-space:pre-wrap; overflow-wrap:anywhere; }
.messages form { margin:0; }
.group { margin:14px 0 4px; color:var(--muted); }
fieldset { border:1px solid var(--line); border-radius:12px; margin:12px 0; }
@media (max-width:700px) { .bar { flex-wrap:wrap; } }
