.page-contact {
  padding-bottom: clamp(48px, 8vw, 96px);
  color: var(--mist);
}

.page-contact .grid-12 > * {
  min-width: 0;
}

.page-contact a {
  color: var(--cyan);
  text-decoration: none;
  border-bottom: 1px solid rgba(34, 211, 238, .38);
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-contact a:hover,
.page-contact a:focus-visible {
  color: var(--orange);
  border-bottom-color: var(--orange);
}

/* ── 页首 ───────────────────────────── */

.page-contact .pc-head {
  padding: clamp(20px, 4vw, 44px) 0 clamp(26px, 4.5vw, 54px);
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(22, 38, 60, .88), rgba(11, 22, 38, 0) 76%);
}

.page-contact .pc-head__title {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(34px, 7.4vw, 86px);
  line-height: .98;
  letter-spacing: -.02em;
  margin: .34em 0 .38em;
  max-width: 17ch;
  color: var(--mist);
}

.page-contact .pc-head__lede {
  max-width: 64ch;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.78;
  color: var(--steel);
}

.page-contact .pc-head__ruler {
  height: 10px;
  max-width: 560px;
  margin: clamp(22px, 3vw, 34px) 0 0;
  background-image: repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 12px);
}

/* ── 联络渠道面板 ────────────────────── */

.page-contact .pc-panel {
  padding: clamp(34px, 5.5vw, 76px) 0;
  border-bottom: 1px solid var(--line);
}

.page-contact .pc-panel__head {
  margin-bottom: clamp(20px, 3vw, 36px);
}

.page-contact .pc-panel__head .chapter {
  margin: .18em 0 0;
}

.page-contact .pc-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 4vw, 40px);
}

.page-contact .pc-split__rule {
  display: none;
}

.page-contact .pc-channel {
  padding: clamp(18px, 2.4vw, 28px);
  background: var(--ink-2);
  border: 1px solid var(--line);
  border-left: 3px solid var(--orange);
}

.page-contact .pc-channel + .pc-channel {
  margin-top: 18px;
  border-left-color: var(--cyan);
}

.page-contact .pc-channel__value {
  font-family: var(--font-mono);
  font-size: clamp(15px, 1.9vw, 22px);
  letter-spacing: .01em;
  color: var(--mist);
  margin: .7em 0 .55em;
  overflow-wrap: anywhere;
}

.page-contact .pc-channel__use {
  margin: 0 0 .9em;
  font-size: 15px;
  line-height: 1.74;
  color: var(--steel);
}

.page-contact .pc-channel__meta {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--orange);
}

.page-contact .pc-channel + .pc-channel .pc-channel__meta {
  color: var(--cyan);
}

.page-contact .pc-split__note {
  margin: 22px 0 0;
  padding-left: 14px;
  border-left: 2px solid var(--line);
  font-size: 14.5px;
  line-height: 1.76;
  color: var(--steel);
}

.page-contact .pc-list__title {
  margin: 0 0 6px;
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: clamp(18px, 2vw, 22px);
  color: var(--mist);
}

.page-contact .pc-asks {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-contact .pc-asks__item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.page-contact .pc-asks__num {
  padding-top: 2px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .06em;
  color: var(--orange);
}

.page-contact .pc-asks__name {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 600;
  color: var(--mist);
}

.page-contact .pc-asks__need {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--steel);
}

/* ── 在线时段 ───────────────────────── */

.page-contact .pc-hours {
  padding: clamp(36px, 5.5vw, 76px) 0;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(15, 59, 76, .48), rgba(11, 22, 38, 0) 72%);
}

.page-contact .pc-hours__grid,
.page-contact .pc-write__grid,
.page-contact .pc-region__grid {
  align-items: start;
}

.page-contact .pc-order {
  counter-reset: pc-o;
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

.page-contact .pc-order li {
  position: relative;
  padding: 14px 0 14px 46px;
  border-top: 1px solid var(--line);
  font-size: 15px;
  line-height: 1.74;
  color: var(--steel);
}

.page-contact .pc-order li::before {
  counter-increment: pc-o;
  content: counter(pc-o, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 15px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--cyan);
}

.page-contact .pc-hours__more {
  margin: 18px 0 0;
  font-size: 14.5px;
  line-height: 1.7;
}

/* ── 图片容器 ───────────────────────── */

.page-contact .media-frame {
  width: 100%;
  overflow: hidden;
  background: var(--ink-2);
  border: 1px solid var(--line);
}

.page-contact .media-frame img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.page-contact .pc-hours__fig {
  margin: clamp(24px, 3vw, 0) 0 0;
}

.page-contact .pc-region__fig {
  margin: clamp(24px, 3vw, 0) 0 0;
}

/* ── 反馈写法 ───────────────────────── */

.page-contact .pc-write {
  padding: clamp(36px, 5.5vw, 76px) 0;
  border-bottom: 1px solid var(--line);
}

.page-contact .pc-write__grid .prose {
  margin-bottom: 18px;
}

.page-contact .pc-sample {
  padding: clamp(18px, 2.4vw, 28px);
  background: var(--deep-teal);
  border: 1px solid var(--line);
  border-top: 3px solid var(--orange);
}

.page-contact .pc-sample__label {
  margin: 0 0 12px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--orange);
}

.page-contact .pc-sample__list {
  display: grid;
  grid-template-columns: minmax(56px, 84px) minmax(0, 1fr);
  margin: 0;
}

.page-contact .pc-sample__list dt {
  padding: 12px 12px 12px 0;
  border-top: 1px solid rgba(42, 59, 85, .85);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--cyan);
}

.page-contact .pc-sample__list dd {
  margin: 0;
  padding: 12px 0;
  border-top: 1px solid rgba(42, 59, 85, .85);
  font-size: 15px;
  line-height: 1.66;
  color: var(--mist);
}

/* ── 服务地区与备案 ──────────────────── */

.page-contact .pc-region {
  padding: clamp(36px, 5.5vw, 76px) 0 0;
}

.page-contact .pc-cities {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.page-contact .pc-cities li {
  padding: 5px 10px;
  border: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .06em;
  color: var(--steel);
}

.page-contact .pc-addr {
  margin: 26px 0 0;
  padding-left: 14px;
  border-left: 2px solid var(--gold);
  font-style: normal;
}

.page-contact .pc-addr__label {
  margin: 0 0 6px;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--gold);
}

.page-contact .pc-addr__line {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--mist);
}

.page-contact .pc-icp {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px 14px;
  margin: clamp(34px, 5vw, 60px) 0 0;
  padding: 13px 18px;
  border: 1px solid var(--gold);
  border-left-width: 4px;
  background: rgba(232, 176, 75, .06);
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: .08em;
  color: var(--gold);
}

.page-contact .pc-icp__k {
  color: var(--steel);
}

.page-contact .pc-icp__sep {
  color: var(--line);
}

/* ── 断点 ───────────────────────────── */

@media (min-width: 700px) {
  .page-contact .pc-head__title {
    max-width: 20ch;
  }
}

@media (min-width: 960px) {
  .page-contact .pc-split {
    grid-template-columns: minmax(0, 5fr) 2px minmax(0, 7fr);
    gap: clamp(24px, 3.2vw, 52px);
  }

  .page-contact .pc-split__rule {
    display: block;
    width: 2px;
    align-self: stretch;
    background-image: repeating-linear-gradient(180deg, var(--line) 0 6px, transparent 6px 16px);
  }

  .page-contact .pc-split__note {
    margin-top: 28px;
  }

  .page-contact .pc-hours__fig,
  .page-contact .pc-region__fig {
    margin-top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-contact a {
    transition: none;
  }
}
