.contact-page { padding-top: 88px; }
.contact-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.contact-breadcrumb { padding: 18px 0; border-bottom: 1px solid #ccc; color: #999; font-size: 14px; }
.contact-breadcrumb a { color: #999; }
.contact-title { padding: 38px 0 18px; text-align: center; }
.contact-title h1 { margin: 0 0 8px; color: #000; font-size: 36px; line-height: 1.2; font-weight: 700; }
.contact-title p { margin: 0; color: #666; font-size: 20px; }
.contact-info { padding: 10px 0 48px; }
.contact-info-card { width: min(760px, 100%); margin: 0 auto; padding: 38px 44px 28px; border-top: 2px solid #169179; background: #fbfcfc; }
.contact-hotline { margin: 0 0 18px; padding-bottom: 18px; border-bottom: 1px solid #d8e2e1; color: #169179; font-size: 30px; line-height: 1.3; text-align: center; }
.contact-hotline a { color: inherit; }
.contact-hotline a:hover, .contact-value:hover { color: #0f705f; text-decoration: none; }
.contact-row { display: grid; grid-template-columns: 28px 126px minmax(170px, 1fr) 112px; align-items: center; min-height: 58px; border-bottom: 1px solid #e1e7e6; }
.contact-row:nth-of-type(-n + 3) { min-height: 112px; }
.contact-row:last-child { border-bottom: 0; }
.contact-label { color: #243530; font-size: 16px; font-weight: 700; }
.contact-value { min-width: 0; color: #169179; font-size: 16px; font-weight: 700; overflow-wrap: anywhere; }
.contact-qr { width: 96px; height: 96px; object-fit: contain; background: #fff; }
.contact-map { margin: 0 0 54px; padding: 10px 0 30px; background: #fff; }
.contact-map strong { display: block; margin-bottom: 8px; color: #2c3e50; font-size: 20px; text-align: center; }
.contact-map p { margin: 0 0 8px; color: #555; text-align: center; }
.amap-container { width: 100%; height: 300px; overflow: hidden; border-radius: 4px; background: #eee; }
.service-section { padding: 30px 0 62px; }
.service-heading { margin: 0 0 30px; color: #000; font-size: 30px; text-align: center; }
.service-heading small { display: block; margin-top: 6px; color: #555; font-size: 16px; font-weight: 400; }
.service-block { margin: 0 0 30px; }
.service-block-heading { display: flex; align-items: center; gap: 10px; margin: 0 0 15px; color: #2c3e50; font-size: 22px; }
.service-number, .service-tag { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: #009695; color: #fff; font-size: 14px; font-weight: 700; }
.service-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.service-card { padding: 18px; border-left: 4px solid #009695; border-radius: 6px; background: #f8f9fa; }
.service-card h3 { margin: 0 0 10px; color: #2c3e50; font-size: 17px; }
.service-card p, .service-card li { color: #555; font-size: 14px; line-height: 1.7; }
.service-card p { margin: 0; }
.service-card ul { margin: 0; padding-left: 18px; }
.service-stack { display: grid; gap: 15px; }
.service-connect { padding: 20px; text-align: center; }
.service-connect p { margin: 0 0 15px; color: #555; }
.connect-cards { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
.connect-card { min-width: 220px; padding: 14px 18px; border: 1px solid #eee; border-radius: 6px; background: #f8f9fa; text-align: left; }
.connect-label { color: #777; font-size: 13px; }
.connect-value { color: #2c3e50; font-size: 20px; font-weight: 600; }
@media (max-width: 760px) {
  .contact-page { padding-top: 64px; }
  .contact-title h1 { font-size: 28px; }
  .contact-title p { font-size: 16px; }
  .contact-info { padding-top: 6px; }
  .contact-info-card { padding: 26px 16px 20px; }
  .contact-hotline { font-size: 22px; }
  .contact-row > span:first-child { display: none; }
  .contact-row { grid-template-columns: 90px minmax(0, 1fr) 82px; min-height: 54px; }
  .contact-row:nth-of-type(-n + 3) { min-height: 92px; }
  .contact-row .contact-label { grid-column: 1; font-size: 14px; }
  .contact-row .contact-value { grid-column: 2; font-size: 14px; }
  .contact-row .contact-qr { grid-column: 3; width: 76px; height: 76px; }
  .service-cards { grid-template-columns: 1fr; }
}
