/* ===== 联系我们 页面专属样式 ===== */
.page-contact{
  --ct-line:var(--c-line);
  --ct-line-soft:var(--c-line-soft);
  display:block;
  background:var(--c-night);
  color:var(--c-paper);
}

.page-contact .ct-wrap{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--pad);
}

.page-contact .ct-section{
  padding-block:clamp(32px,5vw,62px);
}

.page-contact h2{
  margin:var(--sp1) 0 var(--sp2);
  font-size:clamp(21px,3.1vw,33px);
  line-height:1.22;
  font-weight:900;
  letter-spacing:-.005em;
  color:var(--c-paper);
}

.page-contact .prose{
  color:var(--c-paper-86);
}

/* --- 首屏横幅 --- */
.page-contact .ct-hero{
  position:relative;
  background:var(--c-ink);
}

.page-contact .ct-hero__media{
  position:relative;
  overflow:hidden;
}

.page-contact .ct-hero__media img{
  display:block;
  width:100%;
  height:100%;
  max-height:300px;
  aspect-ratio:2/1;
  object-fit:cover;
  filter:saturate(.85) contrast(1.12) brightness(.55);
}

.page-contact .ct-hero__veil{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(7,20,16,.20) 0%,rgba(11,42,34,.72) 58%,var(--c-night) 100%);
}

.page-contact .ct-hero__strip{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:linear-gradient(90deg,rgba(217,164,65,0) 0%,var(--c-gold) 50%,rgba(217,164,65,0) 100%);
}

.page-contact .ct-hero__body{
  position:relative;
  max-width:var(--shell);
  margin:-48px auto 0;
  padding:0 var(--pad) var(--sp3);
}

.page-contact .ct-hero h1{
  margin:var(--sp2) 0;
  font-size:clamp(28px,4.6vw,54px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.01em;
  color:var(--c-paper);
}

.page-contact .ct-hero .lede{
  max-width:52ch;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.8;
  color:var(--c-paper-86);
}

/* --- 渠道面板 --- */
.page-contact .ct-desk{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  margin-top:var(--sp3);
  background:var(--ct-line-soft);
  border:1px solid var(--ct-line);
}

.page-contact .ct-desk__cell{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:var(--sp3) var(--sp3) var(--sp4);
  background:linear-gradient(180deg,var(--c-moss) 0%,var(--c-night) 88%);
  transition:transform var(--dur) ease,box-shadow var(--dur) ease;
}

.page-contact .ct-desk__cell::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(245,240,230,.06);
  opacity:0;
  pointer-events:none;
  transition:opacity var(--dur) ease;
}

.page-contact .ct-desk__cell--mail{
  background:
    linear-gradient(180deg,rgba(217,164,65,.14),rgba(217,164,65,0) 62%),
    linear-gradient(180deg,var(--c-moss) 0%,var(--c-night) 88%);
  box-shadow:inset 0 0 0 1px var(--ct-line);
}

.page-contact .ct-desk__tag{
  align-self:flex-start;
  padding:3px 8px;
  border:1px solid var(--ct-line);
  font-family:var(--font-num);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--c-gold);
}

.page-contact .ct-desk__title{
  margin:0;
  font-size:17px;
  font-weight:800;
  letter-spacing:.01em;
  color:var(--c-paper);
}

.page-contact .ct-desk__mail{
  margin:0;
  font-family:var(--font-num);
  font-size:clamp(15px,2.6vw,21px);
  font-weight:700;
  letter-spacing:.01em;
  color:var(--c-paper);
  word-break:break-all;
}

.page-contact .ct-phone{
  margin:0;
  font-family:var(--font-num);
  font-size:clamp(30px,8vw,42px);
  font-weight:700;
  line-height:1.05;
  letter-spacing:.02em;
  color:var(--c-paper);
}

.page-contact .ct-desk__addr{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:var(--c-paper-86);
}

.page-contact .ct-desk__note{
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:var(--c-paper-70);
}

.page-contact .ct-copy{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--sp2);
  margin-top:auto;
  padding-top:var(--sp2);
}

.page-contact .ct-copy__status{
  min-height:1em;
  font-size:13px;
  color:var(--c-cyan);
}

/* --- 邮件优先 --- */
.page-contact .ct-mail{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--sp4);
}

.page-contact .ct-mail__fig{
  margin:0;
}

.page-contact .ct-shoulds{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:var(--sp3) 0 0;
  padding:0;
  list-style:none;
}

.page-contact .ct-shoulds li{
  padding:8px 13px;
  border:1px solid var(--c-ink);
  background:var(--c-paper);
  color:var(--c-ink);
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
  box-shadow:var(--shadow-paper);
}

.page-contact .ct-mail__tip{
  margin:var(--sp3) 0 0;
  padding-left:var(--sp2);
  border-left:2px solid var(--c-gold);
  font-size:14px;
  line-height:1.75;
  color:var(--c-paper-70);
}

/* --- 响应时段 --- */
.page-contact .ct-sla{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--sp4);
  padding:var(--sp4) var(--sp3);
  border-left:3px solid var(--c-gold);
  background:linear-gradient(180deg,rgba(30,70,58,.72),rgba(11,42,34,.92));
}

.page-contact .ct-sla__lead .prose{
  margin:0;
}

.page-contact .ct-sla__list{
  display:grid;
  gap:1px;
  margin:0;
  padding:0;
  list-style:none;
  background:var(--ct-line-soft);
}

.page-contact .ct-sla__list li{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px var(--sp2);
  padding:var(--sp2);
  background:var(--c-night);
}

.page-contact .ct-sla__num{
  font-family:var(--font-num);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--c-gold);
}

.page-contact .ct-sla__list strong{
  font-size:15px;
  font-weight:800;
  color:var(--c-paper);
}

.page-contact .ct-sla__list li > span:last-child{
  flex:1 1 100%;
  font-size:14px;
  line-height:1.7;
  color:var(--c-paper-70);
}

/* --- 场景速览 --- */
.page-contact .ct-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:var(--sp3);
}

.page-contact .ct-chip{
  text-decoration:none;
  transition:transform var(--dur) ease,color var(--dur) ease;
}

.page-contact .ct-tablewrap{
  overflow-x:auto;
  border:1px solid var(--ct-line);
  background:rgba(7,20,16,.35);
}

.page-contact .ct-table{
  width:100%;
  min-width:640px;
  border-collapse:collapse;
  font-size:14.5px;
}

.page-contact .ct-table th,
.page-contact .ct-table td{
  padding:14px var(--sp2);
  text-align:left;
  vertical-align:top;
  line-height:1.7;
  border-bottom:1px solid var(--ct-line);
}

.page-contact .ct-table thead th{
  border-bottom:1px solid var(--c-gold);
  font-family:var(--font-num);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--c-gold);
}

.page-contact .ct-table tbody th{
  font-weight:800;
  color:var(--c-paper);
}

.page-contact .ct-table tbody td{
  color:var(--c-paper-70);
}

.page-contact .ct-table tbody tr:last-child th,
.page-contact .ct-table tbody tr:last-child td{
  border-bottom:0;
}

.page-contact .ct-table a{
  color:var(--c-cyan);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.page-contact .ct-table__tpl{
  font-family:var(--font-num);
  font-size:13.5px;
  letter-spacing:.01em;
  color:var(--c-cyan);
}

.page-contact .ct-after{
  margin:var(--sp3) 0 0;
  font-size:14px;
  line-height:1.8;
  color:var(--c-paper-70);
}

.page-contact .ct-after a{
  color:var(--c-gold);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* --- 地址与来访 --- */
.page-contact .ct-visit{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--sp4);
}

.page-contact .ct-visit__card{
  padding:var(--sp4) var(--sp3);
  border-top:4px solid var(--c-gold);
  background:var(--c-paper);
  color:var(--c-ink);
  box-shadow:var(--shadow-paper);
}

.page-contact .ct-visit__label{
  margin:0 0 var(--sp2);
  font-family:var(--font-num);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--c-clay);
}

.page-contact .ct-visit__addr{
  margin:0 0 var(--sp2);
  font-size:clamp(16px,2.4vw,20px);
  font-weight:800;
  line-height:1.7;
  color:var(--c-ink);
}

.page-contact .ct-visit__meta{
  margin:0;
  font-size:13px;
  color:rgba(7,20,16,.62);
}

/* --- 回到开头 --- */
.page-contact .ct-topwrap{
  padding-block:var(--sp3) var(--sp5);
  text-align:right;
}

.page-contact .ct-top{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding-bottom:3px;
  border-bottom:1px solid var(--ct-line);
  font-size:13px;
  letter-spacing:.08em;
  color:var(--c-paper-70);
  text-decoration:none;
  transition:color var(--dur) ease,border-color var(--dur) ease;
}

/* --- 桌面端 --- */
@media (min-width:760px){
  .page-contact .ct-hero__media img{
    max-height:360px;
  }
  .page-contact .ct-hero__body{
    margin-top:-110px;
  }
  .page-contact .ct-desk{
    grid-template-columns:1.65fr 1fr 1fr;
  }
}

@media (min-width:880px){
  .page-contact .ct-mail{
    grid-template-columns:1.1fr .9fr;
    gap:var(--sp5);
    align-items:start;
  }
  .page-contact .ct-sla{
    grid-template-columns:.9fr 1.1fr;
    gap:var(--sp5);
    padding:var(--sp5) var(--sp4);
  }
  .page-contact .ct-visit{
    grid-template-columns:1.15fr .85fr;
    gap:var(--sp5);
    align-items:start;
  }
}

@media (hover:hover){
  .page-contact .ct-desk__cell:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 34px rgba(7,20,16,.55);
  }
  .page-contact .ct-desk__cell:hover::after{
    opacity:1;
  }
  .page-contact .ct-chip:hover{
    transform:translateY(-2px);
  }
  .page-contact .ct-table tbody tr:hover th,
  .page-contact .ct-table tbody tr:hover td{
    background:rgba(30,70,58,.55);
    color:var(--c-paper-86);
  }
  .page-contact .ct-top:hover{
    color:var(--c-gold);
    border-color:var(--c-gold);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-contact .ct-desk__cell,
  .page-contact .ct-desk__cell::after,
  .page-contact .ct-chip,
  .page-contact .ct-top{
    transition:none;
  }
  .page-contact .ct-desk__cell:hover{
    transform:none;
  }
}
</style>
