/* 联系我们 · 专用样式（自包含，不复制 about 集群样式）
   仅依赖 v4-base.css 的 nav / footer / .wrap / .btn / .page-hero / .cta-band / .eyebrow-light */
.sec-pad{padding:84px 0}
.sec-pad + .sec-pad{border-top:1px solid var(--line)}
.sec-head{margin-bottom:26px;scroll-margin-top:120px}
.sec-head .kicker{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:8px}
.sec-head h2{font-family:"Noto Serif SC","Songti SC","SimSun",serif;font-weight:600;font-size:clamp(24px,3.2vw,38px);letter-spacing:-.01em;color:var(--ink);line-height:1.25}
.sec-head p{color:var(--ink-2);margin-top:12px;max-width:64ch;font-size:15px;line-height:1.8}
.sec-head .req{color:var(--accent)}

/* 咨询表单 */
.cu-form{max-width:680px;margin-top:8px}
.field{margin-bottom:18px}
.field label{display:block;font-size:14px;color:var(--ink);margin-bottom:7px;font-weight:500}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .18s,box-shadow .18s}
.field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239AA4B2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(54,160,255,.14)}
.field textarea{resize:vertical;min-height:120px}
.resp-note{margin-top:14px;font-size:13.5px;color:var(--accent-ink);font-weight:500}
.form-ok{margin-top:20px;padding:14px 18px;border:1px solid #BFD8F5;background:#F0F7FF;border-radius:8px;color:var(--accent-ink);font-size:14px}
.legal-note{margin-top:22px;font-size:12px;color:var(--muted);line-height:1.6;max-width:64ch}

/* 联系方式卡片 */
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
.contact-card{border:1px solid var(--line);border-radius:8px;padding:26px 22px;background:#fff;display:flex;flex-direction:column}
.contact-card .ic{width:42px;height:42px;border-radius:10px;background:rgba(54,160,255,.10);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.contact-card .ic svg{width:21px;height:21px}
.contact-card h3{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:6px;letter-spacing:.02em}
.contact-card .v{font-size:16px;color:var(--ink);font-weight:600;word-break:break-all}
.contact-card a.v{text-decoration:none;transition:color .18s}
.contact-card a.v:hover{color:var(--accent)}
.contact-card .hint{margin-top:8px;font-size:12.5px;color:var(--muted);line-height:1.6}
.contact-card .wx-qr-inline{display:block;width:104px;height:auto;margin:14px auto 2px;border-radius:8px;border:1px solid #E6EAF0;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.06)}

/* 按场景分流 */
.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.route-card{border:1px solid var(--line);border-radius:8px;padding:28px 24px;background:#fff;display:flex;flex-direction:column;transition:border-color .18s,box-shadow .18s}
.route-card:hover{border-color:var(--accent);box-shadow:0 6px 20px rgba(54,160,255,.10)}
.route-card .rt{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:10px}
.route-card h3{font-size:18px;font-weight:600;margin-bottom:10px}
.route-card p{font-size:14px;color:var(--ink-2);line-height:1.75;flex:1}
.route-card .more{margin-top:16px;font-size:14px;font-weight:600;color:var(--accent-ink)}
.route-card:hover .more{color:var(--accent)}

/* 地图 + 到访 */
.contact-foot{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:8px;align-items:stretch}
.mapWrap-anchor{width:100%;display:flex;flex-direction:column}
.mapWrap-anchor > #mapWrap{height:400px;border:1px solid var(--line);border-radius:8px;background:#fff;flex:0 0 auto}
.map-actions{margin-top:auto;padding-top:14px}
.visit-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:6px;margin-bottom:18px}
.map-slot .ph-tag{display:inline-block;margin-bottom:10px;font-size:11px;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:99px;padding:2px 10px}
.map-slot p{font-size:13.5px;line-height:1.7;max-width:34ch}
.visit-card{border:1px solid var(--line);border-radius:8px;padding:28px 26px;background:#fff;display:flex;flex-direction:column}
.visit-card h3{font-size:16px;font-weight:600;margin-bottom:14px}
.visit-card .row{display:flex;gap:10px;font-size:14px;color:var(--ink-2);line-height:1.7;margin-bottom:12px}
.visit-card .row b{color:var(--ink);font-weight:600;min-width:56px;flex:0 0 auto}
.visit-card .btn{margin-top:auto;align-self:flex-start}

@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr 1fr}
  .route-grid{grid-template-columns:1fr}
  .contact-foot{grid-template-columns:1fr}
}
@media(max-width:560px){
  .map-slot{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .sec-pad{padding:64px 0}
}
@media(max-width:560px){
  .contact-grid{grid-template-columns:1fr}
  .sec-pad{padding:64px 0}
}
