/* 客户多端适配：微信内置浏览器、手机浏览器、平板和桌面端 */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-height: 100dvh; }
.phone-shell { min-height: 100dvh; }
button, select, input, textarea { -webkit-tap-highlight-color: transparent; }
input, select, textarea { font-size: max(14px, 16px); }

@media (max-width: 359px) {
  .hero { padding-left: 18px; padding-right: 18px; }
  .hero h1 { font-size: 36px; }
  .nav img { width: 122px; }
  .home-content { padding-left: 14px; padding-right: 14px; }
  .form-intro, form > label, .photo-upload { margin-left: 15px; margin-right: 15px; }
  .form-intro { padding-left: 0; padding-right: 0; }
  .form-submit { width: calc(100% - 30px); margin-left: 15px; margin-right: 15px; }
}

@media (min-width: 600px) {
  body { padding: 24px; }
  .phone-shell { max-width: 760px; min-height: calc(100dvh - 48px); border-radius: 16px; box-shadow: 0 18px 52px #23342624; }
  .view { min-height: calc(100dvh - 48px); }
  .view.active#homeView { display: grid; grid-template-columns: 1.16fr .84fr; align-items: stretch; }
  #homeView .hero { min-height: calc(100dvh - 48px); display: flex; flex-direction: column; justify-content:flex-start; padding: 164px 36px 45px; }
  #homeView .nav { position: absolute; top: 28px; left: 36px; right: 36px; }
  #homeView .eyebrow { margin: 0 0 13px; }
  #homeView .hero h1 { font-size: 43px; }
  #homeView .home-content { margin: 0; padding: 36px 25px; display: flex; align-self: center; flex-direction: column; }
  #homeView .service-note { flex-wrap: wrap; line-height: 1.5; }
  .subhead, .staff-head { padding-left: 32px; padding-right: 32px; }
  form, .track-search, .ticket-summary, .timeline, .staff-card, .staff-label, .staff-hint, .contact-service { max-width: 620px; margin-left: auto; margin-right: auto; }
  .form-intro { padding-left: 0; padding-right: 0; }
  form > label, .photo-upload, .privacy { margin-left: 0; margin-right: 0; }
  .form-submit { width: 100%; margin-left: 0; margin-right: 0; }
  .ticket-summary, .timeline { padding-left: 0; padding-right: 0; }
  .contact-service { margin-top: 3px; }
  .success-wrap { max-width: 450px; margin: 0 auto; }
}

@media (min-width: 1024px) {
  body { padding: 36px; }
  .phone-shell { max-width: 920px; min-height: calc(100dvh - 72px); }
  .view { min-height: calc(100dvh - 72px); }
  #homeView .hero { min-height: calc(100dvh - 72px); padding: 174px 48px 48px; }
  #homeView .nav { left: 48px; right: 48px; }
  #homeView .home-content { padding: 48px 38px; }
  #homeView .hero h1 { font-size: 50px; }
  .subhead, .staff-head { padding-left: 48px; padding-right: 48px; }
}

@supports (padding: max(0px)) {
  .hero { padding-top: max(28px, env(safe-area-inset-top)); }
  .home-content { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
  .subhead, .staff-head { padding-top: max(23px, env(safe-area-inset-top)); height: max(86px, calc(63px + env(safe-area-inset-top))); }
}

.primary-button > span:first-child { text-align: left; }
.primary-button > span:first-child b, .primary-button > span:first-child small { display: block; }
.primary-button > span:first-child b { font-size: 16px; }
.primary-button > span:first-child small { margin-top: 3px; font-size: 10px; font-weight: 400; color: #ffffffb8; }
.complaint-entry { border-color: #d7ded5; background: #fbfcf8; }
.complaint-entry .icon { color: #8a8054; }
.progress-link { display: flex; width: 100%; margin: 14px 0 0; padding: 5px 2px; border: 0; background: transparent; color: #5f7067; font: inherit; font-size: 12px; justify-content: center; gap: 5px; cursor: pointer; }
.progress-link span { font-size: 15px; line-height: 12px; }
.service-path { display:flex; align-items:center; gap:6px; margin:0 20px 16px; padding:10px 11px; border-radius:6px; background:#eef2eb; color:#68766d; font-size:10px; white-space:nowrap; }
.service-path span { flex:1; text-align:center; }
.service-path i { color:#9aa69b; font-style:normal; }
@media (min-width:600px) { .service-path { margin-left:0; margin-right:0; } }
.emergency-link { display:block; margin:12px 2px 0; padding:10px 12px; border-left:2px solid #b87858; background:#fbf4ee; color:#76503d; text-align:left; text-decoration:none; border-radius:3px; }
.emergency-link b,.emergency-link small { display:block; }.emergency-link b{font-size:11px}.emergency-link small{margin-top:3px;font-size:10px;line-height:1.45;color:#926e5d}
.home-contact{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:13px 0 0;color:#77847a;font-size:10px}.home-contact a{color:inherit;text-decoration:none}.home-contact i{width:3px;height:3px;border-radius:50%;background:#a8afa5}
.track-search div { flex-wrap:wrap; }.track-search div input:first-child { flex:1 1 100%; }.track-search div input:nth-child(2) { flex:1 1 0; }.track-search div button { flex:0 0 auto; height:46px; }
.form-safety { margin:-3px 20px 16px; padding:9px 10px; border-radius:5px; background:#fbf4ee; color:#805b48; font-size:10px; line-height:1.55; }.form-safety a{color:#704330;font-weight:700;text-decoration:none}
.global-contact{padding:22px 20px max(25px,env(safe-area-inset-bottom));background:#203a33;color:#fff}.global-contact p{margin:0 0 13px;font-size:11px;letter-spacing:.1em;color:#d1d8d1}.global-contact div{display:grid;grid-template-columns:1fr 1fr;gap:9px}.global-contact a{min-width:0;padding:10px;border:1px solid #ffffff26;border-radius:5px;color:#fff;text-decoration:none}.global-contact a:last-child{grid-column:1 / -1}.global-contact span,.global-contact b{display:block}.global-contact span{font-size:9px;color:#b8c4bd}.global-contact b{margin-top:4px;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:600px){.global-contact{padding-left:36px;padding-right:36px}.global-contact div{grid-template-columns:repeat(3,1fr)}.global-contact a:last-child{grid-column:auto}}
.hero-card{color:#fff;text-decoration:none;transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.primary-button,.secondary-button,.progress-link,.global-contact a{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary-button:active,.secondary-button:active,.hero-card:active,.global-contact a:active{transform:scale(.985)}.view.active{animation:page-in .32s ease both}@keyframes page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(hover:hover){.hero-card:hover{transform:translateY(-2px);background:#ffffff25;box-shadow:0 12px 22px #0b21192e}.primary-button:hover{transform:translateY(-2px);box-shadow:0 9px 18px #172f2930}.secondary-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #1d342015}.global-contact a:hover{background:#ffffff12}}@media(prefers-reduced-motion:no-preference){.hero-card .pulse{animation:service-pulse 2.1s infinite}@keyframes service-pulse{0%,100%{box-shadow:0 0 0 5px #d7c36b22}50%{box-shadow:0 0 0 9px #d7c36b08}}}

.language-toggle{position:absolute;z-index:20;top:16px;right:18px;min-width:62px;height:34px;padding:0 12px;border:1px solid #e2c77e;border-radius:17px;background:#d6b661;color:#17362e;font:700 12px/1 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.05em;cursor:pointer;box-shadow:0 5px 14px #1c332028}.language-toggle:before{content:'◎';margin-right:4px;font-size:13px}.language-toggle:active{transform:scale(.96)}
/* 首页只保留底部固定联系方式，避免与底部联系区重复。 */
.home-content{padding-bottom:26px}
@media(min-width:600px){.language-toggle{top:27px;right:32px}.home-content{padding-bottom:36px}}

/* 统一文字节奏与宽屏表单阅读宽度 */
body { letter-spacing: .01em; line-height: 1.5; }
.hero h1 { letter-spacing: .025em; line-height: 1.14; }
.hero-copy { letter-spacing: .01em; line-height: 1.68; }
.form-intro { padding-top: 27px; padding-bottom: 16px; }
.form-intro b { font-size: 18px; line-height: 1.35; letter-spacing: .01em; }
.form-intro p { margin-top: 8px; font-size: 13px; line-height: 1.62; letter-spacing: .01em; }
form > label, .staff-label { font-size: 14px; line-height: 1.45; letter-spacing: .01em; }
input, select, textarea { margin-top: 9px; font-size: 16px; line-height: 1.45; letter-spacing: 0; }
input, select { min-height: 52px; }
textarea { line-height: 1.6; }
.service-path { margin-bottom: 21px; padding: 11px 12px; font-size: 11px; letter-spacing: .01em; line-height: 1.45; white-space: normal; }
.emergency-link b { font-size: 12px; line-height: 1.45; }.emergency-link small { font-size: 11px; line-height: 1.55; }
.form-safety { margin-bottom: 18px; padding: 10px 12px; font-size: 11px; line-height: 1.6; }
.primary-button > span:first-child b { font-size: 16px; line-height: 1.35; }.primary-button > span:first-child small { font-size: 11px; line-height: 1.45; }
.secondary-button b { font-size: 15px; line-height: 1.35; }.secondary-button small { font-size: 12px; line-height: 1.5; }
.hero-card b { font-size: 14px; line-height: 1.35; }.hero-card small { font-size: 12px; line-height: 1.45; }
.service-note, .home-contact { font-size: 11px; line-height: 1.55; }
.global-contact p { font-size: 11px; line-height: 1.45; }.global-contact span { font-size: 10px; line-height: 1.35; }.global-contact b { font-size: 13px; line-height: 1.35; }

@media (min-width: 600px) {
  /* 用明确宽度覆盖浏览器缩放、嵌入预览造成的左右留白不一致 */
  #repairForm, #contactForm { width: min(calc(100% - 64px), 620px); margin-left: auto; margin-right: auto; }
  #repairForm > .form-intro, #contactForm > .form-intro { padding-left: 0; padding-right: 0; }
  #repairForm > label, #contactForm > label, #repairForm > .photo-upload, #contactForm > .photo-upload, #repairForm > .privacy, #contactForm > .privacy { margin-left: 0; margin-right: 0; }
  #repairForm > .form-safety, #contactForm > .form-safety { margin-left: 0; margin-right: 0; }
  #repairForm > .service-path, #contactForm > .service-path { margin-left: 0; margin-right: 0; }
  #repairForm > .form-submit, #contactForm > .form-submit { width: 100%; margin-left: 0; margin-right: 0; }
}

@media (max-width: 599px) {
  .hero h1 { font-size: clamp(36px, 10.3vw, 42px); }
  .form-intro b { font-size: 17px; }
}

/* 供同事在电脑浏览器中核对的纯手机画布：?mobile=1 */
html.force-mobile body { padding:0; }
html.force-mobile .phone-shell { width:100%; max-width:480px; min-height:100dvh; border-radius:0; box-shadow:none; }
html.force-mobile .view { min-height:100dvh; }
html.force-mobile .view.active#homeView { display:block; }
html.force-mobile #homeView .hero { min-height:auto; display:block; padding:28px 24px 42px; }
html.force-mobile #homeView .nav { position:relative; inset:auto; }
html.force-mobile #homeView .home-content { margin-top:-17px; padding:0 18px 26px; display:block; }
html.force-mobile #repairForm, html.force-mobile #contactForm { width:auto; margin:0; }
html.force-mobile #repairForm > .form-intro, html.force-mobile #contactForm > .form-intro { padding-left:20px; padding-right:20px; }
html.force-mobile #repairForm > label, html.force-mobile #contactForm > label, html.force-mobile #repairForm > .photo-upload, html.force-mobile #contactForm > .photo-upload, html.force-mobile #repairForm > .privacy, html.force-mobile #contactForm > .privacy { margin-left:20px; margin-right:20px; }
html.force-mobile #repairForm > .form-safety, html.force-mobile #contactForm > .form-safety, html.force-mobile #repairForm > .service-path, html.force-mobile #contactForm > .service-path { margin-left:20px; margin-right:20px; }
html.force-mobile #repairForm > .form-submit, html.force-mobile #contactForm > .form-submit { width:calc(100% - 40px); margin-left:20px; margin-right:20px; }
/* 手机端联系方式必须完整展示，不使用桌面端三列压缩布局。 */
html.force-mobile .global-contact{padding:22px 20px max(28px,env(safe-area-inset-bottom))}
html.force-mobile .global-contact div{display:grid;grid-template-columns:1fr;gap:9px}
html.force-mobile .global-contact a,html.force-mobile .global-contact a:last-child{grid-column:auto;padding:12px 13px}
html.force-mobile .global-contact b{overflow:visible;text-overflow:clip;white-space:normal;font-size:14px;word-break:break-word}
@media(max-width:599px){.global-contact div{grid-template-columns:1fr}.global-contact a:last-child{grid-column:auto}.global-contact b{overflow:visible;text-overflow:clip;white-space:normal;font-size:14px;word-break:break-word}.global-contact a{padding:12px 13px}}

/* 首页收尾信息区：填补空白，同时说明客户真正关心的服务承诺。 */
.service-assurance{margin:23px 0 0;padding:17px 14px 15px;border-top:1px solid #e2e6dc;border-bottom:1px solid #e2e6dc;color:#53665c}.service-assurance>p{margin:0 0 13px;text-align:center;font-size:12px;font-weight:600;letter-spacing:.12em;color:#425b50}.service-assurance>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.service-assurance article{min-width:0;text-align:center}.service-assurance article>span{display:grid;place-items:center;width:25px;height:25px;margin:0 auto 6px;border-radius:50%;background:#e7eee5;color:#877d52;font-size:15px}.service-assurance b,.service-assurance small{display:block}.service-assurance b{font-size:12px;line-height:1.35}.service-assurance small{margin-top:3px;font-size:10px;line-height:1.45;color:#87928a}@media(min-width:600px){.service-assurance{margin-top:26px;padding:20px 16px}.service-assurance>div{gap:16px}}

/* 客服专线：电话图标与操作词组成独立点击提示。 */
.hero-card .call-action{display:flex;align-items:center;gap:7px;margin-left:auto;color:#dfcf9c;white-space:nowrap}.hero-card .call-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #dfcf9c9c;border-radius:50%;font:18px/1 Arial,sans-serif}.hero-card .call-action strong{margin:0;color:inherit;font-size:13px;letter-spacing:.01em}@media(max-width:359px){.hero-card{gap:7px;padding:12px}.hero-card .call-action{gap:4px}.hero-card .call-icon{width:24px;height:24px;font-size:15px}.hero-card .call-action strong{font-size:11px}}
