/* Incremental enhancements for the original Mitagen-based visual system. */
html { scroll-behavior: smooth; }
body { font-family: "PingFang SC", "Microsoft YaHei", "Open Sans", sans-serif; }
.main-menu .navigation > li > a { font-weight: 600; }
.main-header .logo img { width: 162px; height: auto; }
.hero-content h1 { font-weight: 500; }
.hero-content .hero-trust { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: -18px 0 28px; color: #5f5b70; font-size: 14px; }
.hero-content .hero-trust span:before { content: "✓"; color: #180096; margin-right: 6px; font-weight: 700; }
.section-note { max-width: 720px; margin: 0 auto 35px; text-align: center; color: #6f6b78; }
.section-note strong { color: #25212f; }

.proof-section { padding: 95px 0 70px; background: #f8f7ff; }
.proof-card { height: 100%; padding: 30px 25px; border-radius: 14px; background: #fff; box-shadow: 0 8px 35px rgba(31, 16, 111, .08); }
.proof-card .proof-icon { display: flex; width: 58px; height: 58px; margin-bottom: 20px; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #180096, #6047df); font-size: 24px; }
.proof-card p { margin-bottom: 0; color: #77727f; }

.process-section { padding: 105px 0 85px; }
.process-card { position: relative; height: 100%; padding: 30px 24px 28px; border: 1px solid #eeecf5; border-radius: 14px; background: #fff; box-shadow: 0 10px 35px rgba(28, 16, 90, .06); }
.process-card .step { display: inline-flex; width: 46px; height: 46px; margin-bottom: 18px; align-items: center; justify-content: center; border-radius: 50%; background: #eeeaff; color: #180096; font-weight: 700; }
.process-card p { margin-bottom: 0; color: #77727f; }

.case-section { padding: 100px 0 85px; background: #fbfaff; }
.case-card { overflow: hidden; height: 100%; border-radius: 14px; background: #fff; box-shadow: 0 12px 35px rgba(28, 16, 90, .08); }
.case-card img { width: 100%; height: 210px; object-fit: cover; }
.case-card-body { padding: 24px; }
.case-tag { display: inline-block; margin-bottom: 12px; padding: 3px 10px; border-radius: 15px; background: #eeeaff; color: #180096; font-size: 12px; }
.case-card p { color: #77727f; }
.case-pending { margin-top: 14px; padding-top: 14px; border-top: 1px dashed #d9d4e8; color: #8a8494; font-size: 12px; }

.legacy-lead-section { position: relative; padding: 100px 0; background: #f8f7ff; }
.legacy-lead-panel { padding: 38px; border-radius: 16px; background: #fff; box-shadow: 0 15px 45px rgba(28, 16, 90, .1); }
.legacy-lead-panel h3 { margin-bottom: 8px; }
.legacy-lead-panel > p { color: #77727f; }
.lead-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.lead-field { display: flex; flex-direction: column; gap: 7px; }
.lead-field.full { grid-column: 1 / -1; }
.lead-field label { margin: 0; color: #332f3d; font-size: 14px; font-weight: 600; }
.lead-required { color: #c53f48; }
.lead-input { width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid #dedbe8; border-radius: 6px; background: #fff; outline: 0; }
textarea.lead-input { min-height: 115px; resize: vertical; }
.lead-input:focus { border-color: #6047df; box-shadow: 0 0 0 3px rgba(96, 71, 223, .1); }
.lead-consent { display: flex; gap: 9px; align-items: flex-start; margin: 18px 0; color: #77727f; font-size: 13px; }
.lead-consent input { margin-top: 5px; }
.lead-consent a { color: #180096; text-decoration: underline; }
.lead-form-status { display: none; margin-top: 14px; padding: 11px 14px; border-radius: 6px; }
.lead-form-status.success { display: block; color: #126644; background: #eaf8f2; }
.lead-form-status.error { display: block; color: #a62d37; background: #fff0f1; }
.lead-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.lead-side { padding: 20px 12px 20px 20px; }
.lead-side ul { margin: 24px 0; padding: 0; list-style: none; }
.lead-side li { position: relative; margin-bottom: 15px; padding-left: 28px; }
.lead-side li:before { content: "✓"; position: absolute; left: 0; color: #6047df; font-weight: 700; }

.wechat-card { padding: 24px; border: 1px solid #e7e3f3; border-radius: 12px; background: #fff; text-align: center; }
.wechat-placeholder { display: flex; width: 160px; height: 160px; margin: 0 auto 16px; align-items: center; justify-content: center; border: 2px dashed #bcb5d9; border-radius: 10px; color: #77727f; background: #faf9ff; }
.wechat-placeholder i { display: block; margin-bottom: 8px; color: #180096; font-size: 34px; }
.wechat-placeholder.has-qrcode { padding: 5px; border-style: solid; border-color: #ece9f5; background: #fff; }
.wechat-qrcode { display: block; width: 100%; height: 100%; border-radius: 7px; object-fit: contain; }
.wechat-modal { position: fixed; display: none; inset: 0; z-index: 999999; padding: 20px; align-items: center; justify-content: center; background: rgba(16, 8, 55, .72); }
.wechat-modal.is-open { display: flex; }
.wechat-modal-open { overflow: hidden; }
.wechat-dialog { position: relative; width: min(390px, 100%); padding: 32px; border-radius: 14px; background: #fff; text-align: center; }
.wechat-close { position: absolute; right: 12px; top: 8px; border: 0; background: transparent; color: #6c6774; font-size: 28px; }

.mobile-contact-bar { position: fixed; display: none; left: 0; right: 0; bottom: 0; z-index: 9998; height: 62px; padding: 7px 10px; gap: 8px; border-top: 1px solid #e4e0ee; background: rgba(255,255,255,.97); }
.mobile-contact-bar a, .mobile-contact-bar button { display: flex; min-width: 0; align-items: center; justify-content: center; border: 1px solid #180096; border-radius: 7px; color: #180096; background: #fff; font-weight: 600; }
.mobile-contact-bar .primary { color: #fff; background: #180096; }
.mobile-contact-bar button { cursor: pointer; }

.footer-social-icon .wechat-link { display: inline-flex; width: 36px; height: 36px; padding: 0; align-items: center; justify-content: center; border: 0; border-radius: 50%; color: #fff; background: #1aad19; cursor: pointer; }
.footer-widget a[href^="tel:"], .footer-widget a[href^="mailto:"] { color: inherit; }
.footer-widget a[href^="tel:"]:hover, .footer-widget a[href^="mailto:"]:hover { color: #180096; }
.privacy-content { max-width: 900px; margin: 0 auto; padding: 40px; border-radius: 14px; background: #fff; box-shadow: 0 10px 40px rgba(28,16,90,.08); }
.privacy-content h2 { margin-top: 30px; font-size: 24px; }
.privacy-content h2:first-child { margin-top: 0; }

@media (max-width: 991.98px) {
    .lead-side { padding: 0 0 35px; }
    .proof-card, .process-card, .case-card { margin-bottom: 25px; }
}
@media (max-width: 767.98px) {
    body { padding-bottom: 62px; }
    .lead-form-grid { grid-template-columns: 1fr; }
    .lead-field.full { grid-column: auto; }
    .legacy-lead-panel { padding: 25px 20px; }
    .legacy-lead-section, .proof-section, .process-section, .case-section { padding: 65px 0 45px; }
    .mobile-contact-bar { display: grid; grid-template-columns: .8fr .9fr 1.3fr; }
    .hero-content .hero-trust { font-size: 13px; }
    .hero-img img { max-height: 330px; object-fit: contain; }
}
