.page-contact {
  --ct-line: rgba(47, 214, 232, .28);
  --ct-line-soft: rgba(143, 166, 196, .26);
  --ct-cloud-ink: #0B1D3A;
  --ct-soft-text: #4a5d78;
  --ct-on-dark: #C3D4E6;
  --ct-shadow: 0 18px 40px rgba(7, 17, 31, .38);
}

/* ---------- 首屏 ---------- */
.page-contact .ct-hero {
  position: relative;
  overflow: hidden;
  padding: calc(var(--band-pad) * .55) 0 var(--band-pad);
  background:
    radial-gradient(110% 75% at 84% 4%, rgba(47, 214, 232, .18), transparent 60%),
    radial-gradient(90% 60% at 4% 98%, rgba(92, 255, 196, .10), transparent 62%),
    linear-gradient(180deg, #07111F 0%, #0B1D3A 100%);
  color: var(--cloud);
}

.page-contact .ct-crumb {
  margin: 0 0 clamp(1.4rem, 3.5vw, 2.2rem);
}

.page-contact .ct-crumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  letter-spacing: .06em;
  color: var(--steel);
}

.page-contact .ct-crumb li + li::before {
  content: "/";
  margin-right: .5rem;
  color: rgba(143, 166, 196, .5);
}

.page-contact .ct-crumb a {
  color: var(--cloud);
  text-decoration: none;
  border-bottom: 1px solid rgba(47, 214, 232, .4);
}

.page-contact .ct-crumb a:hover {
  color: var(--cyan);
}

.page-contact .ct-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.6rem, 4vw, 3rem);
}

.page-contact .ct-hero__aside {
  display: grid;
  gap: var(--gap);
  align-content: start;
}

.page-contact .ct-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .95rem;
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .16em;
  color: var(--cyan);
}

.page-contact .ct-eyebrow__dot {
  width: 8px;
  height: 8px;
  background: var(--mint);
  box-shadow: 0 0 0 4px rgba(92, 255, 196, .16);
  animation: ct-pulse 2.6s ease-in-out infinite;
}

@keyframes ct-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .3; }
}

.page-contact .ct-title {
  margin: 0 0 clamp(1rem, 2.6vw, 1.4rem);
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(2rem, 6.4vw, 3.8rem);
  line-height: 1.08;
  letter-spacing: -.02em;
  color: var(--cloud);
}

.page-contact .ct-lede {
  margin: 0;
  max-width: 52ch;
  font-size: clamp(.98rem, 1.7vw, 1.08rem);
  line-height: 1.85;
  color: var(--ct-on-dark);
}

.page-contact .ct-channels {
  list-style: none;
  margin: clamp(1.6rem, 4vw, 2.4rem) 0 0;
  padding: 0;
  display: grid;
  gap: 1px;
  grid-template-columns: minmax(0, 1fr);
  background: var(--ct-line-soft);
  border: 1px solid var(--ct-line-soft);
}

.page-contact .ct-channel {
  display: grid;
  gap: .3rem;
  padding: .95rem 1.05rem;
  background: rgba(11, 29, 58, .92);
}

.page-contact .ct-channel--key {
  background: linear-gradient(120deg, rgba(19, 42, 74, .96), rgba(11, 29, 58, .96));
  box-shadow: inset 3px 0 0 var(--mint);
}

.page-contact .ct-channel__key {
  margin: 0;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .16em;
  color: var(--steel);
}

.page-contact .ct-channel__val {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--cloud);
  word-break: break-word;
}

.page-contact .ct-channel__val--mono {
  font-family: var(--font-mono);
  letter-spacing: .01em;
}

.page-contact .ct-channel__val--addr {
  font-size: .95rem;
}

.page-contact .ct-mail {
  font-family: var(--font-mono);
  font-size: clamp(.92rem, 2.4vw, 1.08rem);
  color: var(--mint);
  text-decoration: none;
  border-bottom: 1px dashed rgba(92, 255, 196, .55);
  word-break: break-all;
}

.page-contact .ct-mail:hover {
  color: var(--cloud);
  border-bottom-color: var(--cloud);
}

.page-contact .ct-channel__note {
  margin: 0;
  font-size: .8rem;
  line-height: 1.6;
  color: var(--steel);
}

.page-contact .ct-hero__figure {
  margin: 0;
  border: 1px solid var(--ct-line);
  background: rgba(7, 17, 31, .55);
  box-shadow: var(--ct-shadow);
}

.page-contact .ct-hero__figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.92) contrast(1.06);
}

.page-contact .figure__caption {
  display: block;
  padding: .55rem .8rem;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .08em;
  color: var(--steel);
}

.page-contact .ct-prep {
  padding: clamp(1.05rem, 2.4vw, 1.5rem);
  border-left: 3px solid var(--gold);
  color: var(--ct-cloud-ink);
}

.page-contact .ct-prep__title {
  margin: 0 0 .8rem;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.02rem;
  letter-spacing: -.005em;
  color: var(--ct-cloud-ink);
}

.page-contact .ct-prep__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .5rem;
}

.page-contact .ct-prep__list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .6rem;
  align-items: baseline;
  padding-bottom: .45rem;
  border-bottom: 1px dashed rgba(11, 29, 58, .16);
  font-size: .9rem;
  line-height: 1.55;
}

.page-contact .ct-prep__list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.page-contact .ct-prep__n {
  font-family: var(--font-mono);
  font-size: .78rem;
  color: var(--amber-deep);
}

/* ---------- 通用标题组 ---------- */
.page-contact .ct-head {
  display: grid;
  gap: .7rem;
  max-width: 64ch;
  margin-bottom: clamp(1.6rem, 4vw, 2.6rem);
}

.page-contact .ct-kicker {
  margin: 0;
  font-family: var(--font-mono);
  font-size: .74rem;
  letter-spacing: .2em;
  color: var(--amber-deep);
}

.page-contact .ct-kicker--cyan {
  color: var(--cyan);
}

.page-contact .ct-h2 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.55rem, 4.2vw, 2.5rem);
  line-height: 1.16;
  letter-spacing: -.015em;
  color: var(--ct-cloud-ink);
}

.page-contact .ct-h2--light {
  color: var(--cloud);
}

.page-contact .ct-sub {
  margin: 0;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--ct-soft-text);
}

.page-contact .ct-head--dark .ct-sub {
  color: var(--steel);
}

/* ---------- 提交准备 ---------- */
.page-contact .ct-prepband {
  padding: var(--band-pad) 0;
  background: linear-gradient(180deg, #F3F7FB 0%, #E9F1F9 100%);
}

.page-contact .ct-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  background: rgba(11, 29, 58, .12);
  border: 1px solid rgba(11, 29, 58, .12);
}

.page-contact .ct-note {
  display: grid;
  gap: .5rem;
  align-content: start;
  padding: clamp(1.1rem, 2.4vw, 1.5rem);
  background: #F3F7FB;
}

.page-contact .ct-note__n {
  font-family: var(--font-mono);
  font-size: .78rem;
  letter-spacing: .14em;
  color: var(--amber-deep);
}

.page-contact .ct-note__t {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.06rem;
  line-height: 1.35;
  letter-spacing: -.005em;
  color: var(--ct-cloud-ink);
}

.page-contact .ct-note p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.75;
  color: var(--ct-soft-text);
}

/* ---------- 处理流程 ---------- */
.page-contact .ct-flowband {
  padding: var(--band-pad) 0;
  background:
    radial-gradient(100% 70% at 10% 0%, rgba(47, 214, 232, .14), transparent 62%),
    linear-gradient(180deg, #132A4A 0%, #0B1D3A 100%);
  color: var(--cloud);
}

.page-contact .ct-flow__figure {
  margin: 0 0 clamp(1.6rem, 4vw, 2.4rem);
  border: 1px solid var(--ct-line);
  background: rgba(7, 17, 31, .55);
  box-shadow: var(--ct-shadow);
}

.page-contact .ct-flow__figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.94) contrast(1.05);
}

.page-contact .ct-track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  background: var(--ct-line-soft);
  border: 1px solid var(--ct-line-soft);
}

.page-contact .ct-step {
  position: relative;
  display: grid;
  gap: .55rem;
  align-content: start;
  padding: clamp(1.1rem, 2.4vw, 1.6rem);
  background: linear-gradient(180deg, rgba(11, 29, 58, .95), rgba(7, 17, 31, .95));
  transition: background-color .25s ease;
}

.page-contact .ct-step::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, rgba(47, 214, 232, .38), rgba(92, 255, 196, .38));
  transition: background .25s ease;
}

.page-contact .ct-step:hover::before {
  background: linear-gradient(90deg, var(--cyan), var(--mint));
}

.page-contact .ct-step__num {
  font-family: var(--font-mono);
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: -.03em;
  color: var(--cyan);
}

.page-contact .ct-step__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.14rem;
  color: var(--cloud);
}

.page-contact .ct-step p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.75;
  color: var(--ct-on-dark);
}

/* ---------- 合作与建议 ---------- */
.page-contact .ct-coopband {
  padding: var(--band-pad) 0;
  background: linear-gradient(180deg, #F3F7FB 0%, #E9F1F9 100%);
}

.page-contact .ct-coop {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  background: rgba(11, 29, 58, .12);
  border: 1px solid rgba(11, 29, 58, .12);
}

.page-contact .ct-fold {
  background: #F3F7FB;
}

.page-contact .ct-fold summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  display: grid;
  gap: .3rem;
  padding: 1.05rem clamp(1rem, 2.6vw, 1.5rem);
  padding-right: 3.2rem;
}

.page-contact .ct-fold summary::-webkit-details-marker {
  display: none;
}

.page-contact .ct-fold summary::after {
  content: "+";
  position: absolute;
  right: clamp(1rem, 2.6vw, 1.5rem);
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-mono);
  font-size: 1.4rem;
  line-height: 1;
  color: var(--amber-deep);
  transition: transform .25s ease;
}

.page-contact .ct-fold[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}

.page-contact .ct-fold__t {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.08rem;
  color: var(--ct-cloud-ink);
}

.page-contact .ct-fold__hint {
  font-size: .82rem;
  color: #64778f;
}

.page-contact .ct-fold__body {
  padding: 0 clamp(1rem, 2.6vw, 1.5rem) 1.25rem;
}

.page-contact .ct-fold__body p {
  margin: 0;
  font-size: .93rem;
  line-height: 1.8;
  color: var(--ct-soft-text);
}

/* ---------- 服务时间 ---------- */
.page-contact .ct-hours {
  padding: var(--band-pad) 0;
  background:
    radial-gradient(90% 70% at 88% 0%, rgba(92, 255, 196, .10), transparent 64%),
    linear-gradient(180deg, #0B1D3A 0%, #132A4A 100%);
  color: var(--cloud);
}

.page-contact .ct-hours__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.6rem, 4vw, 3rem);
}

.page-contact .ct-clock {
  display: flex;
  align-items: baseline;
  gap: .35rem;
  margin: .6rem 0 .5rem;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: clamp(2.2rem, 9vw, 4.2rem);
  line-height: 1;
  letter-spacing: -.035em;
  color: var(--mint);
}

.page-contact .ct-clock__sep {
  font-size: .45em;
  color: var(--steel);
}

.page-contact .ct-clock__cap {
  margin: 0;
  font-size: .88rem;
  letter-spacing: .04em;
  color: var(--steel);
}

.page-contact .ct-timing {
  list-style: none;
  margin: clamp(1rem, 2.5vw, 1.5rem) 0 0;
  padding: 0;
  display: grid;
  gap: 1px;
  background: var(--ct-line-soft);
  border: 1px solid var(--ct-line-soft);
}

.page-contact .ct-timing li {
  display: grid;
  gap: .25rem;
  padding: .85rem 1rem;
  background: rgba(7, 17, 31, .72);
}

.page-contact .ct-timing__k {
  font-family: var(--font-mono);
  font-size: .78rem;
  letter-spacing: .1em;
  color: var(--cyan);
}

.page-contact .ct-timing__v {
  font-size: .93rem;
  line-height: 1.7;
  color: var(--ct-on-dark);
}

.page-contact .ct-hours__hint {
  margin: clamp(1rem, 2.5vw, 1.4rem) 0 0;
  font-size: .9rem;
  line-height: 1.8;
  color: var(--steel);
}

.page-contact .ct-hours__hint a {
  color: var(--mint);
  text-decoration: none;
  border-bottom: 1px dashed rgba(92, 255, 196, .5);
}

.page-contact .ct-hours__hint a:hover {
  color: var(--cloud);
  border-bottom-color: var(--cloud);
}

/* ---------- 备案与运营 ---------- */
.page-contact .ct-legal {
  padding: var(--band-pad) 0;
  background: linear-gradient(180deg, #07111F 0%, #050C16 100%);
  color: var(--cloud);
}

.page-contact .ct-legal__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 2.6rem);
}

.page-contact .ct-legal__text {
  margin: .9rem 0 0;
  max-width: 46ch;
  font-size: .95rem;
  line-height: 1.85;
  color: var(--ct-on-dark);
}

.page-contact .ct-facts {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  background: var(--ct-line-soft);
  border: 1px solid var(--ct-line-soft);
}

.page-contact .ct-fact {
  display: grid;
  gap: .3rem;
  padding: .9rem 1.05rem;
  background: rgba(11, 29, 58, .85);
}

.page-contact .ct-fact__k {
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .16em;
  color: var(--steel);
}

.page-contact .ct-fact__v {
  margin: 0;
  font-size: .96rem;
  line-height: 1.65;
  color: var(--cloud);
  word-break: break-word;
}

.page-contact .ct-related {
  margin-top: clamp(1.5rem, 3.5vw, 2.2rem);
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.page-contact .ct-related a {
  font-family: var(--font-mono);
  font-size: .8rem;
  letter-spacing: .04em;
  padding: .5rem .88rem;
  color: var(--cloud);
  text-decoration: none;
  border: 1px solid var(--ct-line);
  background: rgba(19, 42, 74, .6);
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.page-contact .ct-related a:hover {
  color: var(--mint);
  border-color: var(--mint);
  background: rgba(92, 255, 196, .08);
}

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

  .page-contact .ct-timing li {
    grid-template-columns: minmax(0, 150px) minmax(0, 1fr);
    gap: 1rem;
    align-items: baseline;
  }

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

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

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

@media (min-width: 960px) {
  .page-contact .ct-hero__grid {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
    align-items: start;
  }

  .page-contact .ct-hours__grid {
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: start;
  }

  .page-contact .ct-legal__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    align-items: start;
  }
}

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

@media (prefers-reduced-motion: reduce) {
  .page-contact .ct-eyebrow__dot {
    animation: none;
  }

  .page-contact .ct-step,
  .page-contact .ct-fold summary::after,
  .page-contact .ct-related a {
    transition: none;
  }
}
