.page-contact{
  --c-line:2px solid var(--ink-500);
  --c-line-ink:2px solid var(--ink-900);
  background:var(--paper);
  color:var(--ink-text);
}

/* ---------- 首屏 ---------- */
.page-contact .contact-hero{
  position:relative;
  background:var(--ink-900);
  color:var(--paper);
  padding:clamp(84px,13vw,150px) 0 clamp(40px,6vw,68px);
  overflow:hidden;
}
.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(var(--ink-500) 1px,transparent 1px);
  background-size:20px 20px;
  opacity:.55;
  pointer-events:none;
}
.page-contact .contact-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:var(--orange);
}
.page-contact .contact-hero .wrap{
  position:relative;
  z-index:1;
}
.page-contact .crumbs{
  display:flex;
  flex-wrap:wrap;
  gap:.5em;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.06em;
  color:var(--slate-400);
}
.page-contact .crumbs a{
  color:var(--slate-400);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .18s var(--ease),border-color .18s var(--ease);
}
.page-contact .crumbs a:hover,
.page-contact .crumbs a:focus-visible{
  color:var(--paper);
  border-bottom-color:var(--orange);
}
.page-contact .hero-grid{
  display:grid;
  gap:clamp(26px,5vw,44px);
  margin-top:clamp(22px,3.4vw,36px);
}
.page-contact h1{
  font-size:clamp(30px,5.4vw,58px);
  font-weight:900;
  line-height:1.12;
  letter-spacing:-.02em;
  margin:.26em 0 .5em;
  max-width:13em;
}
.page-contact .hero-lede{
  margin:0;
  max-width:34em;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.8;
  color:var(--paper);
}
.page-contact .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:clamp(22px,3vw,32px);
}
.page-contact .hero-side{
  border:2px solid var(--ink-500);
  background:var(--ink-700);
  padding:clamp(18px,2.4vw,24px);
  display:grid;
  gap:16px;
  align-self:start;
}
.page-contact .hero-side__title{
  margin:0;
  font-size:12px;
  letter-spacing:.14em;
  color:var(--orange-soft);
}
.page-contact .hero-side__row{
  display:grid;
  gap:5px;
  padding-bottom:14px;
  border-bottom:1px solid var(--ink-500);
}
.page-contact .hero-side__row:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.page-contact .hero-side__k{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--slate-400);
}
.page-contact .hero-side__v{
  font-size:15px;
  line-height:1.6;
  color:var(--paper);
  overflow-wrap:anywhere;
}

@media (min-width:900px){
  .page-contact .hero-grid{
    grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
    align-items:start;
  }
}

/* ---------- 章节通用 ---------- */
.page-contact .section{
  padding:clamp(48px,7vw,96px) 0;
}
.page-contact .section--tight{
  padding:clamp(32px,5vw,56px) 0 0;
}
.page-contact .sec-head{
  max-width:44em;
}
.page-contact .sec-head h2{
  font-size:clamp(24px,3.2vw,34px);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.01em;
  margin:.3em 0 .6em;
}
.page-contact .sec-lede{
  margin:0;
  font-size:16px;
  line-height:1.8;
  color:var(--ink-500);
}

/* ---------- 问题类型 ---------- */
.page-contact .route-cards{
  list-style:none;
  margin:clamp(26px,4vw,42px) 0 0;
  padding:0;
  display:grid;
  gap:22px;
}
.page-contact .route-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  background:var(--paper);
  border:var(--c-line-ink);
  box-shadow:var(--shadow-hard);
  padding:38px 22px 26px;
}
.page-contact .route-card:nth-child(1){ --k:var(--orange); }
.page-contact .route-card:nth-child(2){ --k:var(--cyan); }
.page-contact .route-card:nth-child(3){ --k:var(--slate-400); }
.page-contact .route-card__cut{
  position:absolute;
  top:-2px;
  right:-2px;
  background:var(--ink-900);
  color:var(--paper);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  padding:8px 16px 8px 24px;
  border-bottom:3px solid var(--k);
  clip-path:polygon(16px 0,100% 0,100% 100%,0 100%);
}
.page-contact .route-card h3{
  font-size:19px;
  font-weight:700;
  line-height:1.35;
  margin:0;
}
.page-contact .route-card__desc{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:var(--ink-500);
}
.page-contact .route-card__need{
  margin:6px 0 0;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--cyan-deep);
}
.page-contact .mini-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.page-contact .mini-list li{
  position:relative;
  padding-left:16px;
  font-size:14px;
  line-height:1.65;
}
.page-contact .mini-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  background:var(--k);
}

@media (min-width:880px){
  .page-contact .route-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }
  .page-contact .route-card:nth-child(2){ transform:translateY(14px); }
}

/* ---------- 直接联系 ---------- */
.page-contact #direct{
  background:var(--paper-2);
}
.page-contact .contact-grid{
  display:grid;
  gap:clamp(26px,4vw,44px);
  margin-top:clamp(24px,3.5vw,38px);
}
.page-contact .channel{
  border-top:var(--c-line-ink);
  padding:18px 0 22px;
  display:grid;
  gap:9px;
}
.page-contact .channel:last-child{
  border-bottom:var(--c-line-ink);
}
.page-contact .channel__key{
  font-size:12px;
  letter-spacing:.1em;
  color:var(--cyan-deep);
}
.page-contact .channel__val{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:clamp(16px,4.2vw,34px);
  line-height:1.3;
  letter-spacing:-.01em;
  color:var(--ink-900);
  overflow-wrap:anywhere;
  display:inline-block;
  border-bottom:3px solid transparent;
  transition:border-color .22s var(--ease),color .22s var(--ease);
}
.page-contact .channel:hover .channel__val,
.page-contact .channel:focus-within .channel__val{
  border-bottom-color:var(--orange);
  color:var(--ink-text);
}
.page-contact .channel__note{
  font-size:14px;
  line-height:1.75;
  color:var(--ink-500);
  max-width:40em;
}
.page-contact .contact-grid__side{
  display:grid;
  gap:18px;
  align-content:start;
}
.page-contact .addr{
  background:var(--paper);
  border-left:4px solid var(--ink-900);
  border-top:2px solid var(--ink-900);
  border-right:2px solid var(--ink-900);
  border-bottom:2px solid var(--ink-900);
  padding:20px;
}
.page-contact .addr--plain{
  border-left-width:4px;
}
.page-contact .addr__label{
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:.12em;
  color:var(--cyan-deep);
}
.page-contact .addr__text{
  margin:0;
  font-size:16px;
  font-weight:600;
  line-height:1.65;
  color:var(--ink-900);
}
.page-contact .addr__text--mono{
  font-family:var(--font-mono);
  letter-spacing:.04em;
}
.page-contact .addr__hint{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.7;
  color:var(--ink-500);
}

@media (min-width:920px){
  .page-contact .contact-grid{
    grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
    align-items:start;
  }
}

/* ---------- 写信示例 ---------- */
.page-contact .write-grid{
  display:grid;
  gap:clamp(24px,4vw,40px);
  margin-top:clamp(24px,3.5vw,38px);
}
.page-contact .mail-card{
  background:var(--ink-900);
  color:var(--paper);
  border:var(--c-line-ink);
  box-shadow:var(--shadow-hard);
  padding:clamp(20px,3vw,28px);
}
.page-contact .mail-card__head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid var(--ink-500);
  margin-bottom:18px;
}
.page-contact .mail-card__badge{
  background:var(--orange);
  color:var(--ink-900);
  font-weight:700;
  font-size:12px;
  letter-spacing:.1em;
  padding:5px 10px;
}
.page-contact .mail-card__hint{
  font-size:12px;
  letter-spacing:.12em;
  color:var(--paper);
}
.page-contact .mail-card__body{
  margin:0;
  display:grid;
  gap:14px;
}
.page-contact .mail-row dt{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--orange-soft);
  margin-bottom:4px;
}
.page-contact .mail-row dd{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:var(--paper);
  overflow-wrap:anywhere;
}
.page-contact .mail-row dd.mono{
  color:var(--cyan);
}
.page-contact .write-tips h3{
  font-size:19px;
  font-weight:700;
  line-height:1.4;
  margin:0 0 18px;
}
.page-contact .tips-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:18px;
}
.page-contact .tips-list li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding-top:16px;
  border-top:1px solid var(--paper-2);
}
.page-contact .tips-list__no{
  font-size:13px;
  font-weight:500;
  color:var(--orange);
  letter-spacing:.08em;
  padding-top:2px;
}
.page-contact .tips-list p{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:var(--ink-500);
}

@media (min-width:920px){
  .page-contact .write-grid{
    grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
    align-items:start;
  }
}

/* ---------- 合作流程（深色） ---------- */
.page-contact .section--dark{
  background:var(--ink-900);
  color:var(--paper);
}
.page-contact .sec-head--on-dark .sec-lede{
  color:var(--slate-400);
  font-size:16px;
}
.page-contact .sec-head--on-dark h2{
  color:var(--paper);
}
.page-contact .proc-grid{
  display:grid;
  gap:clamp(30px,5vw,48px);
  margin-top:clamp(28px,4vw,44px);
}
.page-contact .steps{
  list-style:none;
  margin:0;
  padding:0;
}
.page-contact .step{
  position:relative;
  margin-left:15px;
  padding:0 0 30px 30px;
  border-left:2px dashed var(--ink-500);
}
.page-contact .step:last-child{
  border-left-color:transparent;
  padding-bottom:0;
}
.page-contact .step__no{
  position:absolute;
  left:-16px;
  top:0;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  background:var(--ink-900);
  border:2px solid var(--cyan);
  color:var(--cyan);
  font-size:12px;
  font-weight:500;
  letter-spacing:.04em;
}
.page-contact .step__body h3{
  margin:2px 0 6px;
  font-size:19px;
  font-weight:700;
  color:var(--paper);
}
.page-contact .step__time{
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:.1em;
  color:var(--orange-soft);
}
.page-contact .step__body p:last-child{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:var(--slate-400);
}
.page-contact .proc-figure{
  margin:0;
  border:2px solid var(--ink-500);
  background:var(--ink-700);
}
.page-contact .proc-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-contact .proc-figure figcaption{
  padding:12px 16px;
  font-size:13px;
  line-height:1.7;
  color:var(--slate-400);
  border-top:1px solid var(--ink-500);
}

@media (min-width:900px){
  .page-contact .proc-grid{
    grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
    align-items:start;
  }
}

/* ---------- 回复时间 ---------- */
.page-contact .reply-grid{
  display:grid;
  gap:clamp(24px,4vw,40px);
  margin-top:clamp(24px,3.5vw,38px);
}
.page-contact .reply-track{
  border:var(--c-line-ink);
  background:var(--paper-2);
  padding:clamp(18px,3vw,24px);
  align-self:start;
}
.page-contact .reply-track__head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--ink-500);
  margin-bottom:12px;
}
.page-contact .data-track{
  height:18px;
  background:var(--paper);
  border:2px solid var(--ink-900);
  overflow:hidden;
}
.page-contact .reply-track .data-bar{
  height:100%;
  background:var(--orange);
  border-right:2px solid var(--ink-900);
}
.page-contact .reply-track__foot{
  margin:14px 0 0;
  font-size:13px;
  letter-spacing:.06em;
  color:var(--ink-900);
}
.page-contact .reply-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:20px;
}
.page-contact .reply-list li{
  padding-left:18px;
  border-left:3px solid var(--paper-2);
}
.page-contact .reply-list h3{
  margin:0 0 6px;
  font-size:17px;
  font-weight:700;
  color:var(--ink-900);
}
.page-contact .reply-list p{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:var(--ink-500);
}

@media (min-width:920px){
  .page-contact .reply-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
    align-items:start;
  }
}

/* ---------- 收尾 ---------- */
.page-contact .closing{
  display:grid;
  gap:0;
  border:var(--c-line-ink);
  background:var(--ink-900);
  color:var(--paper);
  overflow:hidden;
}
.page-contact .closing__figure{
  margin:0;
  border-bottom:3px solid var(--orange);
}
.page-contact .closing__figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-contact .closing__text{
  padding:clamp(22px,4vw,40px);
}
.page-contact .closing__text h2{
  font-size:clamp(22px,3vw,30px);
  font-weight:800;
  line-height:1.25;
  margin:0 0 .6em;
}
.page-contact .closing__text p{
  margin:0;
  font-size:16px;
  line-height:1.85;
  color:var(--paper);
  max-width:44em;
}
.page-contact .closing__text a{
  color:var(--cyan);
  text-decoration:none;
  border-bottom:2px solid var(--cyan-deep);
  transition:border-color .18s var(--ease),color .18s var(--ease);
}
.page-contact .closing__text a:hover,
.page-contact .closing__text a:focus-visible{
  color:var(--paper);
  border-bottom-color:var(--orange);
}

@media (min-width:820px){
  .page-contact .closing{
    grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
    align-items:stretch;
  }
  .page-contact .closing__figure{
    border-bottom:0;
    border-right:3px solid var(--orange);
  }
  .page-contact .closing__figure img{
    height:100%;
    object-fit:cover;
  }
}

/* ---------- 动效降级 ---------- */
@media (prefers-reduced-motion:reduce){
  .page-contact .channel__val,
  .page-contact .crumbs a,
  .page-contact .closing__text a{
    transition:none;
  }
  .page-contact .route-card:nth-child(2){
    transform:none;
  }
}
<<<END>>>
