.page-contact {
  --contact-media-radius: var(--space-1);
}

/* ---------- 首屏 ---------- */
.page-contact .contact-hero h1 {
  margin: 0 0 var(--space-3);
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: var(--text-2xl);
  line-height: var(--leading-heading);
  letter-spacing: calc(var(--tracking-heading) + 0.04em);
  color: var(--color-contrast-ink);
}

.page-contact .contact-hero .breadcrumb {
  margin-bottom: var(--space-6);
  font-size: var(--text-xs);
  color: var(--color-contrast-ink);
  opacity: 0.72;
}

.page-contact .contact-hero .breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.page-contact .contact-hero__grid {
  display: grid;
  gap: var(--space-6);
}

.page-contact .contact-hero__lead p {
  margin: 0;
  max-width: var(--measure);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  color: var(--color-contrast-ink);
  opacity: 0.86;
}

.page-contact .contact-hero__facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
  align-content: end;
}

.page-contact .contact-fact {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.page-contact .contact-fact__num {
  font-size: var(--text-xl);
  font-weight: var(--weight-heading);
  line-height: 1;
  color: var(--color-contrast-accent);
}

.page-contact .contact-fact__label {
  font-size: var(--text-sm);
  color: var(--color-contrast-ink);
  opacity: 0.78;
}

/* ---------- 通用标题 ---------- */
.page-contact .rule-index {
  margin: 0 0 var(--space-3);
}

.page-contact .contact-heading {
  margin: 0 0 var(--space-4);
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: var(--text-xl);
  line-height: var(--leading-heading);
  letter-spacing: calc(var(--tracking-heading) + 0.03em);
}

.page-contact .contact-heading--sm {
  font-size: var(--text-lg);
}

/* ---------- 01 渠道总览 ---------- */
.page-contact .contact-split {
  display: grid;
  gap: var(--space-6);
}

.page-contact .contact-cards {
  display: grid;
  gap: var(--space-3);
}

.page-contact .contact-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-radius: var(--radius-md);
  transition: background-color 0.18s ease, color 0.18s ease, opacity 0.18s ease;
}

.page-contact .contact-card--primary {
  background: var(--color-primary);
  color: var(--color-primary-ink);
}

.page-contact .contact-card--accent {
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

.page-contact .contact-card--deep {
  background: var(--color-surface-deep);
  color: var(--color-ink);
}

.page-contact .contact-card__tag {
  margin: 0;
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  opacity: 0.78;
}

.page-contact .contact-card__name {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: var(--text-lg);
  line-height: var(--leading-heading);
  letter-spacing: calc(var(--tracking-heading) + 0.03em);
}

.page-contact .contact-card__value {
  margin: 0;
  font-size: var(--text-base);
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-contact .contact-card__use {
  margin: 0;
  max-width: var(--measure);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  opacity: 0.92;
}

.page-contact .contact-card__note {
  margin: 0;
  font-size: var(--text-xs);
  letter-spacing: 0.06em;
  opacity: 0.7;
}

.page-contact .contact-prep {
  display: grid;
  gap: var(--space-4);
  align-content: start;
}

.page-contact .contact-visual {
  border-radius: var(--contact-media-radius);
  overflow: hidden;
}

.page-contact .contact-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.page-contact .contact-prep__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
}

.page-contact .contact-prep__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-2);
  align-items: start;
}

.page-contact .contact-prep__num {
  padding-top: 0.2em;
  font-size: var(--text-sm);
  font-weight: var(--weight-heading);
  color: var(--color-primary);
}

.page-contact .contact-prep__item h3 {
  margin: 0 0 var(--space-1);
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: var(--text-base);
  line-height: var(--leading-heading);
  color: var(--color-ink);
}

.page-contact .contact-prep__item p {
  margin: 0;
  max-width: var(--measure);
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

/* ---------- 02 响应节奏 ---------- */
.page-contact .contact-rhythm {
  color: var(--color-accent-ink);
}

.page-contact .contact-rhythm .rule-index,
.page-contact .contact-rhythm .contact-heading {
  color: var(--color-accent-ink);
}

.page-contact .contact-rhythm__grid {
  display: grid;
  gap: var(--space-6);
}

.page-contact .contact-rhythm__text p {
  margin: 0 0 var(--space-3);
  max-width: var(--measure);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  color: var(--color-accent-ink);
  opacity: 0.94;
}

.page-contact .contact-rhythm__visual {
  display: grid;
  gap: var(--space-4);
  align-content: start;
}

.page-contact .contact-ticks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-2);
}

.page-contact .contact-tick {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-4);
  align-items: baseline;
  padding: var(--space-2) 0;
}

.page-contact .contact-tick .mono {
  font-size: var(--text-sm);
  font-weight: var(--weight-heading);
  color: var(--color-accent-ink);
}

.page-contact .contact-tick p {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.6;
  color: var(--color-accent-ink);
  opacity: 0.9;
}

/* ---------- 03 处理边界 ---------- */
.page-contact .contact-scope {
  color: var(--color-ink);
}

.page-contact .contact-scope__inner {
  max-width: var(--measure);
}

.page-contact .contact-scope__lead {
  margin: 0 0 var(--space-6);
  font-size: var(--text-base);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

.page-contact .contact-scope__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-4);
}

.page-contact .contact-scope__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.page-contact .contact-scope__num {
  font-size: var(--text-xs);
  font-weight: var(--weight-heading);
  color: var(--color-ink-muted);
  padding-top: 0.35em;
}

.page-contact .contact-scope__item h3 {
  margin: 0 0 var(--space-1);
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: var(--text-base);
  line-height: var(--leading-heading);
  color: var(--color-ink);
}

.page-contact .contact-scope__item p {
  margin: 0;
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  color: var(--color-ink-soft);
}

/* ---------- 04 延伸入口 ---------- */
.page-contact .contact-exits {
  color: var(--color-primary-ink);
}

.page-contact .contact-exits .rule-index,
.page-contact .contact-exits .contact-heading {
  color: var(--color-primary-ink);
}

.page-contact .contact-exits__grid {
  display: grid;
  gap: var(--space-2);
}

.page-contact .contact-exit {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  background: var(--color-surface);
  color: var(--color-ink);
  text-decoration: none;
  border-radius: var(--radius-md);
  transition: background-color 0.18s ease, color 0.18s ease;
}

.page-contact .contact-exit__num {
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  opacity: 0.66;
}

.page-contact .contact-exit h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: var(--weight-heading);
  font-size: var(--text-base);
  line-height: var(--leading-heading);
  letter-spacing: calc(var(--tracking-heading) + 0.03em);
}

.page-contact .contact-exit p {
  margin: 0;
  font-size: var(--text-sm);
  line-height: var(--leading-body);
  opacity: 0.82;
}

.page-contact .contact-exit:focus-visible {
  outline: var(--border-thick) solid var(--color-focus);
  outline-offset: var(--radius-md);
}

@media (hover: hover) {
  .page-contact .contact-cards:hover .contact-card {
    opacity: 0.62;
  }

  .page-contact .contact-cards:hover .contact-card:hover {
    opacity: 1;
  }

  .page-contact .contact-card--primary:hover {
    background: var(--color-surface);
    color: var(--color-primary);
  }

  .page-contact .contact-card--accent:hover {
    background: var(--color-surface);
    color: var(--color-accent);
  }

  .page-contact .contact-card--deep:hover {
    background: var(--color-contrast-surface);
    color: var(--color-contrast-ink);
  }

  .page-contact .contact-exit:hover {
    background: var(--color-contrast-surface);
    color: var(--color-contrast-ink);
  }
}

/* ---------- 窄屏到大屏 ---------- */
@media (min-width: 760px) {
  .page-contact .contact-exits__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .page-contact .contact-hero h1 {
    font-size: var(--text-3xl);
  }

  .page-contact .contact-hero__grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: var(--space-8);
    align-items: end;
  }

  .page-contact .contact-hero__facts {
    margin-bottom: var(--space-1);
  }

  .page-contact .contact-split {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    gap: var(--space-8);
    align-items: start;
  }

  .page-contact .contact-rhythm__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-8);
    align-items: start;
  }

  .page-contact .contact-heading {
    font-size: var(--text-2xl);
  }

  .page-contact .contact-heading--sm {
    font-size: var(--text-xl);
  }
}

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

  .page-contact .contact-exit {
    min-height: 100%;
  }
}
