/* A2 consultation layout; scoped to this local page. */
.a2-contact .container { margin-inline: auto; }
.a2-contact .page-hero .container { max-width: 1280px; }
.a2-contact .page-hero h1 { max-width: 980px; }
.a2-contact .page-hero .lead { max-width: 800px; }
.a2-contact .contact-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
.a2-contact .contact-grid > .contact-details { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; align-content: start; align-self: start; justify-content: stretch; text-align: left; }
.a2-contact .contact-item { display: block; padding: 18px 0; border: 0; border-bottom: 1px solid #ced8dd; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; transform: none; }
.a2-contact .contact-item:first-child { padding-top: 0; }
.a2-contact :is(.contact-item, .contact-form)::before { display: none; }
.a2-contact .contact-item:hover { box-shadow: none; border-color: #ced8dd; }
.a2-contact .contact-item small { margin: 0 0 7px; text-align: left; color: #596e7b; font: 13px/1.6 var(--sans); }
.a2-contact .contact-item strong { margin: 0; text-align: left; color: #163040; font: 500 18px/1.7 var(--sans); }
.a2-contact .contact-item a { color: inherit; }
.a2-contact .contact-value { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.a2-contact .contact-copy-btn { color: #163040; border-color: #9aadb8; }
.a2-contact .contact-details .wechat-qr { width: 164px; margin: 28px 0; justify-self: start; }
.a2-contact .wechat-qr img { display: block; width: 100%; height: auto; background: #fff; border: 1px solid #ced8dd; border-radius: 2px; }
.a2-contact .wechat-qr figcaption { color: #596e7b; font: 12px/1.8 var(--sans); margin-top: 8px; text-align: left; }
.a2-contact .article-note { display: block; padding: 20px; margin: 0; border: 1px solid #ced8dd; border-radius: 2px; background: #e7edef; color: #405c6d; box-shadow: none; backdrop-filter: none; text-align: left; font: 14px/1.9 var(--sans); }
.a2-contact .article-note::before { display: none; }
.a2-contact .contact-grid > .contact-form { display: block; min-width: 0; padding: clamp(24px, 3vw, 40px); border: 1px solid #ced8dd; border-top: 2px solid #e45635; border-radius: 2px; background: #fff; box-shadow: none; backdrop-filter: none; transform: none; text-align: left; }
.a2-contact .contact-grid > .contact-form:hover { box-shadow: none; border-color: #ced8dd; border-top-color: #e45635; }
.a2-contact .contact-form h2 { font: 600 28px/1.4 var(--sans); color: #163040; margin: 0 0 16px; }
.a2-contact .contact-form .lead { color: #596e7b; line-height: 1.8; text-align: left; }
.a2-contact .contact-grid form { display: grid; width: 100%; gap: 20px; margin: 0; }
.a2-contact .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.a2-contact .form-group { min-width: 0; width: 100%; justify-items: stretch; text-align: left; gap: 8px; }
.a2-contact .form-group label { font: 500 14px/1.7 var(--sans); color: #163040; text-align: left; }
.a2-contact .form-group :is(input, select, textarea) { width: 100%; max-width: none; min-height: 48px; padding: 12px 14px; border: 1px solid #bfcdd5; border-radius: 2px; background: #f7f9fa; color: #163040; font: 15px/1.6 var(--sans); text-align: left; box-shadow: none; }
.a2-contact .form-group select { text-align-last: left; }
.a2-contact .form-group textarea { min-height: 150px; resize: vertical; }
.a2-contact .form-group :is(input, select, textarea):focus-visible { outline: 2px solid #e45635; outline-offset: 2px; border-color: #e45635; }
.a2-contact .form-group ::placeholder { color: #647b89; }
.a2-contact form .button-primary { width: auto; justify-self: start; min-height: 50px; padding: 12px 24px; border: 1px solid #e45635; border-radius: 2px; background: #e45635; color: #fff; font: 600 14px/1.8 var(--sans); box-shadow: none; }
.a2-contact form .button-primary:hover { background: #c94a2d; transform: none; }
.a2-contact .preview-form-note { color: #405c6d; background: #eef3f5; padding: 12px 14px; border-left: 2px solid #7896a8; margin: 0; font: 13px/1.8 var(--sans); text-align: left; }
.a2-contact .contact-grid .form-help { color: #596e7b; text-align: left; font: 12px/1.9 var(--sans); margin: 0; }
@media (max-width: 900px) {
  .a2-contact .contact-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .a2-contact .contact-grid > .contact-form { order: -1; }
  .a2-contact .contact-grid > .contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  .a2-contact .contact-item:first-child { padding-top: 18px; }
  .a2-contact .contact-details .article-note { grid-column: auto; align-self: start; margin-top: 28px; }
}
@media (max-width: 600px) {
  .a2-contact .contact-grid > .contact-details { grid-template-columns: minmax(0, 1fr); }
  .a2-contact .contact-item:first-child { padding-top: 0; }
  .a2-contact .contact-details .article-note { margin-top: 0; }
  .a2-contact .contact-grid > .contact-form { padding: 24px 20px; }
  .a2-contact .form-row { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .a2-contact .contact-form h2 { font-size: 25px; }
}
