/* ===== 联系与纠错 ===== */
.page-contact{
  --muted-ink:#4E5F55;
  --olive:#65751A;
  --paper-soft:#F5F8EC;
  --hair:#CBD5B8;
  --body-ink:#39473D;
  background:var(--ink);
  color:var(--paper);
}

.page-contact .crumbs{padding-top:22px;}
.page-contact .crumbs__link{color:var(--muted);}

/* ---------- 首屏 ---------- */
.contact-hero{
  position:relative;
  border-bottom:1px solid var(--grid);
  background:
    radial-gradient(120% 140% at 6% 0%, rgba(214,242,75,.10), rgba(6,23,19,0) 58%),
    var(--ink);
  overflow:hidden;
}
.contact-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(27,70,58,.55) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(27,70,58,.55) 1px, transparent 1px);
  background-size:96px 96px;
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), rgba(0,0,0,0) 88%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.85), rgba(0,0,0,0) 88%);
}
.contact-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  gap:34px;
  padding-top:clamp(38px,6vw,70px);
  padding-bottom:clamp(44px,6vw,80px);
}
@media (min-width:980px){
  .contact-hero__inner{grid-template-columns:1.4fr .85fr;align-items:end;gap:48px;}
}

.contact-hero__title{
  font-family:var(--font-display);
  font-size:clamp(34px,7vw,66px);
  line-height:1.03;
  letter-spacing:-.02em;
  font-weight:700;
  margin:.26em 0 .34em;
  color:var(--paper);
}
.contact-hero__lede{max-width:62ch;color:#C9D5CC;}
.contact-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}

.contact-hero__board{
  padding:22px 20px 18px;
  background:linear-gradient(180deg, rgba(58,46,112,.35), rgba(12,38,32,1) 70%);
}
.contact-hero__board .note{margin-top:14px;}

.qa-list{list-style:none;margin:0;padding:0;}
.qa-list__item{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:14px 0;
  border-bottom:1px solid var(--grid);
}
.qa-list__item:last-child{border-bottom:0;}
.qa-list__link{
  color:var(--paper);
  font-weight:600;
  font-size:16px;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.qa-list__link:hover,.qa-list__link:focus-visible{color:var(--accent);border-bottom-color:var(--accent);}
.qa-list__hint{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.03em;color:var(--muted);}

/* ---------- 区块通用 ---------- */
.contact-channels,
.contact-fix,
.contact-hours,
.contact-cite,
.contact-addr{padding:clamp(52px,7vw,92px) 0;}

.contact-sec__head{max-width:78ch;margin-bottom:clamp(24px,4vw,40px);}
.contact-sec__title{
  font-family:var(--font-display);
  font-size:clamp(30px,4.6vw,46px);
  line-height:1.06;
  letter-spacing:-.01em;
  font-weight:700;
  color:var(--paper);
  margin:.24em 0 .38em;
}
.contact-sec__lede{color:#C9D5CC;max-width:66ch;}

/* ---------- 三个渠道 ---------- */
.contact-channels{background:var(--surface);border-bottom:1px solid var(--grid);}
.contact-channels__figure{margin:0 0 clamp(30px,4vw,48px);}

.channel-plates{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:26px;
}
@media (min-width:880px){
  .channel-plates{grid-template-columns:repeat(3,1fr);gap:34px;}
}
.channel-plate{
  position:relative;
  padding:36px 26px 26px;
  border:1px solid var(--grid);
  background:var(--ink);
  transform:rotate(var(--rot,0deg));
  transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.channel-plate:nth-child(1){--rot:-.5deg;}
.channel-plate:nth-child(2){--rot:.35deg;}
.channel-plate:nth-child(3){--rot:-.25deg;}
.channel-plate:hover{border-color:var(--accent);transform:rotate(0deg);}

.channel-plate__no{
  position:absolute;
  top:-1px;
  left:-1px;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.08em;
  padding:4px 11px;
  background:var(--accent);
  color:var(--ink);
}
.channel-plate__name{
  font-family:var(--font-display);
  font-size:26px;
  line-height:1.1;
  font-weight:700;
  margin:6px 0 0;
  color:var(--paper);
}
.channel-plate__value{
  font-family:var(--font-mono);
  font-size:clamp(15px,2vw,17px);
  line-height:1.55;
  letter-spacing:.02em;
  color:var(--accent);
  margin:12px 0 16px;
  overflow-wrap:anywhere;
}
.channel-plate__fit{font-size:15.5px;line-height:1.65;color:#C9D5CC;margin:0;}
.channel-plate__note{
  margin:18px 0 0;
  padding-top:14px;
  border-top:1px solid var(--grid);
}

/* ---------- 数据纠错（浅色阅读底） ---------- */
.contact-fix{background:var(--paper);color:var(--paper-ink);border-bottom:1px solid var(--hair);}
.contact-fix .eyebrow{color:var(--olive);}
.contact-fix .contact-sec__title{color:var(--paper-ink);}
.contact-fix .lede,
.contact-fix .contact-sec__lede{color:var(--muted-ink);}
.contact-fix .note{color:var(--muted-ink);}

.contact-fix__top{display:grid;gap:28px;margin-bottom:clamp(26px,4vw,44px);}
@media (min-width:900px){
  .contact-fix__top{grid-template-columns:1fr 1fr;align-items:center;gap:44px;}
}
.contact-fix__intro .contact-sec__title{margin-bottom:.3em;}
.contact-fix__figure{margin:0;}
.contact-fix__figure .media-frame__caption{color:var(--muted-ink);}

.steps{list-style:none;margin:0;padding:0;display:grid;gap:22px;}
@media (min-width:820px){
  .steps{grid-template-columns:repeat(3,1fr);gap:26px;}
}
.step{
  background:var(--paper-soft);
  border:1px solid var(--hair);
  border-top:4px solid var(--olive);
  padding:24px 22px 22px;
}
.step__title{
  display:flex;
  align-items:baseline;
  gap:12px;
  font-family:var(--font-display);
  font-size:23px;
  line-height:1.15;
  font-weight:700;
  margin:0 0 12px;
  color:var(--paper-ink);
}
.step__no{
  font-family:var(--font-mono);
  font-size:32px;
  line-height:1;
  letter-spacing:0;
  color:var(--olive);
}
.step__body{font-size:15.5px;line-height:1.72;color:var(--body-ink);margin:0;}

.step__more{margin-top:16px;padding-top:12px;border-top:1px dashed var(--hair);}
.step__more summary{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  list-style:none;
  font-family:var(--font-mono);
  font-size:13.5px;
  letter-spacing:.02em;
  color:var(--olive);
}
.step__more summary::-webkit-details-marker{display:none;}
.step__more summary::after{content:"＋";margin-left:auto;}
.step__more[open] summary::after{content:"－";}
.step__more p{margin:10px 0 0;font-size:14.5px;line-height:1.7;color:var(--muted-ink);}

/* ---------- 服务时间 ---------- */
.contact-hours{background:var(--ink);border-bottom:1px solid var(--grid);}
.contact-hours__inner{display:grid;gap:34px;}
@media (min-width:920px){
  .contact-hours__inner{grid-template-columns:1.1fr .9fr;align-items:start;gap:48px;}
}
.contact-hours__lead .lede a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}
.contact-hours__lead .lede a:hover{color:var(--accent-dim);}

.fold{
  margin-top:28px;
  border:1px solid var(--grid);
  background:var(--surface);
}
.fold summary{
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
  list-style:none;
  padding:16px 20px;
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:.02em;
  color:var(--accent);
}
.fold summary::-webkit-details-marker{display:none;}
.fold summary::after{content:"＋";margin-left:auto;}
.fold[open] summary::after{content:"－";}
.fold p{margin:0;padding:0 20px 20px;font-size:15px;line-height:1.75;color:#C9D5CC;}

.contact-hours__board{border:1px solid var(--grid);background:var(--surface);}
.hours-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
  padding:17px 20px;
  border-bottom:1px solid var(--grid);
}
.hours-row:last-child{border-bottom:0;}
.hours-row .score__num{font-size:clamp(20px,2.6vw,26px);color:var(--accent);white-space:nowrap;}
.hours-row__label{font-size:14.5px;line-height:1.5;color:var(--muted);text-align:right;}

/* ---------- 引用与协作 ---------- */
.contact-cite{
  background:
    linear-gradient(160deg, rgba(6,23,19,.55), rgba(6,23,19,0) 60%),
    var(--archive);
}
.contact-cite__inner{display:grid;gap:32px;}
@media (min-width:900px){
  .contact-cite__inner{grid-template-columns:1.2fr .8fr;align-items:start;gap:48px;}
}
.contact-cite .eyebrow{color:var(--accent);}
.contact-cite__title{color:var(--paper);}
.contact-cite__lede{color:rgba(238,242,231,.82);max-width:56ch;}

.cite-list{list-style:none;margin:22px 0 0;padding:0;}
.cite-list li{
  padding:13px 0;
  border-bottom:1px solid rgba(238,242,231,.18);
  font-size:15.5px;
  line-height:1.6;
  color:var(--paper);
}
.cite-list li::before{
  content:"—";
  font-family:var(--font-mono);
  color:var(--accent);
  margin-right:10px;
}

.cite-card{
  border:1px solid rgba(238,242,231,.26);
  background:rgba(6,23,19,.4);
  padding:24px 22px;
}
.cite-card__sample{
  font-family:var(--font-mono);
  font-size:15px;
  line-height:1.65;
  letter-spacing:.02em;
  color:var(--accent);
  margin:12px 0 14px;
  overflow-wrap:anywhere;
}
.cite-card .note{color:rgba(238,242,231,.72);}
.cite-card .note a{color:var(--paper);text-decoration:underline;text-underline-offset:3px;}
.cite-card .note a:hover{color:var(--accent);}

/* ---------- 通信地址 ---------- */
.contact-addr{background:var(--paper);color:var(--paper-ink);}
.contact-addr .eyebrow{color:var(--olive);}
.contact-addr .contact-sec__title{color:var(--paper-ink);}
.contact-addr .note{color:var(--muted-ink);}

.contact-addr__inner{display:grid;gap:32px;}
@media (min-width:880px){
  .contact-addr__inner{grid-template-columns:1fr .85fr;align-items:center;gap:52px;}
}
.contact-addr__text p{font-size:15.5px;line-height:1.72;color:var(--body-ink);margin:0 0 14px;}
.contact-addr__value{
  font-family:var(--font-mono);
  font-size:clamp(16px,2.4vw,19px);
  line-height:1.6;
  letter-spacing:.01em;
  color:var(--paper-ink);
  border-left:4px solid var(--olive);
  padding-left:14px;
  margin:8px 0 20px;
  overflow-wrap:anywhere;
}
.contact-addr__diagram{display:flex;justify-content:flex-start;}
@media (min-width:880px){
  .contact-addr__diagram{justify-content:flex-end;}
}
.addr-map{width:100%;max-width:400px;height:auto;display:block;}
.addr-map__lines rect{stroke:var(--hair);}
.addr-map__dot{fill:var(--olive);}
.addr-map__labels text{
  fill:var(--muted-ink);
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.02em;
}
.addr-map__pin{fill:var(--paper-ink);font-family:var(--font-mono);font-size:14px;}

/* ---------- 降低动态偏好 ---------- */
@media (prefers-reduced-motion: reduce){
  .page-contact .channel-plate,
  .page-contact .qa-list__link,
  .page-contact .step__more summary,
  .page-contact .fold summary{transition:none;}
  .page-contact .channel-plate{transform:none;}
}
