/* ===== 咨询服务页 · 作用域 .page-contact ===== */
.page-contact{
  --ct-gap:clamp(30px,4.5vw,64px);
  --ct-rail-top:120px;
  color:var(--mist);
  background:var(--ink);
  padding-bottom:clamp(48px,6vw,88px);
}
.page-contact *,
.page-contact *::before,
.page-contact *::after{ box-sizing:border-box; }

/* --- 面包屑 --- */
.page-contact .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:clamp(22px,3vw,36px) 0 0;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--mist-faint);
}
.page-contact .breadcrumb-link{
  color:var(--mist-dim);
  text-decoration:none;
  padding-bottom:2px;
  border-bottom:1px solid transparent;
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
.page-contact .breadcrumb-link:hover,
.page-contact .breadcrumb-link:focus-visible{
  color:var(--white);
  border-bottom-color:var(--neon);
}
.page-contact .breadcrumb-current{ color:var(--mist); }

/* --- 首屏文字建筑 --- */
.page-contact .ct-hero{
  position:relative;
  padding:clamp(30px,5vw,62px) 0 clamp(44px,6vw,90px);
  overflow:hidden;
}
.page-contact .ct-hero::before{
  content:"";
  position:absolute;
  top:-32%;
  right:-14%;
  width:min(760px,82vw);
  aspect-ratio:1 / 1;
  background:radial-gradient(circle at 50% 50%,rgba(155,92,255,.16),rgba(155,92,255,0) 68%);
  pointer-events:none;
}
.page-contact .ct-hero::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:min(520px,62vw);
  height:1px;
  background:linear-gradient(90deg,var(--neon),rgba(53,225,255,.45),transparent);
  opacity:.55;
}
.page-contact .ct-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--ct-gap);
  align-items:start;
}
.page-contact .ct-title{
  margin:16px 0 0;
  font-size:clamp(32px,7.2vw,64px);
  font-weight:900;
  line-height:1.08;
  letter-spacing:-.015em;
  color:var(--white);
}
.page-contact .ct-lead{
  max-width:58ch;
  margin:22px 0 0;
  font-size:clamp(15px,1.5vw,17px);
  font-weight:300;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--mist-dim);
}
.page-contact .ct-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:1px;
  margin:clamp(26px,4vw,40px) 0 0;
  padding:1px;
  background:var(--line);
  border:1px solid var(--line);
  clip-path:var(--cut-shape);
}
.page-contact .ct-fact{
  background:var(--ink);
  padding:16px 18px 18px;
}
.page-contact .ct-fact-key{
  font-size:12px;
  letter-spacing:.16em;
  color:var(--mist-faint);
}
.page-contact .ct-fact-val{
  margin:8px 0 0;
  font-size:clamp(17px,2vw,21px);
  font-weight:400;
  letter-spacing:.02em;
  color:var(--white);
}
.page-contact .ct-hero-figure{
  position:relative;
  margin:0;
  background:var(--ink-2);
  border:1px solid var(--line);
  clip-path:var(--cut-shape);
}
.page-contact .ct-hero-figure img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:cover;
  filter:brightness(.7) saturate(.92) contrast(1.06);
}
.page-contact .ct-hero-figure figcaption{
  padding:16px 20px 20px;
  font-size:13px;
  font-weight:300;
  line-height:1.85;
  letter-spacing:.04em;
  color:var(--mist-dim);
  border-top:1px solid var(--line);
}

/* --- 主体两栏舞台 --- */
.page-contact .ct-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--ct-gap);
  padding-bottom:clamp(40px,5vw,64px);
}
.page-contact .ct-block + .ct-block{ margin-top:clamp(46px,7vw,88px); }

/* --- 区块标题 --- */
.page-contact .ct-block-head{
  display:flex;
  align-items:flex-start;
  gap:clamp(14px,2vw,22px);
}
.page-contact .ct-index{
  flex:0 0 auto;
  padding-top:8px;
  font-size:13px;
  letter-spacing:.18em;
  color:var(--neon);
  border-top:1px solid var(--neon);
}
.page-contact .ct-h2{
  margin:0;
  font-size:clamp(22px,3.4vw,34px);
  font-weight:900;
  line-height:1.26;
  letter-spacing:.005em;
  color:var(--white);
}
.page-contact .ct-block-lead{
  margin:10px 0 0;
  font-size:14px;
  font-weight:300;
  line-height:1.85;
  letter-spacing:.04em;
  color:var(--mist-dim);
}

/* --- 联系渠道 --- */
.page-contact .ct-channels{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  margin-top:clamp(24px,3.4vw,36px);
}
.page-contact .ct-channel{
  position:relative;
  padding:clamp(22px,2.8vw,30px);
  background:var(--ink-2);
  border:1px solid var(--line);
  clip-path:var(--cut-shape);
  transition:background .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}
.page-contact .ct-channel:hover{
  background:var(--ink-3);
  border-color:var(--neon);
  transform:translateY(-3px);
}
.page-contact .ct-channel-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.page-contact .ct-channel-fit{
  font-size:12px;
  letter-spacing:.1em;
  color:var(--mist-faint);
}
.page-contact .ct-channel-value{
  margin:18px 0 0;
  font-size:clamp(17px,2.2vw,22px);
  font-weight:400;
  letter-spacing:.02em;
  color:var(--white);
  word-break:break-word;
  cursor:text;
  transition:color .3s var(--ease);
}
.page-contact .ct-channel:hover .ct-channel-value{ color:var(--electric); }
.page-contact .ct-channel-text{
  margin:14px 0 0;
  font-size:14px;
  font-weight:300;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--mist-dim);
}
.page-contact .ct-inline-note{
  margin:22px 0 0;
  padding-left:16px;
  border-left:1px solid var(--line);
  font-size:13px;
  font-weight:300;
  line-height:1.95;
  letter-spacing:.04em;
  color:var(--mist-faint);
}
.page-contact .ct-inline-link{
  color:var(--electric);
  text-decoration:none;
  border-bottom:1px solid rgba(53,225,255,.34);
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
.page-contact .ct-inline-link:hover{
  color:var(--white);
  border-bottom-color:var(--neon);
}

/* --- 服务时段时间线 --- */
.page-contact .ct-timeline{
  list-style:none;
  margin:clamp(24px,3.4vw,36px) 0 0;
  padding:0;
  border-top:1px solid var(--line);
}
.page-contact .ct-tl-item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  padding:22px 0 24px;
  border-bottom:1px solid var(--line);
}
.page-contact .ct-tl-item::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:0;
  height:1px;
  background:var(--neon);
  transition:width .5s var(--ease);
}
.page-contact .ct-tl-item:hover::before{ width:100%; }
.page-contact .ct-tl-time{
  font-size:14px;
  letter-spacing:.06em;
  color:var(--electric);
}
.page-contact .ct-tl-title{
  margin:0;
  font-size:16px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--white);
}
.page-contact .ct-tl-text{
  margin:8px 0 0;
  font-size:14px;
  font-weight:300;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--mist-dim);
}

/* --- 咨询方向 --- */
.page-contact .ct-topics{
  list-style:none;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1px;
  margin:clamp(24px,3.4vw,36px) 0 0;
  padding:0;
  background:var(--line);
  border:1px solid var(--line);
}
.page-contact .ct-topic{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:clamp(14px,2vw,24px);
  align-items:start;
  padding:clamp(20px,2.6vw,28px);
  background:var(--ink-2);
  transition:background .35s var(--ease);
}
.page-contact .ct-topic:hover{ background:var(--ink-3); }
.page-contact .ct-topic-num{
  padding-top:4px;
  font-size:13px;
  letter-spacing:.16em;
  color:var(--mist-faint);
}
.page-contact .ct-topic-title{
  margin:0;
  font-size:17px;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--white);
}
.page-contact .ct-topic-text{
  max-width:62ch;
  margin:9px 0 0;
  font-size:14px;
  font-weight:300;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--mist-dim);
}
.page-contact .ct-topic-link{
  display:inline-block;
  margin-top:14px;
  padding-bottom:3px;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--electric);
  text-decoration:none;
  border-bottom:1px solid rgba(53,225,255,.3);
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
.page-contact .ct-topic-link:hover{
  color:var(--white);
  border-bottom-color:var(--neon);
}
.page-contact .ct-topic-dot{
  width:8px;
  height:8px;
  margin-top:7px;
  border-radius:50%;
  background:var(--mist-faint);
  box-shadow:0 0 0 4px rgba(201,196,218,.06);
  transition:background .35s var(--ease),box-shadow .35s var(--ease);
}
.page-contact .ct-topic:hover .ct-topic-dot{
  background:var(--mint);
  box-shadow:0 0 0 4px rgba(56,242,192,.16);
}

/* --- 右栏：区域与备案 --- */
.page-contact .ct-map{
  position:relative;
  margin:0 0 20px;
  aspect-ratio:4 / 3;
  background:var(--ink-3);
  overflow:hidden;
}
.page-contact .ct-map-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:cover;
  opacity:.34;
  filter:brightness(.58) saturate(.82);
}
.page-contact .ct-map-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.page-contact .ct-map-lines{ transition:stroke-opacity .45s var(--ease); }
.page-contact .ct-map:hover .ct-map-lines{ stroke-opacity:.66; }
.page-contact .ct-map-tag{
  position:absolute;
  left:14px;
  bottom:14px;
  padding:5px 10px;
  font-size:11px;
  letter-spacing:.2em;
  color:var(--gold);
  background:rgba(7,7,11,.72);
  border:1px solid rgba(232,201,138,.32);
}
.page-contact .ct-region{
  position:relative;
  padding:clamp(20px,2.6vw,28px);
  background:var(--ink-2);
  border:1px solid var(--line);
  clip-path:var(--cut-shape-alt);
}
.page-contact .ct-region-title{
  margin:0;
  font-size:clamp(18px,2.2vw,21px);
  font-weight:900;
  line-height:1.42;
  letter-spacing:.02em;
  color:var(--white);
}
.page-contact .ct-region-text{
  margin:12px 0 0;
  font-size:14px;
  font-weight:300;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--mist-dim);
}
.page-contact .ct-region-list{
  list-style:none;
  margin:20px 0 0;
  padding:0;
  border-top:1px solid var(--line);
}
.page-contact .ct-region-item{
  display:grid;
  gap:6px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.page-contact .ct-region-key{
  font-size:11px;
  letter-spacing:.18em;
  color:var(--mist-faint);
}
.page-contact .ct-region-val{
  font-size:14px;
  line-height:1.72;
  letter-spacing:.02em;
  color:var(--mist);
}
.page-contact .ct-filing{
  margin-top:18px;
  padding:clamp(20px,2.6vw,26px);
  background:linear-gradient(160deg,rgba(232,201,138,.07),rgba(232,201,138,0) 62%),var(--ink-2);
  border:1px solid rgba(232,201,138,.34);
  clip-path:var(--cut-shape);
  transition:border-color .35s var(--ease);
}
.page-contact .ct-filing:hover{ border-color:rgba(232,201,138,.72); }
.page-contact .ct-filing-title{
  margin:14px 0 0;
  font-size:clamp(16px,2vw,19px);
  font-weight:400;
  letter-spacing:.04em;
  color:var(--gold);
  word-break:break-word;
}
.page-contact .ct-filing-text{
  margin:12px 0 0;
  font-size:13px;
  font-weight:300;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--mist-dim);
}

/* --- 收尾 --- */
.page-contact .ct-outro{
  display:grid;
  gap:clamp(18px,2.4vw,28px);
  padding:clamp(26px,3.6vw,40px);
  background:var(--ink-2);
  border:1px solid var(--line);
  clip-path:var(--cut-shape-alt);
}
.page-contact .ct-outro-text{
  max-width:52ch;
  margin:0;
  font-size:clamp(15px,1.7vw,17px);
  font-weight:300;
  line-height:1.9;
  letter-spacing:.04em;
  color:var(--mist);
}

/* --- 锚点定位与响应式 --- */
.page-contact #channels,
.page-contact #hours,
.page-contact #topics,
.page-contact #region{ scroll-margin-top:120px; }

@media (min-width:760px){
  .page-contact .ct-channels{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-contact .ct-tl-item{
    grid-template-columns:172px minmax(0,1fr);
    gap:clamp(20px,3vw,42px);
  }
  .page-contact .ct-outro{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:clamp(28px,4vw,56px);
  }
}

@media (min-width:980px){
  .page-contact .ct-hero-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
    gap:clamp(40px,6vw,88px);
  }
}

@media (min-width:1040px){
  .page-contact .ct-stage{
    grid-template-columns:minmax(0,1fr) minmax(300px,376px);
    gap:clamp(44px,5vw,80px);
    align-items:start;
  }
  .page-contact .ct-rail{ margin-top:clamp(30px,4vw,58px); }
  .page-contact .ct-rail-inner{
    position:sticky;
    top:var(--ct-rail-top);
  }
}

@media (max-width:420px){
  .page-contact .ct-topic{
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }
  .page-contact .ct-topic-dot{
    order:-1;
    margin-top:0;
  }
  .page-contact .ct-fact{ padding:14px 16px 16px; }
}
