.page-contact{
  --ct-ink:var(--star);
  --ct-dim:var(--satellite);
  --ct-gap:clamp(18px,3.2vw,34px);
  padding-bottom:clamp(48px,8vw,96px);
  color:var(--ct-ink);
  font-family:var(--font-body);
}

/* 页面头部：直接进入渠道信息，不做大横幅 */
.page-contact .ct-head{
  padding:clamp(14px,3vw,26px) 0 clamp(22px,4vw,34px);
  border-bottom:1px dashed var(--line-soft);
}
.page-contact .ct-head__title{
  margin:.35em 0 .5em;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.85rem,4.4vw,3rem);
  line-height:1.22;
  letter-spacing:.06em;
}
.page-contact .ct-head__lead{
  margin:0;
  max-width:64ch;
  font-size:clamp(1rem,1.6vw,1.06rem);
  line-height:1.85;
  color:var(--ct-ink);
  opacity:.9;
}
.page-contact .ct-head__facts{
  display:flex;
  flex-wrap:wrap;
  gap:8px 26px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.06em;
  color:var(--ct-dim);
}
.page-contact .ct-head__facts li{
  position:relative;
  padding-left:15px;
}
.page-contact .ct-head__facts li::before{
  content:"";
  position:absolute;
  left:0;
  top:.46em;
  width:5px;
  height:5px;
  background:var(--galaxy);
  transform:rotate(45deg);
}

/* 控制台主体 */
.page-contact .ct-console{
  display:grid;
  gap:var(--ct-gap);
  margin-top:clamp(26px,4.5vw,48px);
}

.page-contact .ct-panel{
  border:1px solid var(--line);
  background:rgba(20,41,79,.42);
  padding:clamp(16px,2.6vw,26px);
  border-radius:var(--r);
}
.page-contact .ct-panel--channels{
  border-left:2px solid var(--nebula);
}

.page-contact .ct-h2{
  margin:0 0 .55em;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.24rem,2.3vw,1.6rem);
  line-height:1.36;
  letter-spacing:.05em;
}
.page-contact .ct-lead{
  margin:0 0 1.3em;
  font-size:.94rem;
  line-height:1.85;
  color:var(--ct-dim);
}

/* 渠道卡 */
.page-contact .ct-channels{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.page-contact .ct-ch{
  position:relative;
  border:1px solid var(--line);
  border-left:2px solid var(--orbit);
  border-radius:var(--r);
  background:linear-gradient(180deg,rgba(108,74,182,.12),rgba(11,27,58,.55));
  padding:16px 16px 14px;
  transition:border-color var(--dur) ease;
}
.page-contact .ct-ch--mail{border-left-color:var(--nebula);}
.page-contact .ct-ch--phone{border-left-color:var(--nebula-lite);}
.page-contact .ct-ch--addr{border-left-color:var(--galaxy);}
.page-contact .ct-ch:hover{border-color:var(--line);border-left-color:var(--nebula-lite);}

.page-contact .ct-ch__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.page-contact .ct-ch__dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--mint);
  box-shadow:0 0 0 3px rgba(61,220,151,.16);
}
.page-contact .ct-ch--addr .ct-ch__dot{
  background:var(--galaxy);
  box-shadow:0 0 0 3px rgba(242,193,78,.16);
}
.page-contact .ct-ch__label{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--ct-dim);
}
.page-contact .ct-ch__value{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:clamp(.9rem,1.7vw,1.04rem);
  line-height:1.6;
  letter-spacing:.02em;
  overflow-wrap:anywhere;
}
.page-contact .ct-ch__desc{
  margin:0 0 14px;
  font-size:.89rem;
  line-height:1.78;
  color:var(--ct-dim);
}
.page-contact .ct-ch__foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}

/* 复制按钮（复用共享 .ab-copy，仅在本页调形） */
.page-contact .ab-copy{
  padding:7px 15px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:transparent;
  color:var(--ct-ink);
  font-family:var(--font-body);
  font-size:.82rem;
  letter-spacing:.04em;
  cursor:pointer;
  transition:border-color var(--dur) ease,background var(--dur) ease,color var(--dur) ease;
}
.page-contact .ab-copy:hover{
  border-color:var(--nebula-lite);
  background:rgba(108,74,182,.18);
}
.page-contact .ab-copy:focus-visible{
  outline:1px solid var(--nebula-lite);
  outline-offset:2px;
}
.page-contact .ab-copy.is-done{
  border-color:var(--mint);
  background:rgba(61,220,151,.12);
  color:var(--mint);
}

/* 右侧栏：状态图 + 响应时段 */
.page-contact .ct-side{
  display:grid;
  gap:var(--ct-gap);
  align-content:start;
}
.page-contact .ct-visual{
  margin:0;
  border:1px solid var(--line);
  background:var(--void);
  border-radius:var(--r);
  overflow:hidden;
}
.page-contact .ct-visual img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .ab-figure__cap{
  display:block;
  padding:10px 14px;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.05em;
  color:var(--ct-dim);
  border-top:1px solid var(--line-soft);
  background:rgba(5,11,28,.7);
}

.page-contact .ct-hours{
  border:1px solid var(--line);
  border-top:2px solid var(--orbit);
  border-radius:var(--r);
  background:rgba(20,41,79,.34);
  padding:clamp(16px,2.6vw,24px);
}
.page-contact .ct-hours__lead{
  margin:0;
  font-size:.92rem;
  line-height:1.85;
  color:var(--ct-dim);
}
.page-contact .ct-clock{
  margin:18px 0 0;
  padding-bottom:4px;
}
.page-contact .ct-clock__track{
  position:relative;
  display:block;
  height:12px;
  border:1px solid var(--line);
  border-radius:2px;
  background:repeating-linear-gradient(90deg,transparent 0 26px,rgba(42,74,133,.55) 26px 27px);
  overflow:hidden;
}
.page-contact .ct-clock__fill{
  display:block;
  height:100%;
  background:linear-gradient(90deg,rgba(108,74,182,.7),rgba(242,193,78,.6));
}
.page-contact .ct-clock__scale{
  display:flex;
  justify-content:space-between;
  margin-top:8px;
  font-family:var(--font-mono);
  font-size:.71rem;
  letter-spacing:.04em;
  color:var(--ct-dim);
}
.page-contact .ct-clock__tip{
  margin:10px 0 0;
  font-family:var(--font-mono);
  font-size:.73rem;
  letter-spacing:.05em;
  color:var(--nebula-lite);
  opacity:.6;
  transition:opacity var(--dur) ease,color var(--dur) ease;
}
.page-contact .ct-clock:hover .ct-clock__tip,
.page-contact .ct-clock:focus-within .ct-clock__tip{
  opacity:1;
  color:var(--mint);
}
.page-contact .ct-hours__note{
  margin:16px 0 0;
  font-size:.86rem;
  line-height:1.85;
  color:var(--ct-dim);
}
.page-contact .ct-inline-link{
  color:var(--nebula-lite);
  text-decoration:none;
  border-bottom:1px solid rgba(169,139,224,.5);
  transition:border-color var(--dur) ease,color var(--dur) ease;
}
.page-contact .ct-inline-link:hover{
  color:var(--galaxy);
  border-bottom-color:var(--galaxy);
}

/* 准备清单 + 自助入口 */
.page-contact .ct-duo{
  display:grid;
  gap:var(--ct-gap);
  margin-top:clamp(32px,5vw,60px);
}
.page-contact .ct-prep,
.page-contact .ct-self{
  border-top:1px dashed var(--line-soft);
  padding-top:clamp(20px,3.4vw,32px);
}
.page-contact .ct-checklist{
  margin:0;
  padding:0;
  list-style:none;
}
.page-contact .ct-check{
  border-bottom:1px dashed var(--line-soft);
}
.page-contact .ct-check__label{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:15px 2px;
  cursor:pointer;
}
.page-contact .ct-check__box{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:4px 0 0;
  position:relative;
  border:1px solid var(--orbit);
  border-radius:2px;
  background:rgba(11,27,58,.75);
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition:border-color var(--dur) ease,background var(--dur) ease;
}
.page-contact .ct-check__box:checked{
  border-color:var(--mint);
  background:rgba(61,220,151,.14);
}
.page-contact .ct-check__box:checked::after{
  content:"";
  position:absolute;
  left:5px;
  top:1px;
  width:5px;
  height:10px;
  border:2px solid var(--mint);
  border-top:0;
  border-left:0;
  transform:rotate(45deg);
}
.page-contact .ct-check__box:focus-visible{
  outline:1px solid var(--nebula-lite);
  outline-offset:2px;
}
.page-contact .ct-check__text{
  display:block;
  min-width:0;
}
.page-contact .ct-check__title{
  display:flex;
  align-items:baseline;
  gap:10px;
  font-size:.98rem;
  font-weight:700;
  line-height:1.6;
  transition:color var(--dur) ease;
}
.page-contact .ct-check__num{
  font-family:var(--font-mono);
  font-size:.76rem;
  font-weight:400;
  letter-spacing:.08em;
  color:var(--nebula-lite);
}
.page-contact .ct-check__desc{
  display:block;
  margin-top:6px;
  font-size:.88rem;
  line-height:1.78;
  color:var(--ct-dim);
}
.page-contact .ct-check__box:checked ~ .ct-check__text .ct-check__title{
  color:var(--mint);
}
.page-contact .ct-check__box:checked ~ .ct-check__text .ct-check__desc{
  opacity:.7;
}
.page-contact .ct-prep__note{
  margin:18px 0 0;
  font-size:.84rem;
  line-height:1.8;
  color:var(--ct-dim);
}

.page-contact .ct-self__list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.page-contact .ct-self__item a{
  display:block;
  position:relative;
  padding:15px 40px 15px 16px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(20,41,79,.42);
  color:var(--ct-ink);
  text-decoration:none;
  transition:border-color var(--dur) ease,background var(--dur) ease;
}
.page-contact .ct-self__item a:hover{
  border-color:var(--nebula-lite);
  background:rgba(108,74,182,.16);
}
.page-contact .ct-self__name{
  display:block;
  font-size:.96rem;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--galaxy);
}
.page-contact .ct-self__desc{
  display:block;
  margin-top:7px;
  font-size:.86rem;
  line-height:1.76;
  color:var(--ct-dim);
}
.page-contact .ct-self__go{
  position:absolute;
  top:16px;
  right:16px;
  font-family:var(--font-mono);
  font-size:.9rem;
  color:var(--nebula-lite);
  transition:transform var(--dur) ease,color var(--dur) ease;
}
.page-contact .ct-self__item a:hover .ct-self__go{
  transform:translateX(3px);
  color:var(--galaxy);
}

/* 团队与商务 */
.page-contact .ct-team{
  margin-top:clamp(32px,5vw,60px);
  border-top:1px dashed var(--line-soft);
  padding-top:clamp(22px,3.6vw,36px);
}
.page-contact .ct-team__grid{
  display:grid;
  gap:var(--ct-gap);
  align-items:start;
}
.page-contact .ct-team__list{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:ct-team;
  display:grid;
  gap:16px;
}
.page-contact .ct-team__list li{
  position:relative;
  counter-increment:ct-team;
  padding-left:54px;
  font-size:.92rem;
  line-height:1.85;
  color:var(--ct-ink);
  opacity:.92;
}
.page-contact .ct-team__list li::before{
  content:"0" counter(ct-team);
  position:absolute;
  left:0;
  top:.2em;
  font-family:var(--font-mono);
  font-size:.82rem;
  letter-spacing:.08em;
  color:var(--galaxy);
}
.page-contact .ct-tip{
  border:1px solid var(--line);
  border-left:2px solid var(--galaxy);
  border-radius:var(--r);
  background:linear-gradient(180deg,rgba(242,193,78,.1),rgba(11,27,58,.5));
  padding:18px;
}
.page-contact .ct-tip__k{
  margin:0;
  font-family:var(--font-mono);
  font-size:.73rem;
  letter-spacing:.1em;
  color:var(--galaxy);
}
.page-contact .ct-tip__v{
  margin:10px 0 0;
  font-size:.9rem;
  line-height:1.85;
  color:var(--ct-ink);
  opacity:.9;
}

/* 服务范围与到场沟通 */
.page-contact .ct-range{
  display:grid;
  gap:var(--ct-gap);
  margin-top:clamp(32px,5vw,60px);
  border-top:1px dashed var(--line-soft);
  padding-top:clamp(22px,3.6vw,36px);
}
.page-contact .ct-range__figure{
  margin:0;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:linear-gradient(160deg,rgba(108,74,182,.24),rgba(5,11,28,.92));
  overflow:hidden;
}
.page-contact .ct-range__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .ct-range__body p{
  margin:0 0 1.1em;
  font-size:.94rem;
  line-height:1.88;
  color:var(--ct-ink);
  opacity:.9;
}
.page-contact .ct-range__body .ab-btn{
  margin-top:6px;
}
.page-contact .ct-legal{
  margin:20px 0 0;
  font-family:var(--font-mono);
  font-size:.73rem;
  letter-spacing:.05em;
  color:var(--ct-dim);
  opacity:.85;
}

/* 桌面栅格 */
@media (min-width:900px){
  .page-contact .ct-duo{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  }
  .page-contact .ct-team__grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  }
  .page-contact .ct-range{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    align-items:center;
  }
}

@media (min-width:980px){
  .page-contact .ct-console{
    grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
    align-items:start;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-contact *{
    transition-duration:1ms !important;
  }
}
