.page-contact{
  --pc-col:640px;
  background:var(--ink-900);
  color:var(--paper);
}

/* ---------- 首屏 ---------- */
.page-contact .contact-hero{
  position:relative;
  padding:calc(var(--header-h) + 28px) 0 40px;
  overflow:hidden;
}
.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  top:-180px;
  left:-12%;
  width:124%;
  height:640px;
  background:radial-gradient(560px 420px at 24% 34%,rgba(242,160,60,.18),rgba(10,12,17,0) 72%);
  pointer-events:none;
}
.page-contact .contact-hero .breadcrumb{
  position:relative;
  font-size:var(--fs-12);
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:28px;
}
.page-contact .contact-hero .breadcrumb a{
  color:var(--muted);
  text-decoration:none;
}
.page-contact .contact-hero .breadcrumb a:hover{color:var(--gold-300);}
.page-contact .contact-hero-grid{
  position:relative;
  display:grid;
  gap:32px;
}
.page-contact .contact-hero-main{max-width:660px;}
.page-contact .contact-hero h1{
  margin:14px 0 22px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(2rem,7.4vw,3.5rem);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-contact .gold-rule{
  display:block;
  width:98px;
  height:3px;
  border-radius:var(--radius-pill);
  background:linear-gradient(90deg,var(--gold-500),rgba(242,160,60,0));
  margin:0 0 24px;
}
.page-contact .contact-lede{
  margin:0 0 22px;
  max-width:34em;
  font-size:var(--fs-18);
  line-height:1.85;
  color:rgba(244,241,234,.82);
}
.page-contact .contact-status{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.04em;
  color:var(--muted);
}
.page-contact .status-dot{
  flex:none;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--volt-400);
  box-shadow:0 0 0 4px rgba(79,195,247,.16);
}
.page-contact .contact-hero-figure{
  margin:0;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  overflow:hidden;
  background:var(--ink-800);
  box-shadow:var(--shadow-lift);
}
.page-contact .contact-hero-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

/* ---------- 锚点条 ---------- */
.page-contact .contact-anchors{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(18,22,31,.72);
}
.page-contact .anchor-list{
  display:flex;
  gap:8px;
  margin:0;
  padding:12px 0;
  list-style:none;
  overflow-x:auto;
  scrollbar-width:none;
}
.page-contact .anchor-list::-webkit-scrollbar{display:none;}
.page-contact .anchor-link{
  display:inline-block;
  white-space:nowrap;
  padding:6px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  font-size:var(--fs-12);
  letter-spacing:.1em;
  color:var(--muted);
  text-decoration:none;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.page-contact .anchor-link:hover,
.page-contact .anchor-link:focus-visible{
  color:var(--gold-300);
  border-color:var(--gold-700);
  outline:none;
}

/* ---------- 区块骨架 ---------- */
.page-contact .contact-sec{
  padding:52px 0;
  border-bottom:1px solid rgba(42,50,66,.65);
}
.page-contact .contact-col{max-width:var(--pc-col);}
.page-contact .contact-sec .index-row{margin-bottom:18px;}
.page-contact .contact-h2{
  margin:0 0 16px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.5rem,5.4vw,2.25rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-contact .contact-text{
  margin:0 0 22px;
  max-width:36em;
  font-size:var(--fs-16);
  line-height:1.85;
  color:rgba(244,241,234,.78);
}
.page-contact .pc-link{
  color:var(--volt-400);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-contact .pc-link:hover{color:var(--gold-300);}

/* ---------- 类型筛选 ---------- */
.page-contact .filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
}
.page-contact .filter-pill{
  padding:8px 16px;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  background:transparent;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:var(--fs-14);
  cursor:pointer;
  transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);
}
.page-contact .filter-pill:hover{
  color:var(--gold-300);
  border-color:var(--gold-700);
}
.page-contact .filter-pill[aria-pressed="true"],
.page-contact .filter-pill.is-active{
  background:var(--gold-500);
  border-color:var(--gold-500);
  color:var(--ink-900);
  font-weight:700;
}
.page-contact .filter-pill:focus-visible{
  outline:2px solid var(--volt-400);
  outline-offset:2px;
}
.page-contact .type-list{
  display:grid;
  gap:14px;
}
.page-contact .type-card{
  padding:22px;
  background:var(--ink-800);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  transition:transform .22s var(--ease),border-color .22s var(--ease);
}
.page-contact .type-card:hover{
  transform:translateY(-2px);
  border-color:var(--gold-500);
}
.page-contact .type-card.is-filtered{display:none;}
.page-contact .type-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.page-contact .type-name{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--fs-18);
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-contact .type-sub{
  margin:8px 0 16px;
  font-size:var(--fs-14);
  line-height:1.8;
  color:rgba(244,241,234,.72);
}
.page-contact .type-mail{
  margin:0 0 14px;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:var(--fs-14);
  letter-spacing:-.01em;
  color:var(--volt-400);
  word-break:break-all;
  user-select:all;
}
.page-contact .type-needs{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:7px;
}
.page-contact .type-needs li{
  position:relative;
  padding-left:18px;
  font-size:var(--fs-14);
  line-height:1.7;
  color:rgba(244,241,234,.7);
}
.page-contact .type-needs li::before{
  content:"";
  position:absolute;
  left:0;
  top:.66em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--gold-500);
}

/* ---------- 材料清单 ---------- */
.page-contact .material-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:0;
}
.page-contact .material-item{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:14px;
  padding:18px 0;
  border-top:1px solid rgba(42,50,66,.75);
}
.page-contact .material-num{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:var(--fs-14);
  letter-spacing:.08em;
  color:var(--gold-500);
  line-height:1.6;
}
.page-contact .material-title{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--fs-16);
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-contact .material-text{
  margin:0;
  font-size:var(--fs-14);
  line-height:1.85;
  color:rgba(244,241,234,.72);
}

/* ---------- 联系方式 ---------- */
.page-contact .reach-list{
  display:grid;
  gap:14px;
}
.page-contact .reach-item{
  padding:20px;
  background:var(--ink-800);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
}
.page-contact .reach-item--key{
  border-color:rgba(242,160,60,.48);
  background:linear-gradient(160deg,rgba(242,160,60,.12),rgba(18,22,31,.96) 62%);
}
.page-contact .reach-label{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold-300);
}
.page-contact .reach-value{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:clamp(1.0625rem,4.4vw,1.75rem);
  line-height:1.35;
  letter-spacing:-.02em;
  color:var(--paper);
  word-break:break-all;
  user-select:all;
}
.page-contact .reach-note{
  margin:0;
  font-size:var(--fs-14);
  line-height:1.8;
  color:var(--muted);
}

/* ---------- 寄送 ---------- */
.page-contact .visit-grid{
  display:grid;
  gap:26px;
  max-width:940px;
}
.page-contact .visit-address{
  margin:0 0 16px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--fs-24);
  line-height:1.45;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-contact .visit-figure{
  margin:0;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  overflow:hidden;
  background:var(--ink-700);
}
.page-contact .visit-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}

/* ---------- 回应节奏 ---------- */
.page-contact .reply-flow{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:26px;
  border-left:1px solid var(--line);
}
.page-contact .reply-step{
  position:relative;
  padding-left:24px;
}
.page-contact .reply-step::before{
  content:"";
  position:absolute;
  left:-6px;
  top:6px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--gold-500);
  box-shadow:0 0 0 4px rgba(242,160,60,.16);
}
.page-contact .reply-time{
  display:block;
  margin-bottom:6px;
  font-family:var(--font-mono);
  font-size:var(--fs-12);
  letter-spacing:.12em;
  color:var(--volt-400);
}

/* ---------- 合作 ---------- */
.page-contact .coop-list{
  display:grid;
  gap:14px;
  margin-bottom:22px;
}
.page-contact .coop-item{
  padding:20px;
  background:var(--ink-800);
  border:1px solid var(--line);
  border-left:3px solid var(--gold-700);
  border-radius:var(--radius-md);
}
.page-contact .coop-item .tag{margin-bottom:10px;}

/* ---------- 折叠问答 ---------- */
.page-contact .faq-list{
  border-bottom:1px solid rgba(42,50,66,.75);
}
.page-contact .faq-item{
  border-top:1px solid rgba(42,50,66,.75);
}
.page-contact .faq-item summary{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:18px 0;
  list-style:none;
  cursor:pointer;
  font-size:var(--fs-16);
  font-weight:700;
  line-height:1.6;
  color:var(--paper);
}
.page-contact .faq-item summary::-webkit-details-marker{display:none;}
.page-contact .faq-item summary::before{
  content:"+";
  flex:none;
  font-family:var(--font-mono);
  font-size:var(--fs-18);
  line-height:1.4;
  color:var(--gold-500);
}
.page-contact .faq-item[open] summary::before{content:"–";}
.page-contact .faq-item summary:focus-visible{
  outline:2px solid var(--volt-400);
  outline-offset:2px;
}
.page-contact .faq-a{
  margin:0 0 20px;
  padding-left:28px;
  max-width:36em;
  font-size:var(--fs-14);
  line-height:1.85;
  color:rgba(244,241,234,.75);
}

/* ---------- 收尾 ---------- */
.page-contact .contact-end{
  padding:56px 0 68px;
}
.page-contact .contact-end-line{
  height:2px;
  border-radius:var(--radius-pill);
  background:linear-gradient(90deg,var(--gold-500),rgba(242,160,60,.10) 68%,rgba(242,160,60,0));
  margin-bottom:24px;
}
.page-contact .contact-end-text{
  margin:0 0 24px;
  font-family:var(--font-display);
  font-weight:900;
  font-size:var(--fs-24);
  line-height:1.4;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-contact .contact-end-btn{
  display:inline-block;
  text-decoration:none;
}

/* ---------- 平板及以上 ---------- */
@media (min-width:768px){
  .page-contact .contact-hero{padding:calc(var(--header-h) + 44px) 0 56px;}
  .page-contact .contact-sec{padding:64px 0;}
  .page-contact .type-list{gap:16px;}
  .page-contact .type-card{padding:24px;}
  .page-contact .material-item{grid-template-columns:56px 1fr;gap:20px;padding:20px 0;}
  .page-contact .reach-value{font-size:var(--fs-24);}
  .page-contact .visit-grid{
    grid-template-columns:minmax(0,1fr) 260px;
    align-items:center;
    gap:40px;
  }
  .page-contact .coop-list{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-contact .contact-end{padding:72px 0 88px;}
}

/* ---------- 桌面 ---------- */
@media (min-width:1024px){
  .page-contact .contact-hero{padding:calc(var(--header-h) + 64px) 0 72px;}
  .page-contact .contact-hero-grid{
    grid-template-columns:minmax(0,1fr) 300px;
    align-items:end;
    gap:56px;
  }
  .page-contact .contact-hero-figure{transform:translateY(8px);}
  .page-contact .contact-sec{padding:76px 0;}
  .page-contact .reach-value{font-size:var(--fs-32);line-height:1.2;}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .type-card:hover,
  .page-contact .contact-hero-figure{transform:none;}
}
