.contact-page .page-section { padding: 48px 0; }
.contact-page .shell { width: min(1200px, 100%); }
.contact-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 4fr); align-items: start; }
.contact-form { grid-column: 1; min-width: 0; margin-inline: 10px; }
/* Fluent Forms loads after the theme; scope these rules to win its defaults. */
.contact-form .frm-fluent-form .ff-t-container { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 9.5fr); gap: 20px; margin: 0 0 20px; }
.contact-form .frm-fluent-form .ff-t-container.mobile:not(.ff_excluded) { display: grid !important; }
.contact-form .frm-fluent-form .ff-t-cell { width: auto; margin: 0; }
.contact-form .frm-fluent-form .ff-el-group { margin-bottom: 20px; }
.contact-form .frm-fluent-form .ff-el-group:last-child { margin-bottom: 0; }
.contact-form .frm-fluent-form .ff-el-input--label { display: block; margin-bottom: 8px; line-height: 24px; }
.contact-form .frm-fluent-form .ff-el-input--label label { font-size: 16px; font-weight: 700; line-height: 24px; }
.contact-form .frm-fluent-form .ff-el-form-control { width: 100%; min-height: 38px; border: 1px solid #e0e0e0; border-radius: 4px; background: #fff; color: #212529; font-family: var(--srt-font); font-size: 16px; line-height: 24px; padding: 6px 12px; }
.contact-form .frm-fluent-form textarea.ff-el-form-control { height: 180px; resize: vertical; }
.contact-form .frm-fluent-form .ff-el-form-control:focus { border-color: var(--srt-gold); box-shadow: 0 0 0 2px rgb(250 229 124 / 35%); outline: 0; }
.contact-form .frm-fluent-form .text-danger { margin-top: 4px; color: #b42318; font-size: 13px; line-height: 21px; }
.contact-form .frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style) { display: inline-flex; width: 180px; min-height: 42.5px; align-items: center; justify-content: center; gap: 20px; padding: 6px 12px; border: 1px solid #212529; border-radius: 10px; background: #212529; color: #fff; font-size: 19px; font-weight: 400; line-height: 28.5px; }
.contact-form .frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style):hover,
.contact-form .frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style):focus-visible { background: var(--srt-gold); border-color: var(--srt-gold); color: #212529; }
.srt-contact-submit-icon { width: 22px; height: 20px; flex: 0 0 auto; }
.contact-form .ff-message-success { margin: 0; color: #0b6e4f; }
.contact-info { grid-column: 3; margin-inline: 10px; padding: 32px; background: var(--srt-ink); color: #fff; font-size: 14px; line-height: 21px; }
.contact-info__logo { width: 110px; height: auto; margin-inline: auto; }
.contact-info h2 { font-size: 16px; font-weight: 700; line-height: 24px; text-align: center; }
.contact-info hr { margin: 16px 0; border: 0; border-top: 1px solid #fff; }
.contact-info ul { display: grid; gap: 8px; }
.contact-info li { display: flex; align-items: center; min-width: 0; }
.contact-info a:hover { text-decoration: underline; }
@media (min-width: 768px) and (max-width: 991.98px) {
  .contact-page .shell { width: 720px; }
  .contact-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
  .contact-info { grid-column: 2; }
}
@media (min-width: 992px) and (max-width: 1199.98px) { .contact-page .shell { width: 960px; } }
@media (max-width: 767.98px) {
  .contact-layout { display: flex; flex-direction: column; gap: 48px; }
  .contact-info { order: -1; width: calc(100% - 20px); }
  .contact-form { width: calc(100% - 20px); }
}
@media (max-width: 540px) {
  .contact-page .page-section { padding: 43.2px 0; }
  .contact-layout { gap: 43.2px; }
  .contact-info { padding: 28.8px; font-size: 12.6px; line-height: 18.9px; }
  .contact-info h2 { font-size: 14.4px; line-height: 21.6px; }
  .contact-info hr { margin: 14.4px 0; }
  .contact-form .frm-fluent-form .ff-t-container { grid-template-columns: minmax(0, .42fr) minmax(0, .58fr); }
  .contact-form .frm-fluent-form .ff-el-input--label { margin-bottom: 7.2px; line-height: 21.6px; }
  .contact-form .frm-fluent-form .ff-el-input--label label { font-size: 14.4px; line-height: 21.6px; }
  .contact-form .frm-fluent-form .ff-el-form-control { min-height: 34.4px; padding: 5.4px 10.8px; border-radius: 3.6px; font-size: 14.4px; line-height: 21.6px; }
  .contact-form .frm-fluent-form .ff-btn-submit:not(.ff_btn_no_style) { min-height: 41.3px; padding: 5.4px 10.8px; }
}
