.form-page { max-width: 620px; width: min(100% - 32px,620px); }
.form-page h1 { font-size: clamp(32px,8vw,46px); }
.form-page p { line-height: 1.6; }
.form-page .brand { margin-left: 0; }
fieldset { border: 0; padding: 0; margin: 24px 0; min-width: 0; }
legend { font-size: 22px; font-weight: 700; margin-bottom: 12px; }
label { display: block; font-weight: 600; margin: 22px 0 8px; }
input,textarea,select { display: block; width: 100%; padding: 13px; border: 1px solid #aaa; border-radius: 9px; font: inherit; font-size: 16px; color: #171717; background: #fff; }
textarea { resize: vertical; }
input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible { outline: 3px solid #315bd6; outline-offset: 3px; }
button,.button { display: inline-block; padding: 14px 20px; border: 0; border-radius: 9px; color: #fff; background: #182b20; font: inherit; font-weight: 600; cursor: pointer; text-align: center; min-height: 48px; }
button:disabled { opacity: .6; cursor: wait; }
form > button { margin-top: 20px; }
.actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 26px 0; }
.hint { font-size: 13px; color: #555; margin: 6px 0 10px; }
.hint a, dd a, .form-page > p a { text-decoration: underline; }
.check { display: flex; gap: 12px; font-size: 14px; line-height: 1.5; }
.check input { width: 20px; height: 20px; flex-shrink: 0; }
.error { padding: 16px; border: 1px solid #a62424; border-radius: 9px; color: #8b1616; margin: 20px 0; }
.trap,[hidden] { display: none !important; }
details { border: 1px solid #ddd; border-radius: 12px; padding: 18px; margin: 14px 0; }
summary { cursor: pointer; min-height: 44px; overflow-wrap: anywhere; }
summary span { display: block; font-size: 13px; color: #555; margin-top: 6px; }
dt { color: #555; font-size: 13px; margin-top: 20px; }
dd { margin: 5px 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.empty { padding: 30px 0; }
