.page-contact{
  --c-gap:clamp(18px,3.2vw,34px);
  --c-pad:clamp(20px,3.4vw,34px);
}

.page-contact .section{
  padding:clamp(54px,8.5vw,104px) 0;
}

/* ---------- 首屏 ---------- */
.page-contact .contact-hero{
  padding:calc(var(--header-h) + 26px) 0 0;
}

.page-contact .contact-hero-grid{
  display:grid;
  gap:clamp(22px,4vw,44px);
  margin-top:clamp(18px,3vw,30px);
}

.page-contact .contact-hero-title{
  margin:.4em 0 .45em;
  font-size:clamp(2.3rem,9.6vw,4.9rem);
  line-height:.95;
  letter-spacing:-.03em;
  font-weight:200;
  color:var(--white);
}

.page-contact .contact-hero-title span{
  display:block;
}

.page-contact .contact-hero-accent{
  color:var(--cyan);
  font-weight:300;
}

.page-contact .contact-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.page-contact .contact-hero-figure{
  margin:0;
}

.page-contact .contact-hero img{
  max-width:100%;
  height:auto;
}

.page-contact .contact-anchors{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:clamp(26px,4.5vw,46px);
  padding-top:clamp(18px,3vw,26px);
  border-top:1px solid var(--line);
}

.page-contact .contact-anchors a{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--mist);
  border:1px solid var(--line-strong);
  border-radius:var(--r-pill);
  padding:8px 14px;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.page-contact .contact-anchors a:hover,
.page-contact .contact-anchors a:focus-visible{
  background:var(--cyan);
  color:var(--ink);
  border-color:var(--cyan);
}

/* ---------- 联系渠道 ---------- */
.page-contact .contact-split{
  display:grid;
  gap:var(--c-gap);
  align-items:start;
}

.page-contact .contact-ledger{
  background:var(--panel);
  border:1px solid var(--line-strong);
  border-radius:var(--r-md);
  padding:var(--c-pad);
  box-shadow:var(--shadow-card);
}

.page-contact .contact-channel{
  padding:clamp(16px,3vw,24px) 0;
  border-bottom:1px dashed var(--line);
}

.page-contact .contact-channel:first-child{
  padding-top:0;
}

.page-contact .contact-channel:last-of-type{
  border-bottom:0;
  padding-bottom:0;
}

.page-contact .contact-channel .badge{
  margin-bottom:14px;
}

.page-contact .contact-value{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-weight:700;
  line-height:1.15;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.page-contact .contact-value--lg{
  font-size:clamp(1.05rem,4vw,1.7rem);
  letter-spacing:-.01em;
  color:var(--cyan);
}

.page-contact .contact-value--phone{
  font-size:clamp(1.7rem,7.4vw,2.6rem);
  letter-spacing:.03em;
  color:var(--white);
}

.page-contact .contact-jump{
  margin:0;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.04em;
  color:var(--mist);
}

.page-contact .contact-jump a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(45,240,206,.45);
}

.page-contact .contact-paper{
  position:relative;
  overflow:hidden;
  background:var(--paper);
  color:var(--text-ink);
  border:2px solid rgba(6,10,18,.9);
  border-radius:var(--r-md);
  padding:var(--c-pad);
  box-shadow:9px 9px 0 rgba(45,240,206,.16);
}

.page-contact .contact-paper::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:5px;
  background:var(--grad-league);
}

.page-contact .contact-paper-title{
  margin:6px 0 18px;
  font-size:clamp(1.12rem,3.4vw,1.5rem);
  font-weight:600;
  letter-spacing:-.01em;
  color:var(--text-ink);
}

.page-contact .contact-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.page-contact .contact-checklist li{
  position:relative;
  padding-left:26px;
  font-size:.94rem;
  line-height:1.65;
  color:#2A2F38;
}

.page-contact .contact-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:14px;
  height:3px;
  background:var(--orange);
}

.page-contact .contact-paper-foot{
  margin:22px 0 0;
  padding-top:16px;
  border-top:1px dashed rgba(20,24,31,.28);
  font-size:.86rem;
  line-height:1.6;
  color:#4A505C;
}

/* ---------- 受理范围 ---------- */
.page-contact .scope-grid{
  display:grid;
  gap:var(--c-gap);
}

.page-contact .scope-item{
  position:relative;
  overflow:hidden;
  background:linear-gradient(155deg,var(--panel) 0%,var(--ink) 100%);
  border:1px solid var(--line-strong);
  border-radius:var(--r-md);
  padding:var(--c-pad);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.page-contact .scope-item::after{
  content:"";
  position:absolute;
  right:-40px;
  top:-40px;
  width:110px;
  height:110px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(45,240,206,.16),transparent 70%);
  pointer-events:none;
}

.page-contact .scope-item:hover{
  transform:translateY(-4px);
  border-color:var(--cyan);
  box-shadow:0 16px 38px rgba(0,0,0,.45);
}

.page-contact .scope-num{
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.18em;
  color:var(--cyan);
}

.page-contact .scope-title{
  margin:0 0 10px;
  font-size:clamp(1.1rem,3.2vw,1.4rem);
  font-weight:600;
  color:var(--white);
}

.page-contact .scope-text{
  margin:0;
  font-size:.95rem;
  line-height:1.7;
  color:var(--mist);
}

/* ---------- 服务时间 ---------- */
.page-contact .hours-band{
  display:grid;
  gap:clamp(18px,3.4vw,40px);
  border:1px solid var(--line-strong);
  border-radius:var(--r-lg);
  padding:clamp(24px,4vw,44px);
  background:
    radial-gradient(120% 160% at 0% 0%,rgba(143,61,255,.18),transparent 62%),
    radial-gradient(120% 160% at 100% 100%,rgba(45,240,206,.14),transparent 58%),
    var(--panel);
  box-shadow:var(--shadow-card);
}

.page-contact .hours-clock{
  display:flex;
  align-items:center;
  gap:clamp(10px,2vw,20px);
}

.page-contact .hours-time{
  font-family:var(--font-mono);
  font-size:clamp(1.8rem,7vw,3rem);
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--white);
}

.page-contact .hours-rule{
  flex:1 1 auto;
  min-width:22px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--cyan),var(--orange));
}

.page-contact .hours-title{
  margin:.5em 0 .7em;
  font-size:clamp(1.22rem,3.6vw,1.72rem);
  font-weight:600;
  line-height:1.35;
  color:var(--white);
}

.page-contact .hours-copy p{
  margin:0 0 .85em;
  font-size:.95rem;
  line-height:1.75;
  color:var(--mist);
}

.page-contact .hours-copy p:last-child{
  margin-bottom:0;
}

/* ---------- 到访与地址 ---------- */
.page-contact .contact-addr{
  display:grid;
  gap:var(--c-gap);
  align-items:center;
}

.page-contact .contact-addr-line{
  margin:0 0 16px;
  font-size:clamp(1.08rem,3.4vw,1.42rem);
  font-weight:600;
  line-height:1.45;
  letter-spacing:-.01em;
  color:var(--text-ink);
}

.page-contact .contact-addr-text p{
  margin:0;
  font-size:.96rem;
  line-height:1.75;
  color:#333941;
}

.page-contact .contact-addr-meta{
  display:grid;
  gap:10px;
  margin:24px 0 0;
  padding-top:20px;
  border-top:1px dashed rgba(20,24,31,.3);
}

.page-contact .contact-meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  align-items:baseline;
}

.page-contact .contact-meta-row dt{
  min-width:5.5em;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6A6F79;
}

.page-contact .contact-meta-row dd{
  margin:0;
  font-size:.95rem;
  font-weight:600;
  color:var(--text-ink);
}

.page-contact .contact-addr-figure{
  margin:0;
  border:2px solid rgba(6,10,18,.85);
  border-radius:var(--r-md);
  box-shadow:8px 8px 0 rgba(255,122,46,.22);
}

.page-contact .contact-addr img{
  max-width:100%;
  height:auto;
}

/* ---------- 合作与建议 ---------- */
.page-contact .contact-coop{
  display:grid;
  gap:var(--c-gap);
}

.page-contact .contact-coop-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  background:var(--panel);
  border:1px solid var(--line-strong);
  border-left:4px solid var(--cyan);
  border-radius:var(--r-md);
  padding:var(--c-pad);
}

.page-contact .contact-coop-card--user{
  border-left-color:var(--orange);
  background:linear-gradient(160deg,var(--panel-2),var(--panel));
}

.page-contact .contact-coop-title{
  margin:0;
  font-size:clamp(1.12rem,3.3vw,1.42rem);
  font-weight:600;
  color:var(--white);
}

.page-contact .contact-coop-card p{
  margin:0;
  font-size:.95rem;
  line-height:1.75;
  color:var(--mist);
}

.page-contact .contact-coop-card .btn{
  align-self:flex-start;
  margin-top:6px;
}

.page-contact .contact-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:clamp(22px,3.5vw,34px);
  padding-top:22px;
  border-top:1px solid var(--line);
}

.page-contact .contact-links a{
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.08em;
  color:var(--mist);
  text-decoration:none;
  border:1px solid var(--line-strong);
  border-radius:var(--r-pill);
  padding:9px 16px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.page-contact .contact-links a:hover,
.page-contact .contact-links a:focus-visible{
  background:var(--white);
  color:var(--ink);
  border-color:var(--white);
}

/* ---------- 断点 ---------- */
@media (min-width:840px){
  .page-contact .scope-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:880px){
  .page-contact .contact-coop{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (min-width:900px){
  .page-contact .contact-addr{
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  }

  .page-contact .hours-band{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);
    align-items:center;
  }
}

@media (min-width:940px){
  .page-contact .contact-hero-grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    align-items:center;
  }
}

@media (min-width:960px){
  .page-contact .contact-split{
    grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);
  }
}

@media (max-width:560px){
  .page-contact .contact-anchors a{
    font-size:.68rem;
    padding:7px 11px;
  }

  .page-contact .contact-ledger,
  .page-contact .contact-paper,
  .page-contact .scope-item,
  .page-contact .contact-coop-card{
    padding:18px;
  }

  .page-contact .hours-band{
    padding:22px;
  }

  .page-contact .contact-paper{
    box-shadow:6px 6px 0 rgba(45,240,206,.16);
  }
}
