.page-contact {
  --contact-ink-line: #1C4467;
  display: block;
  background: var(--abyss-900);
  min-width: 0;
  overflow-x: hidden;
}

.page-contact .section {
  padding-block: var(--gap-block);
}

.page-contact .paper-zone {
  background: var(--paper);
  color: var(--ink);
}

.page-contact .ink-zone {
  background: var(--abyss-900);
  color: var(--fg);
}

.page-contact .paper-zone .section-title { color: var(--ink); }
.page-contact .paper-zone .section-lead { color: var(--ink-soft); }
.page-contact .paper-zone .section-num { color: var(--abyss-500); }
.page-contact .ink-zone .section-title { color: #fff; }
.page-contact .ink-zone .section-lead { color: var(--fg-soft); }

/* ---------- 首屏 ---------- */
.page-contact .contact-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 84% 0%, rgba(63, 227, 210, 0.16), transparent 62%),
    linear-gradient(180deg, #0B2136 0%, var(--abyss-900) 100%);
  border-bottom: 2px solid var(--contact-ink-line);
}

.page-contact .hero-backdrop {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.page-contact .hero-backdrop img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.22;
}

.page-contact .hero-inner {
  position: relative;
  padding-top: 22px;
  padding-bottom: 64px;
}

.page-contact .contact-hero .breadcrumbs { margin: 0 0 8px; }
.page-contact .contact-hero .breadcrumbs-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13.5px;
}
.page-contact .contact-hero .breadcrumbs-item { color: var(--slate); }
.page-contact .contact-hero .breadcrumbs-link {
  color: var(--mist);
  text-decoration: none;
}
.page-contact .contact-hero .breadcrumbs-link[aria-current="page"] { color: var(--neon); }

.page-contact .hero-top {
  display: grid;
  gap: 28px;
  margin-top: 20px;
}

.page-contact .hero-kicker {
  margin: 0 0 12px;
  font-size: 13px;
  letter-spacing: 0.14em;
  color: var(--neon);
}

.page-contact .hero-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(28px, 5.4vw, 50px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #fff;
}

.page-contact .hero-lead {
  margin: 16px 0 0;
  max-width: 40em;
  font-size: 16.5px;
  line-height: 1.75;
  color: var(--fg-soft);
}

.page-contact .hero-aside {
  align-self: end;
  border: 2px solid var(--contact-ink-line);
  border-radius: var(--radius-card);
  background: rgba(16, 42, 66, 0.74);
  padding: 18px 20px;
}

.page-contact .aside-label {
  margin: 0 0 10px;
  font-size: 12.5px;
  letter-spacing: 0.12em;
  color: var(--mist);
}

.page-contact .time-ruler {
  display: block;
  width: 100%;
  height: auto;
}

.page-contact .ruler-text {
  fill: var(--slate);
  font-family: var(--font-mono);
  font-size: 12.5px;
}

.page-contact .aside-note {
  margin: 14px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: var(--fg-soft);
}

/* ---------- 联络卡 ---------- */
.page-contact .channel-grid {
  display: grid;
  gap: 24px;
  margin-top: 44px;
}

.page-contact .channel-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 26px;
  background: var(--abyss-700);
  border: 2px solid var(--neon);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-hard);
  min-width: 0;
}

.page-contact .channel-card--tel { border-color: var(--amber); }

.page-contact .channel-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-contact .channel-icon {
  flex: none;
  width: 30px;
  height: 30px;
  fill: none;
  stroke: var(--neon);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-contact .channel-card--tel .channel-icon { stroke: var(--amber); }

.page-contact .channel-label {
  margin: 0;
  font-size: 12.5px;
  letter-spacing: 0.14em;
  color: var(--mist);
}

.page-contact .channel-value {
  margin: 0;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: clamp(17px, 2.6vw, 20px);
  line-height: 1.5;
  color: #fff;
  word-break: break-all;
}

.page-contact .channel-card--tel .channel-value { color: var(--amber); }

.page-contact .channel-desc {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: var(--fg-soft);
}

.page-contact .channel-actions { margin-top: auto; }

.page-contact .channel-actions .copy-btn {
  min-width: 148px;
  justify-content: center;
}

.page-contact .channel-foot {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--contact-ink-line);
  font-size: 12.5px;
  letter-spacing: 0.04em;
  color: var(--slate);
}

/* ---------- 优先处理范围 ---------- */
.page-contact .priority-grid {
  display: grid;
  gap: 32px;
  margin-top: 30px;
}

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

.page-contact .priority-item {
  border-left: 3px solid var(--neon);
  padding-left: 16px;
}

.page-contact .priority-item--secondary { border-left-color: var(--abyss-500); }

.page-contact .priority-item h3 {
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
}

.page-contact .priority-item p {
  margin: 0;
  font-size: 15.5px;
  line-height: 1.75;
  color: var(--ink-soft);
}

.page-contact .priority-grid .media-frame {
  margin: 0;
}

/* ---------- 来信建议 ---------- */
.page-contact .intake { margin-top: 28px; }

.page-contact .filter-count { margin-left: 6px; }

.page-contact .intake-list {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 18px;
}

.page-contact .intake-item {
  padding: 20px;
  background: var(--paper-soft);
  border: 2px solid var(--ink);
  border-radius: var(--radius-card);
  box-shadow: 4px 4px 0 0 var(--ink);
}

.page-contact .intake-item.is-filtered { display: none; }

.page-contact .intake-tag {
  display: inline-block;
  margin: 0 0 10px;
  padding: 3px 10px;
  font-size: 12.5px;
  letter-spacing: 0.08em;
  color: var(--abyss-900);
  background: var(--neon);
  border-radius: var(--radius-pill);
}

.page-contact .intake-title {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
}

.page-contact .intake-points {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 6px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink-soft);
}

.page-contact .filter-empty {
  margin: 24px 0 0;
  font-size: 15.5px;
  color: var(--ink-soft);
}

.page-contact .filter-empty[hidden] { display: none; }

/* ---------- 自查清单 ---------- */
.page-contact .checklist {
  margin-top: 40px;
  padding-top: 26px;
  border-top: 2px solid var(--ink);
}

.page-contact .checklist-title {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 700;
  color: var(--ink);
}

.page-contact .checklist-note {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--slate);
}

.page-contact .check-list {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.page-contact .check-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-height: 48px;
  padding: 10px 0;
  border-bottom: 1px solid var(--mist);
}

.page-contact .check-item:last-child { border-bottom: 0; }

.page-contact .check-item input {
  flex: none;
  width: 20px;
  height: 20px;
  margin: 4px 0 0;
  accent-color: var(--abyss-500);
}

.page-contact .check-item label {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--ink);
  cursor: pointer;
}

.page-contact .check-warn {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 22px 0 0;
  padding: 14px 16px;
  font-size: 14.5px;
  line-height: 1.7;
  color: var(--ink);
  background: rgba(255, 107, 94, 0.12);
  border: 2px solid var(--warn);
  border-radius: var(--radius-card);
}

.page-contact .check-warn .status-dot { flex: none; margin-top: 7px; }

/* ---------- 自查步骤 ---------- */
.page-contact .step-list {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 16px;
}

.page-contact .step-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  padding: 20px;
  background: var(--abyss-700);
  border: 2px solid var(--contact-ink-line);
  border-left-color: var(--neon);
  border-radius: var(--radius-card);
}

.page-contact .step-num {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--neon);
}

.page-contact .step-body h3 {
  margin: 0 0 6px;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}

.page-contact .step-body p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: var(--fg-soft);
}

.page-contact .step-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 32px 0 0;
}

/* ---------- 联络地址 ---------- */
.page-contact .address-card {
  margin-top: 28px;
  padding: 6px 22px 24px;
  background: var(--paper-soft);
  border: 2px solid var(--ink);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-hard-paper);
}

.page-contact .address-list { margin: 0; }

.page-contact .address-row {
  display: grid;
  gap: 4px;
  padding: 18px 0;
  border-bottom: 1px solid var(--mist);
}

.page-contact .address-row:last-child { border-bottom: 0; }

.page-contact .address-row dt {
  font-size: 12.5px;
  letter-spacing: 0.12em;
  color: var(--slate);
}

.page-contact .address-row dd {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink);
  word-break: break-word;
}

.page-contact .address-card .copy-btn { margin-top: 18px; }

.page-contact .address-note {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.75;
  color: var(--slate);
}

.page-contact .address-link {
  color: var(--abyss-500);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ---------- 响应式 ---------- */
@media (min-width: 760px) {
  .page-contact .intake-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-contact .step-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .page-contact .address-row {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 20px;
    align-items: baseline;
  }
}

@media (min-width: 960px) {
  .page-contact .hero-top {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: end;
    gap: 48px;
  }

  .page-contact .channel-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    margin-top: 52px;
  }

  .page-contact .channel-card--tel { margin-top: 22px; }

  .page-contact .priority-grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: start;
    gap: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-contact .channel-card,
  .page-contact .intake-item,
  .page-contact .step-item {
    transition: none;
  }
}
<<<PAGE_CSS_END>>>
