.partner-page [id] { scroll-margin-top: 100px }
.partner-page p { margin: 12px 0 }
.partner-page .blog-hero__speedbar { flex-wrap: wrap; row-gap: 4px }
.partner-intro { position: relative; max-width: 60%; padding: 12px 0 20px }
.partner-intro .about-hero__title { overflow-wrap: anywhere }
.partner-intro .cooperation-block__btns { flex-wrap: wrap; gap: 10px; margin-top: 24px }
.partner-intro .cooperation-block__btn { margin: 0; max-width: 100%; text-align: center }
.partner-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 24px }
.partner-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)) }
.partner-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)) }
.partner-card { display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid #e6e6e7; border-radius: 20px; background: #fff }
.partner-card dt { font-weight: 600; margin-top: 16px }
.partner-card dd { margin: 4px 0 0 }
.partner-card > .cooperation-block__btn { margin-top: auto; white-space: normal; text-align: center }
.partner-card dl { margin-bottom: 24px }
.partner-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "intro form" "manager form"; grid-template-rows: auto 1fr; gap: 20px 40px }
.partner-contact__intro { grid-area: intro }
.partner-contact figure { grid-area: manager; align-self: start; margin: 0; border-radius: 15px }
.partner-contact .question-form__manager-photo { flex-shrink: 0 }
.partner-badge { padding: 6px 12px; border-radius: 12px; background: #f0f2ff }
.partner-steps { padding-left: 24px }
.partner-form { grid-area: form; padding: 20px; background: #f5f5f5; border-radius: 20px }
.partner-form > div > label { display: block; margin-bottom: 5px; font-size: 13px; color: #454649 }
.partner-form .question-form__input, .partner-form .question-form__textarea { box-sizing: border-box; font-family: inherit }
.partner-form label.question-form__policy { display: flex; align-items: flex-start }
.partner-form .question-form__policy-input { appearance: auto; width: 16px; height: 16px }
.partner-form .errorlist { color: #a21c27 }
.partner-page :focus-visible { outline: 2px solid #3252fb; outline-offset: 3px }
@media (max-width: 1023px) {
    .partner-intro { max-width: 100% }
    .partner-page .hero-cooperation .container::before { display: none }
    .partner-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) }
    .partner-grid--two, .partner-steps { grid-template-columns: minmax(0, 1fr) }
    .partner-contact { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "form" "manager"; grid-template-rows: auto }
}
@media (max-width: 767px) {
    .partner-grid { grid-template-columns: minmax(0, 1fr) }
}
