.section_pill-icon-wrapper { background: transparent !important; border-radius: 0; }
.section_pill-icon-wrapper > .brand-section-mark { width: 32px; height: 32px; flex: 0 0 32px; color: #001530; }
.section_pill-icon-wrapper.is-white > .brand-section-mark { color: #fff; }
.contact-modal_content-wrapper { width: min(100%, 1000px); }
.contact-modal_scroll-wrapper { height: 100%; min-height: 0; gap: 0; padding: 0; background: #fff; border-radius: 16px 0 0 16px; overscroll-behavior: contain; }
.contact-modal_top { height: 68px; min-height: 68px; padding: 0 28px; border-radius: 0; gap: 18px; flex-shrink: 0; }
.contact-modal_top-logo { width: 130px; height: 30px; }
.contact-modal_close-button { padding: 0; border: 0; background: transparent; flex: 0 0 40px; }
.contact-modal_close-button:focus-visible { outline: 2px solid #006fff; outline-offset: 3px; }
.contact-modal_bottom { padding: 24px 40px 40px; border-radius: 0; }
.consultation-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 28px; color: #364152; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; letter-spacing: 0; }
.consultation-intro, .consultation-form .is-full { grid-column: 1 / -1; }
.consultation-intro { margin-bottom: 12px; }
.consultation-intro h2 { margin: 0 0 22px; color: #111; font-size: 36px; line-height: 1.3; font-weight: 700; letter-spacing: 0; }
.consultation-intro p { color: #556171; font-size: 17px; line-height: 1.9; margin: 0; }
.consultation-field { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.consultation-field label { display: block; color: #364152; font-size: 16px; line-height: 1.5; font-weight: 600; margin: 0; }
.consultation-field .required { color: #df2329; margin-left: 3px; }
.consultation-field .optional { color: #97a1b1; font-size: 15px; font-weight: 400; margin-left: 3px; }
.consultation-field input, .consultation-field select, .consultation-field textarea { width: 100%; min-width: 0; height: 56px; padding: 14px 18px; margin: 0; border: 1px solid #cfd5df; border-radius: 8px; background: #fff; color: #171b23; font: inherit; font-size: 16px; line-height: 1.6; box-shadow: none; transition: border-color .15s, box-shadow .15s; }
.consultation-field input::placeholder, .consultation-field textarea::placeholder { color: #9ba4b4; opacity: 1; }
.consultation-field select { padding-right: 38px; cursor: pointer; }
.consultation-field textarea { height: 170px; min-height: 130px; resize: vertical; }
.consultation-field input:hover, .consultation-field select:hover, .consultation-field textarea:hover { border-color: #9aa6b7; }
.consultation-field input:focus, .consultation-field select:focus, .consultation-field textarea:focus { outline: 0; border-color: #006fff; box-shadow: 0 0 0 3px #006fff14; }
.consultation-field [aria-invalid="true"] { border-color: #df2329; }
.consultation-field p { margin: 0; font-size: 13px; line-height: 1.6; }
.consultation-field .field-help { color: #727d8d; }
.consultation-field .field-error { color: #c22830; }
.field-label-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#consultation-count { color: #97a1b1; font-size: 14px; font-variant-numeric: tabular-nums; }
.consultation-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
.consultation-submit { display: inline-flex; align-items: center; justify-content: center; text-align: center; min-width: 144px; height: 48px; padding: 12px 26px; font-size: 15px; line-height: 1.5; letter-spacing: 0; cursor: pointer; }
.consultation-submit:disabled { opacity: .6; cursor: wait; }
.consultation-status { margin: 0; color: #b33a35; font-size: 14px; line-height: 1.7; }
.consultation-status.is-success { color: #287d67; }
.consultation-form [hidden] { display: none !important; }
@media (max-width: 767px) {
  .contact-modal_content-wrapper { width: 100%; }
  .contact-modal_scroll-wrapper { border-radius: 0; }
  .contact-modal_top { padding: 0 18px; height: 62px; min-height: 62px; }
  .contact-modal_bottom { padding: 18px 22px 32px; }
  .consultation-form { gap: 24px 20px; }
  .consultation-intro { margin-bottom: 4px; }
  .consultation-intro h2 { font-size: 29px; margin-bottom: 16px; }
  .consultation-intro p { font-size: 14px; line-height: 1.85; }
  .consultation-field label { font-size: 15px; }
  .consultation-field input, .consultation-field select { height: 52px; padding-left: 14px; padding-right: 14px; }
  .consultation-field textarea { height: 160px; padding: 14px; }
}
@media (max-width: 520px) {
  .consultation-form { grid-template-columns: minmax(0, 1fr); }
  .consultation-field, .consultation-intro { grid-column: 1; }
}
