.page-contact{
  --pc-soft-line: rgba(46,52,60,.9);
  --pc-warm: rgba(255,90,31,.10);
  --pc-shadow: 0 20px 48px rgba(0,0,0,.38);
  padding-bottom: clamp(40px,7vw,88px);
}

.page-contact .section{
  padding-block: clamp(28px,5.5vw,60px);
}

.page-contact .section:first-child{
  padding-top: clamp(18px,3.5vw,32px);
}

/* ---------- 面包屑 ---------- */
.page-contact .breadcrumb{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: clamp(20px,4vw,34px);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .08em;
  color: var(--muted);
}

.page-contact .breadcrumb__item{
  color: inherit;
  text-decoration: none;
}

.page-contact .breadcrumb__item[aria-current="page"]{
  color: var(--orange);
}

/* ---------- 首屏 ---------- */
.page-contact .contact-hero__grid{
  display: grid;
  gap: clamp(22px,5vw,44px);
  align-items: start;
}

.page-contact .contact-hero h1{
  margin: 10px 0 16px;
  max-width: 15ch;
  font-family: var(--font-display);
  font-size: clamp(34px,8.6vw,68px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: -.01em;
  color: var(--white);
}

.page-contact .contact-hero__lead{
  max-width: 46ch;
  margin: 0 0 22px;
  font-size: clamp(15px,1.7vw,17px);
  line-height: 1.8;
  color: var(--white);
  opacity: .84;
}

.page-contact .contact-hero__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
}

.page-contact .contact-hero__facts{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--muted);
}

.page-contact .contact-hero__facts li{
  display: flex;
  align-items: center;
  gap: 8px;
}

.page-contact .contact-hero__facts li::before{
  content: "";
  width: 6px;
  height: 6px;
  flex: none;
  border-radius: 2px;
  background: var(--mint);
}

.page-contact .contact-hero__media{
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

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

.page-contact .contact-hero__media::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(var(--pc-soft-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--pc-soft-line) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .14;
}

/* ---------- 单条队列 ---------- */
.page-contact .queue__grid{
  display: grid;
  gap: 22px;
  margin-top: 18px;
}

.page-contact .queue__text p{
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--muted);
}

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

.page-contact .ticket{
  padding: clamp(18px,3vw,24px);
  border: 1px dashed rgba(255,90,31,.42);
  border-radius: var(--radius-sm);
  background: var(--float);
}

.page-contact .ticket__k{
  margin: 0 0 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--muted);
}

.page-contact .ticket__no{
  margin: 6px 0 10px;
  font-family: var(--font-mono);
  font-size: clamp(20px,5vw,26px);
  letter-spacing: .08em;
  color: var(--orange);
}

.page-contact .ticket__note{
  margin: 0;
  font-size: 13px;
  line-height: 1.75;
  color: var(--muted);
}

/* ---------- 四步 + 登记卡 ---------- */
.page-contact .flow{
  display: grid;
  gap: clamp(24px,4vw,48px);
  align-items: start;
}

.page-contact .flow__title{
  margin: 8px 0 12px;
  font-family: var(--font-display);
  font-size: clamp(26px,4.6vw,40px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.01em;
  color: var(--white);
}

.page-contact .flow__lead{
  max-width: 52ch;
  margin: 0 0 26px;
  font-size: 15px;
  line-height: 1.8;
  color: var(--muted);
}

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

.page-contact .step{
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 16px;
  padding-bottom: 24px;
}

.page-contact .step:last-child{
  padding-bottom: 0;
}

.page-contact .step:not(:last-child)::before{
  content: "";
  position: absolute;
  left: 16px;
  top: 40px;
  bottom: 4px;
  width: 1px;
  background: repeating-linear-gradient(to bottom, var(--line) 0 5px, transparent 5px 11px);
}

.page-contact .step__no{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: none;
  border: 1px solid rgba(255,90,31,.38);
  border-radius: 10px;
  background: var(--orange-deep);
  color: var(--orange);
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .06em;
}

.page-contact .step__title{
  margin: 4px 0 6px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--white);
}

.page-contact .step__text{
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--muted);
}

.page-contact .step__hint{
  margin: 10px 0 0;
  padding: 8px 12px;
  border-left: 2px solid var(--orange);
  border-radius: 0 8px 8px 0;
  background: var(--pc-warm);
  font-size: 13px;
  color: var(--muted);
}

.page-contact .step__code{
  font-family: var(--font-mono);
  letter-spacing: .02em;
  color: var(--white);
  word-break: break-word;
}

.page-contact .regcard{
  position: relative;
  overflow: hidden;
  padding: clamp(20px,3.5vw,28px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--pc-shadow);
}

.page-contact .regcard::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--orange), var(--orange-soft));
}

.page-contact .regcard__head{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.page-contact .regcard__title{
  margin: 12px 0 0;
  font-size: 19px;
  font-weight: 700;
  color: var(--white);
}

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

.page-contact .field{
  padding: 11px 14px;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: var(--float);
}

.page-contact .field__k{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--muted);
}

.page-contact .field__req{
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--amber);
}

.page-contact .field__v{
  display: block;
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: .02em;
  color: var(--white);
  word-break: break-word;
}

.page-contact .field__v--hint{
  color: var(--muted);
}

.page-contact .regcard__foot{
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px dashed var(--line);
}

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

.page-contact .regcard__no{
  margin: 8px 0;
  font-family: var(--font-mono);
  font-size: clamp(20px,5vw,26px);
  letter-spacing: .08em;
  color: var(--orange);
}

.page-contact .regcard__note{
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

/* ---------- 字段细则 ---------- */
.page-contact .section__title{
  max-width: 22ch;
  margin: 8px 0 0;
  font-family: var(--font-display);
  font-size: clamp(26px,4.6vw,40px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.01em;
  color: var(--white);
}

.page-contact .fieldgrid{
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.page-contact .fcard{
  position: relative;
  padding: clamp(18px,3vw,24px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
}

.page-contact .fcard__title{
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--white);
}

.page-contact .fcard__title::before{
  content: "";
  display: block;
  width: 24px;
  height: 3px;
  margin-bottom: 10px;
  border-radius: 2px;
  background: var(--orange);
}

.page-contact .fcard__ok{
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.75;
  color: var(--white);
  opacity: .86;
}

.page-contact .fcard__ng{
  position: relative;
  margin: 0;
  padding-left: 14px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
}

.page-contact .fcard__ng::before{
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--amber);
}

/* ---------- 回复节奏 ---------- */
.page-contact .pace__lead{
  max-width: 60ch;
  margin: 16px 0 22px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--muted);
}

.page-contact .pace__grid{
  display: grid;
  gap: 12px;
}

.page-contact .pace__card{
  padding: 16px 18px;
  border-left: 2px solid var(--mint);
  border-radius: var(--radius-sm);
  background: var(--float);
}

.page-contact .pace__k{
  margin: 0 0 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--mint);
}

.page-contact .pace__v{
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
  color: var(--white);
  opacity: .88;
}

.page-contact .pace__foot{
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.75;
  color: var(--muted);
}

/* ---------- 直接联系 ---------- */
.page-contact .channels{
  display: grid;
  gap: clamp(24px,4vw,44px);
  align-items: start;
}

.page-contact .channels__title{
  margin: 8px 0 12px;
  font-family: var(--font-display);
  font-size: clamp(26px,4.6vw,40px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.01em;
  color: var(--white);
}

.page-contact .channels__text{
  max-width: 44ch;
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.85;
  color: var(--muted);
}

.page-contact .channels__media{
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

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

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

.page-contact .chan{
  position: relative;
  overflow: hidden;
  padding: clamp(18px,3vw,26px);
  border: 1px solid var(--line);
  background: var(--panel);
}

.page-contact .chan--hot{
  border-radius: 30px 10px 30px 10px;
  background: linear-gradient(135deg, var(--orange-deep), var(--panel) 72%);
}

.page-contact .chan--mint{
  border-radius: 10px 30px 10px 30px;
  background: linear-gradient(135deg, var(--teal-deep), var(--panel) 72%);
}

.page-contact .chan--ghost{
  border-radius: 24px 24px 8px 32px;
}

.page-contact .chan__k{
  margin: 0 0 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--muted);
}

.page-contact .chan__v{
  margin: 0 0 10px;
  font-family: var(--font-mono);
  font-size: clamp(15px,3.6vw,19px);
  letter-spacing: .02em;
  color: var(--white);
  word-break: break-word;
}

.page-contact .chan--hot .chan__v{
  color: var(--orange-soft);
}

.page-contact .chan--mint .chan__v{
  color: var(--mint);
}

.page-contact .chan__n{
  margin: 0;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--muted);
}

/* ---------- 退回原因 ---------- */
.page-contact .returns{
  display: grid;
  gap: clamp(22px,4vw,40px);
  align-items: start;
}

.page-contact .returns__title{
  margin: 8px 0 12px;
  font-family: var(--font-display);
  font-size: clamp(26px,4.6vw,40px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.01em;
  color: var(--white);
}

.page-contact .returns__text{
  max-width: 42ch;
  margin: 0;
  font-size: 15px;
  line-height: 1.85;
  color: var(--muted);
}

.page-contact .returns__list{
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-contact .ret{
  display: grid;
  gap: 6px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.page-contact .ret:last-child{
  border-bottom: 1px solid var(--line);
}

.page-contact .ret__title{
  margin: 0;
  font-size: 15.5px;
  font-weight: 700;
  color: var(--white);
}

.page-contact .ret__title::before{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 10px;
  border-radius: 2px;
  background: var(--amber);
  vertical-align: middle;
}

.page-contact .ret__text{
  margin: 0 0 0 16px;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--muted);
}

/* ---------- 相关入口 ---------- */
.page-contact .nextlinks{
  display: grid;
  gap: 10px;
}

.page-contact .nextlinks__item{
  display: grid;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--panel);
  text-decoration: none;
  transition: border-color .2s var(--ease), transform .2s var(--ease);
}

.page-contact .nextlinks__item:hover,
.page-contact .nextlinks__item:focus-visible{
  border-color: var(--orange);
  transform: translateY(-2px);
}

.page-contact .nextlinks__k{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--orange);
}

.page-contact .nextlinks__t{
  font-size: 14px;
  line-height: 1.6;
  color: var(--white);
}

/* ---------- 响应式 ---------- */
@media (min-width: 760px){
  .page-contact .fieldgrid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .page-contact .pace__grid{
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .page-contact .nextlinks{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (min-width: 980px){
  .page-contact .contact-hero__grid{
    grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr);
  }

  .page-contact .queue__grid{
    grid-template-columns: minmax(0,1.5fr) minmax(0,.9fr);
    align-items: start;
  }

  .page-contact .flow{
    grid-template-columns: minmax(0,1fr) minmax(0,400px);
  }

  .page-contact .regcard{
    position: sticky;
    top: calc(var(--topbar-h) + 28px);
  }

  .page-contact .channels{
    grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr);
  }

  .page-contact .returns{
    grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  }

  .page-contact .nextlinks{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}

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

  .page-contact .nextlinks__item:hover{
    transform: none;
  }
}
