.page-contact{
  --ct-gap:clamp(14px,2.2vw,26px);
  --ct-pad:clamp(16px,2.2vw,24px);
  --ct-sect:clamp(34px,5vw,64px);
}

/* 面包屑 */
.page-contact .ct-crumbs{
  padding-top:18px;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--mist);
}
.page-contact .ct-crumbs .crumb-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:0;
  padding:0;
  list-style:none;
}
.page-contact .ct-crumbs .crumb-link{
  color:var(--mist);
  text-decoration:none;
  transition:color var(--t);
}
.page-contact .ct-crumbs .crumb-link:hover,
.page-contact .ct-crumbs .crumb-link:focus-visible{color:var(--orange);}
.page-contact .ct-crumbs .crumb-sep{color:var(--line);}
.page-contact .ct-crumbs .crumb-current{color:var(--bone);}

/* 首屏：分屏联系卡 */
.page-contact .ct-hero{
  display:grid;
  gap:var(--ct-gap);
  padding:clamp(20px,3.4vw,42px) 0 var(--ct-sect);
  border-bottom:1px solid var(--line-soft);
}
.page-contact .ct-title{
  margin:14px 0 0;
  font-family:var(--ff-display);
  font-weight:500;
  font-size:clamp(1.9rem,6.6vw,3.8rem);
  line-height:1.04;
  letter-spacing:.01em;
  color:var(--bone);
}
.page-contact .ct-lede{
  max-width:48ch;
  margin:16px 0 0;
  font-size:clamp(.95rem,1.6vw,1.0625rem);
  line-height:1.85;
  color:var(--bone-dim);
}

.page-contact .ct-channels{
  display:grid;
  gap:12px;
  margin-top:clamp(20px,3vw,30px);
}
.page-contact .ct-channel{
  position:relative;
  padding:var(--ct-pad);
  padding-left:calc(var(--ct-pad) + 8px);
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:2px;
}
.page-contact .ct-channel::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--orange);
}
.page-contact .ct-channel:nth-child(2)::before{background:var(--bone);}
.page-contact .ct-ch-key{
  margin:0;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--mist);
}
.page-contact .ct-ch-val{
  margin:10px 0 0;
  font-family:var(--ff-mono);
  font-weight:700;
  font-size:clamp(1rem,2.6vw,1.28rem);
  line-height:1.35;
  color:var(--white);
  overflow-wrap:anywhere;
  word-break:break-word;
}
.page-contact .ct-ch-note{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.75;
  color:var(--mist);
}

.page-contact .ct-address-card{
  position:relative;
  overflow:hidden;
  padding:calc(var(--ct-pad) + 8px);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:2px;
}
.page-contact .ct-address-card::after{
  content:"";
  position:absolute;
  right:-30px;
  bottom:-70px;
  width:230px;
  height:230px;
  background-image:
    linear-gradient(var(--line-soft) 1px,transparent 1px),
    linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:26px 26px;
  opacity:.55;
  pointer-events:none;
}
.page-contact .ct-floor{
  display:block;
  font-size:clamp(2.2rem,7vw,3.4rem);
  font-weight:700;
  line-height:1;
  letter-spacing:.04em;
  color:transparent;
  -webkit-text-stroke:1px var(--line);
  margin-bottom:8px;
}
.page-contact .ct-card-k{
  position:relative;
  margin:0;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--orange);
}
.page-contact .ct-addr{
  position:relative;
  margin:12px 0 0;
  font-size:clamp(1rem,2.2vw,1.15rem);
  line-height:1.7;
  color:var(--bone);
}
.page-contact .ct-addr-note{
  position:relative;
  margin:12px 0 18px;
  font-size:13.5px;
  line-height:1.8;
  color:var(--mist);
}
.page-contact .ct-address-card .btn{position:relative;}

/* 通用区块 */
.page-contact .section{padding:var(--ct-sect) 0;border-bottom:1px solid var(--line-soft);}
.page-contact .section-head{margin-bottom:clamp(18px,3vw,32px);}
.page-contact .section-head .h-section{margin:10px 0 0;}
.page-contact .ct-sec-lede{
  max-width:60ch;
  margin:12px 0 0;
  font-size:15px;
  line-height:1.85;
  color:var(--mist);
}
.page-contact .ct-body{
  margin:14px 0 0;
  font-size:15px;
  line-height:1.85;
  color:var(--bone-dim);
}
.page-contact .ct-aside{
  margin:16px 0 0;
  padding-left:14px;
  border-left:2px solid var(--line);
  font-size:13.5px;
  line-height:1.8;
  color:var(--mist);
}

/* 三类联系目的 */
.page-contact .ct-purposes{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
}
.page-contact .ct-purpose{
  padding:22px 0;
  border-bottom:1px solid var(--line-soft);
}
.page-contact .ct-purpose:last-child{border-bottom:none;}
.page-contact .ct-p-index{
  margin:0;
  font-size:12px;
  letter-spacing:.18em;
  color:var(--orange);
}
.page-contact .ct-p-title{
  margin:10px 0 0;
  font-family:var(--ff-display);
  font-weight:500;
  font-size:clamp(1.1rem,2.4vw,1.45rem);
  letter-spacing:.02em;
  color:var(--bone);
}
.page-contact .ct-p-text{
  margin:8px 0 0;
  font-size:14.5px;
  line-height:1.8;
  color:var(--mist);
}

/* 查询反馈 */
.page-contact .ct-lookup{
  display:grid;
  gap:calc(var(--ct-gap) + 6px);
}
.page-contact .ct-check{
  list-style:none;
  display:grid;
  gap:10px;
  margin:18px 0 0;
  padding:0;
}
.page-contact .ct-check li{
  position:relative;
  padding-left:20px;
  font-size:14.5px;
  line-height:1.7;
  color:var(--bone-dim);
}
.page-contact .ct-check li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  background:var(--orange);
}
.page-contact .ct-check li:last-child::before{background:var(--blue);}
.page-contact .ct-media{
  margin:0;
  border:1px solid var(--line);
  border-bottom:2px solid var(--orange);
  border-radius:2px;
  overflow:hidden;
  background:var(--ink-2);
}
.page-contact .ct-media .media-img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-contact .ct-media .media-cap{
  padding:10px 14px;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.08em;
  line-height:1.6;
  color:var(--mist);
}

/* 响应时段 */
.page-contact .ct-hours{
  display:grid;
  gap:var(--ct-gap);
  align-items:start;
  padding:calc(var(--ct-pad) + 6px);
  background:var(--ink-2);
  border:1px solid var(--line);
  border-left:3px solid var(--orange);
  border-radius:2px;
}
.page-contact .ct-hours-clock{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  font-family:var(--ff-mono);
  font-weight:700;
  font-size:clamp(1.4rem,5vw,2.1rem);
  color:var(--white);
}
.page-contact .ct-h-dash{color:var(--orange);}
.page-contact .ct-hours-tag{
  font-size:11px;
  letter-spacing:.2em;
  color:var(--mist);
  align-self:center;
  padding:3px 8px;
  border:1px solid var(--line);
}
.page-contact .ct-hours-title{
  margin:0;
  font-family:var(--ff-display);
  font-weight:500;
  font-size:clamp(1.15rem,2.8vw,1.6rem);
  color:var(--bone);
}
.page-contact .ct-hours-body .ct-body{margin-top:10px;}

/* 合作 */
.page-contact .ct-coop{
  display:grid;
  gap:calc(var(--ct-gap) + 8px);
}
.page-contact .ct-stat-board{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
}
.page-contact .ct-stat{
  padding:18px 14px 16px;
  background:var(--panel);
}
.page-contact .ct-stat-num{
  margin:0;
  font-family:var(--ff-mono);
  font-weight:700;
  font-size:clamp(1.4rem,4vw,1.9rem);
  line-height:1;
  color:var(--white);
}
.page-contact .ct-stat-num sup{font-size:.55em;color:var(--orange);vertical-align:super;}
.page-contact .ct-stat-lab{
  margin:8px 0 0;
  font-size:12px;
  letter-spacing:.06em;
  line-height:1.5;
  color:var(--mist);
}

/* 地址 */
.page-contact .ct-addr-grid{
  display:grid;
  gap:calc(var(--ct-gap) + 6px);
  align-items:start;
}
.page-contact .ct-addr-full{
  margin:0;
  font-family:var(--ff-mono);
  font-size:clamp(.95rem,2.2vw,1.15rem);
  line-height:1.7;
  color:var(--white);
  border-left:3px solid var(--orange);
  padding-left:14px;
}
.page-contact .ct-details{
  margin:20px 0 0;
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:2px;
}
.page-contact .ct-details summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  font-family:var(--ff-mono);
  font-size:12px;
  letter-spacing:.14em;
  color:var(--bone);
  list-style:none;
}
.page-contact .ct-details summary::-webkit-details-marker{display:none;}
.page-contact .ct-details summary::after{
  content:"+";
  font-size:16px;
  color:var(--orange);
}
.page-contact .ct-details[open] summary::after{content:"–";}
.page-contact .ct-details summary:focus-visible{outline:2px solid var(--blue);outline-offset:-2px;}
.page-contact .ct-details-body{
  padding:0 16px 16px;
  border-top:1px solid var(--line-soft);
}
.page-contact .ct-details-body p{
  margin:14px 0 0;
  font-size:14px;
  line-height:1.85;
  color:var(--mist);
}

/* 延伸阅读 */
.page-contact .ct-more-grid{
  display:grid;
  gap:12px;
}
.page-contact .ct-more-link{
  display:grid;
  gap:6px;
  padding:18px;
  background:var(--ink-2);
  border:1px solid var(--line);
  border-radius:2px;
  text-decoration:none;
  transition:border-color var(--t),background var(--t),transform var(--t);
}
.page-contact .ct-more-link:hover,
.page-contact .ct-more-link:focus-visible{
  background:var(--panel);
  border-color:var(--orange);
}
.page-contact .ct-more-link:focus-visible{outline:2px solid var(--blue);outline-offset:2px;}
.page-contact .ct-more-k{
  font-size:11px;
  letter-spacing:.2em;
  color:var(--orange);
}
.page-contact .ct-more-t{
  font-family:var(--ff-display);
  font-size:1.15rem;
  letter-spacing:.02em;
  color:var(--bone);
}
.page-contact .ct-more-d{
  font-size:13.5px;
  line-height:1.75;
  color:var(--mist);
}

.page-contact .ct-foot-note{
  margin:0;
  padding:22px 0 8px;
  font-family:var(--ff-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--mist);
}

/* 响应式 */
@media (min-width:560px){
  .page-contact .ct-channels{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-contact .ct-stat-board{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-contact .ct-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (min-width:860px){
  .page-contact .ct-hero{
    grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr);
    align-items:start;
    column-gap:clamp(24px,4vw,54px);
  }
  .page-contact .ct-purposes{
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:clamp(20px,3vw,40px);
    border-top:none;
  }
  .page-contact .ct-purpose{
    padding:24px 0 0;
    border-top:1px solid var(--line);
    border-bottom:none;
  }
  .page-contact .ct-purpose:last-child{border-bottom:none;}
  .page-contact .ct-lookup{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    align-items:start;
  }
  .page-contact .ct-hours{
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    column-gap:clamp(24px,4vw,56px);
  }
  .page-contact .ct-coop{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    align-items:start;
  }
  .page-contact .ct-addr-grid{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    align-items:start;
  }
  .page-contact .ct-more-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}

@media (min-width:1100px){
  .page-contact .ct-channels{gap:16px;}
  .page-contact .ct-stat-board{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .ct-more-link{transition:none;}
  .page-contact .ct-more-link:hover{transform:none;}
}
<<<END>>>
