/* ---------- Contact hero ---------- */
.b-page-hero{padding-top:clamp(48px,6.1cqi,88px);padding-bottom:clamp(56px,6.1cqi,88px)}
.b-page-hero .b-h1{max-width:13ch}
.b-page-hero .b-lede{max-width:32em}

/* ---------- Form and side column ---------- */
.b-contact__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(32px,6.5cqi,96px);align-items:start}
.b-form{max-width:640px;margin:0}
.b-field{display:grid;gap:8px;margin:0 0 26px}
.b-field__label{font-weight:500;font-size:16px;line-height:1.3;color:#202526}
.b-field__optional{font-weight:400;color:#566361}
.b-field__help{margin:0;font-size:15px;line-height:1.5;color:#566361}
.b-input{display:block;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid #566361;border-radius:4px;background:#FFFFFF;color:#202526;font:400 18px/1.4 Lato,"Helvetica Neue",Arial,sans-serif;transition:border-color 180ms ease,box-shadow 180ms ease}
textarea.b-input{min-height:180px;resize:vertical;line-height:1.6}
.b-input:hover{border-color:#202526}
.b-input:focus-visible{outline:3px solid #167D8D;outline-offset:2px;border-color:#202526}
.b-field--error .b-input{border-color:#A63D2F;box-shadow:inset 0 0 0 1px #A63D2F}
.b-field__error{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:15px;line-height:1.5;font-weight:500;color:#A63D2F}
.b-ico{flex:none;width:18px;height:18px;margin-top:2px;display:block}
.b-ico .s{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.b-ico .f{fill:currentColor}
.b-submit{margin-top:8px}
.b-form-note{margin:20px 0 0;max-width:34em;font-size:15px;line-height:1.55;color:#566361}
.b-form-note + .b-form-note{margin-top:10px}
.b-form-note a{color:#202526;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.b-form-note a:hover{text-decoration-thickness:2px}
.b-message{display:flex;gap:12px;align-items:flex-start;max-width:640px;margin:0 0 24px;padding:16px 20px;border:1px solid #202526;border-radius:4px;background:#FFFFFF;color:#202526;font-size:17px;line-height:1.5}
.b-message p{margin:0;color:#202526}
.b-message--success{border-color:#167D8D}
.b-message--success .b-ico{color:#167D8D}
.b-message--error{border-color:#A63D2F}
.b-message--error .b-ico{color:#A63D2F}

.b-side{display:grid;gap:40px;padding-left:clamp(0px,3.3cqi,48px);border-left:1px solid #CCD5D2}
.b-h3{margin:0;font-size:20px;font-weight:500;line-height:1.3}
.b-side p{margin:12px 0 0;font-size:17px;line-height:1.6;color:#566361}
.b-next{list-style:none;margin:18px 0 0;padding:0}
.b-next li{position:relative;padding:0 0 22px 36px;font-size:17px;line-height:1.6;color:#566361}
.b-next li:last-child{padding-bottom:0;color:#202526}
.b-next li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:50%;border:1.5px solid #167D8D;background:#FAF9F6}
.b-next li::after{content:"";position:absolute;left:6px;top:23px;bottom:4px;width:1px;background:#566361}
.b-next li:last-child::before{background:#167D8D}
.b-next li:last-child::after{display:none}
.b-side__email{color:#202526;font-weight:500;font-size:18px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.b-side__email:hover{color:#202526;text-decoration-thickness:2px}
.b-message a{color:#202526;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.b-message a:hover{text-decoration-thickness:2px}
.b-todo{display:inline-block;padding:2px 8px;border:1px dashed #566361;border-radius:4px;color:#202526;font-size:16px;line-height:1.5}

@container bpage (max-width:900px){
  .b-contact__grid{grid-template-columns:minmax(0,1fr);row-gap:56px}
  .b-side{padding-left:0;border-left:0;border-top:1px solid #CCD5D2;padding-top:40px}
}
@container bpage (max-width:600px){
  .b-submit{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .b-input{transition:none}
}
