/* Страница марафона (после style.css). Локальные стили, style.css не менялся. */
.mf-for { display: grid; gap: var(--s4); }
.mf-for .checklist { font-size: 17px; max-width: 62ch; }
.proto-zone ul { list-style: disc; padding-left: 1.2em; display: grid; gap: 6px; }
.proto-zone p + ul, .proto-zone ul + p { margin-top: 8px; }

/* Форма-заглушка регистрации */
.mf-reg { display: grid; gap: var(--s3); max-width: 560px; }
.mf-form { display: grid; gap: 16px; background: var(--white); color: var(--ink); border-radius: var(--r-lg); padding: var(--s3); }
.mf-field { display: grid; gap: 6px; min-width: 0; }
.mf-field label { font-weight: 700; color: var(--navy); font-size: 15px; }
.mf-field input[type="text"], .mf-field input[type="tel"], .mf-field select {
  width: 100%; min-height: 48px; padding: 10px 14px; font: 400 16px/1.4 var(--f-body);
  color: var(--ink); background: var(--white); border: 1.5px solid var(--border); border-radius: var(--r-md);
}
.mf-field input:focus-visible, .mf-field select:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }
.mf-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.mf-consent input { width: 22px; height: 22px; margin: 1px 0 0; flex: none; accent-color: var(--violet); }
.mf-form .btn { width: 100%; }
.mf-form .small { color: var(--text-2); }
.mf-done { background: var(--white); color: var(--ink); border-radius: var(--r-lg); padding: var(--s3); display: grid; gap: 8px; }
.mf-done p { color: var(--ink); }
.mf-done__title { font: 700 20px/1.3 var(--f-display); color: var(--navy); }
.mf-reg .mf-tg { color: var(--white); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.mf-reg .mf-tg:hover { color: var(--honey-lit); }
.mf-form[hidden], .mf-done[hidden], .mf-error[hidden] { display: none; }
.mf-close { font: 700 clamp(20px, 2.8vw, 26px)/1.3 var(--f-display); color: var(--navy); max-width: 40ch; }
