.bs-contact-roles{scroll-margin-top:96px}
.bs-contact-roles .routes__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.bs-contact-roles .route{min-width:0}
.bs-route-title{display:block;font:700 20px/1.35 var(--font-display);margin-bottom:16px}
.bs-route-description{display:block;flex:1;color:var(--vk-grey);font:400 14px/1.8 var(--font-body)}
.bs-contact-roles .route.active .bs-route-description{color:#c9cec4}
.bs-contact-roles .route__num{line-height:1.7;letter-spacing:.12em}
.bs-contact-roles .route:focus-visible{outline:3px solid var(--vk-green-d);outline-offset:4px}
.bs-contact-roles [role="tabpanel"]:focus-visible{outline:2px solid var(--vk-green-d);outline-offset:5px}
.bs-contact-roles .form-wrap{padding:clamp(24px,5vw,64px)}
.bs-contact-roles .form-wrap__title{line-height:1.4}
.bs-contact-roles .form-wrap__meta,.bs-contact-roles .form__row label{color:#c9cec4;line-height:1.7;letter-spacing:.1em}
.bs-contact-roles .form__row{grid-template-columns:220px minmax(0,1fr);gap:24px}
.bs-contact-roles .form__row[hidden]{display:none!important}
.bs-field-control{min-width:0}
.bs-contact-roles .form__row input,.bs-contact-roles .form__row select,.bs-contact-roles .form__row textarea{min-width:0;min-height:44px;line-height:1.6}
.bs-contact-roles .form__row input::placeholder,.bs-contact-roles .form__row textarea::placeholder{color:#a9afa4;opacity:1}
.bs-contact-roles .form__row :is(input,select,textarea):focus-visible{outline:2px solid var(--vk-green);outline-offset:4px}
.bs-field-help,.bs-role-status{font:400 12px/1.8 var(--font-body);color:#bdc2b9;margin:4px 0 0}
.bs-role-status:empty{display:none}
.bs-role-status{margin:0 0 20px}
.bs-form-context{margin:0 0 24px;padding:20px;border:1px solid #59634f;background:#a6dc6e09}
.bs-form-context[hidden]{display:none}
.bs-form-context h4{font:700 14px/1.5 var(--font-body);color:var(--vk-green);margin:0 0 12px}
.bs-form-context dl{margin:0;display:grid;gap:8px}
.bs-form-context dl>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;font:400 13px/1.7 var(--font-body)}
.bs-form-context dt{color:#bdc2b9}.bs-form-context dd{margin:0;color:var(--vk-bone);overflow-wrap:anywhere}
.bs-contact-trust{margin:28px 0 0;color:#bdc2b9;font:400 13px/1.8 var(--font-body)}
.bs-contact-privacy{margin-top:16px;color:#bdc2b9;font:400 12px/1.8 var(--font-body)}
.bs-contact-booking{margin-top:24px;padding-top:20px;border-top:1px solid var(--vk-rule-dk);font:400 14px/1.8 var(--font-body)}
.bs-contact-booking a{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--vk-green)}
@media(max-width:1100px){.bs-contact-roles .routes__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.bs-contact-roles .form__row{grid-template-columns:minmax(0,1fr);gap:4px}.bs-form-context dl>div{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:600px){.bs-contact-roles .routes__grid{grid-template-columns:minmax(0,1fr)}.bs-contact-roles .route{padding:24px}.bs-contact-roles .form-wrap{padding:24px 20px}.bs-contact-roles .form-wrap__title{font-size:22px}.bs-contact-roles .form__submit{width:100%;justify-content:space-between}.bs-contact-roles .form__row label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.bs-contact-roles .route{transition:none!important;transform:none!important}}
