.block-form{--form-error:#B3261E; margin:32px 0}
.content .block-form > h2{margin-bottom:20px}
.form__intro{margin:0 0 20px}
.form__intro > :last-child{margin-bottom:0}
.form{margin:0}
.block-form--compact .form{padding:28px 32px; border:1px solid var(--line); border-radius:var(--radius); background:var(--card)}
.block-form--cards .form__field, .block-form--cards .form__heading{padding:20px 24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--card)}
.block-form--cards .form__field{margin-bottom:14px}
.form__note{margin:0 0 20px; font-size:var(--fs-meta); color:var(--muted)}
.form__req{color:var(--orange-deep); font-weight:700}
.form__field{margin:0 0 22px; padding:0; border:0; min-width:0}
.form__label{display:block; margin:0 0 8px; padding:0; font-weight:700; color:var(--navy); line-height:1.4}
legend.form__label{float:left; width:100%}
legend.form__label + *{clear:both}
.form__help{margin:-2px 0 10px; font-size:var(--fs-meta); color:var(--muted)}
.form__input{display:block; width:100%; min-height:50px; padding:12px 14px; border:1px solid var(--peach-deep); border-radius:12px; background:#fff; color:var(--ink); font-size:var(--fs-body); line-height:1.4}
.form__input--m{max-width:340px}
.form__input--s{max-width:200px}
textarea.form__input{min-height:150px; resize:vertical}
select.form__input{appearance:none; padding-right:48px; cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2845' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 16px center / 18px no-repeat}
.form__input:hover{border-color:var(--orange-2)}
.form__input:focus{outline:3px solid var(--orange); outline-offset:1px; border-color:var(--orange)}
.form__options{display:flex; flex-direction:column; gap:8px}
.form__options--inline{flex-direction:row; flex-wrap:wrap}
.form__options--inline .form__option{min-width:120px}
.form__option{display:flex; align-items:flex-start; gap:12px; min-height:50px; padding:13px 16px; border:1px solid var(--peach-deep); border-radius:12px; background:var(--peach); color:var(--navy); cursor:pointer; line-height:1.45}
.form__option:hover{border-color:var(--orange-2)}
.form__option:has(input:checked){border-color:var(--navy); background:#fff; box-shadow:inset 0 0 0 1px var(--navy)}
.form__option:has(input:focus-visible){outline:3px solid var(--orange); outline-offset:2px}
.form__option input{flex:none; width:20px; height:20px; margin:2px 0 0; accent-color:var(--navy); cursor:pointer}
.form__option--consent{background:var(--cream); font-weight:400}
.form__heading{margin:30px 0 18px}
.form__heading:first-of-type{margin-top:0}
.content .form__heading h3{margin:0 0 6px}
.form__heading > p{margin:0 0 6px; color:var(--muted)}
.form__field--error .form__input, .form__field--error .form__option{border-color:var(--form-error); box-shadow:inset 0 0 0 1px var(--form-error)}
.form__error{display:flex; gap:6px; margin:8px 0 0; color:var(--form-error); font-size:var(--fs-meta); font-weight:600}
.form__error[hidden], .form__summary[hidden]{display:none}
.form__error::before{content:"!"; flex:none; width:18px; height:18px; border-radius:50%; background:var(--form-error); color:#fff; font-size:var(--fs-micro); line-height:18px; text-align:center; font-weight:800}
.form__summary{margin:0 0 20px; padding:14px 18px; border:1px solid var(--form-error); border-left-width:6px; border-radius:12px; background:#fff; color:var(--form-error); font-weight:700}
.form__summary:focus{outline:3px solid var(--orange); outline-offset:2px}
.form__actions{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:8px}
.form__submit{display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 32px; border:0; border-radius:999px; background:var(--orange); color:#fff; font-weight:700; font-size:var(--fs-body); cursor:pointer}
.form__submit:hover, .form__submit:focus-visible{background:var(--orange-deep)}
.form__submit:focus-visible{outline:3px solid var(--navy); outline-offset:3px}
.form__submit[disabled]{opacity:.6; cursor:progress}
.form__sending{font-size:var(--fs-meta); color:var(--muted)}
.form__hp{position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden}
.form__closed{margin:0; padding:18px 22px; border:1px solid var(--peach-deep); border-radius:var(--radius); background:var(--peach); color:var(--navy); font-weight:600}
.form__thanks{display:flex; gap:16px; align-items:flex-start; padding:24px 28px; border:1px solid var(--peach-deep); border-radius:var(--radius); background:#fff}
.form__thanks:focus{outline:3px solid var(--orange); outline-offset:2px}
.form__thanks-icon{flex:none; width:44px; height:44px; padding:9px; border-radius:50%; background:var(--peach); color:var(--navy)}
.form__thanks p{margin:0 0 8px}
.form__thanks p:last-child{margin:0; font-size:var(--fs-meta)}
.band--dark .block-form .form, .band--dark .block-form .form__thanks, .band--dark .block-form .form__closed{color:var(--ink)}
@media (max-width:640px){
  .block-form--compact .form{padding:20px 18px}
  .block-form--cards .form__field, .block-form--cards .form__heading{padding:18px}
  .form__submit{width:100%}
}
.block-form-list{margin:32px 0}
.content .block-form-list > h2{margin-bottom:26px}
.form-list{list-style:none; margin:0; padding:0}
.content .form-list li{margin:0 0 10px; padding:0}
.content .form-list li::before{content:none}
.form-list__item{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px; border:1px solid var(--peach-deep); border-radius:12px; background:var(--peach); color:var(--navy); text-decoration:none}
.form-list__item:hover{border-color:var(--orange-2)}
.form-list__item:focus-visible{outline:3px solid var(--orange); outline-offset:2px}
.form-list__text{display:flex; flex-direction:column; gap:4px}
.form-list__title{font-weight:700; font-size:var(--fs-title-4)}
.form-list__intro{color:var(--ink); font-size:var(--fs-meta)}
.form-list__state{color:var(--muted); font-size:var(--fs-meta); font-weight:600}
.form-list__arrow{flex:0 0 auto; width:32px; height:32px; border-radius:50%;
  background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B2845' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat}

