.page-contact{
  --pc-line:1px solid rgba(138,140,134,.34);
  --pc-soft:1px solid rgba(138,140,134,.2);
  background:var(--navy);
  color:var(--cream);
  overflow-x:hidden;
}

.page-contact .section{
  padding-block:clamp(40px,7vw,88px);
  border-top:var(--pc-line);
}

/* ---------- 首屏 ---------- */
.page-contact .pc-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(20px,4vw,36px) 0 clamp(36px,6vw,72px);
  border-bottom:var(--pc-line);
}
.page-contact .pc-hero-checks{
  position:absolute;
  top:-8%;
  right:-6%;
  width:clamp(200px,38vw,460px);
  height:clamp(200px,38vw,460px);
  background:var(--checker);
  background-size:46px 46px;
  opacity:.13;
  transform:rotate(-8deg);
  pointer-events:none;
}
.page-contact .pc-hero-grid{
  position:relative;
  display:grid;
  gap:clamp(22px,4vw,44px);
  align-items:center;
  margin-top:clamp(20px,4vw,40px);
}
.page-contact .pc-hero-copy .annotation{
  color:var(--stone);
  margin:0 0 14px;
}
.page-contact h1{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(28px,5.2vw,56px);
  line-height:1.04;
  letter-spacing:-.04em;
  color:var(--white);
  margin:0;
  text-wrap:balance;
}
.page-contact .pc-hero-lead{
  max-width:34em;
  margin:16px 0 0;
  font-size:clamp(15px,1.6vw,17px);
  line-height:1.72;
  color:rgba(244,239,228,.86);
}
.page-contact .pc-hero-note{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.65;
  color:var(--stone);
}
.page-contact .pc-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:clamp(20px,3vw,30px);
}
.page-contact .pc-hero-figure{
  position:relative;
  margin:0;
  border:var(--pc-line);
  border-left:6px solid var(--coral);
  background:var(--navy-2);
}
.page-contact .pc-hero-figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:14/9;
  object-fit:cover;
}

/* ---------- 主布局 ---------- */
.page-contact .pc-layout{
  display:grid;
  gap:clamp(26px,4vw,48px);
}

/* 联系卡片 */
.page-contact .pc-card{
  position:relative;
  overflow:hidden;
  background:var(--navy-2);
  border:var(--pc-line);
  padding:clamp(24px,3.4vw,32px);
  padding-top:clamp(30px,4vw,38px);
}
.page-contact .pc-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:10px;
  background:var(--checker);
  background-size:22px 22px;
}
.page-contact .pc-card-eyebrow{
  margin:0;
  font-size:11px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--cyan);
}
.page-contact .pc-card-title{
  margin:8px 0 22px;
  font-size:clamp(20px,2.4vw,24px);
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--white);
}
.page-contact .pc-contacts{
  margin:0;
}
.page-contact .pc-contact + .pc-contact{
  margin-top:18px;
  padding-top:18px;
  border-top:var(--pc-soft);
}
.page-contact .pc-contact dt{
  font-size:11px;
  letter-spacing:.28em;
  color:var(--stone);
}
.page-contact .pc-contact dd{
  margin:7px 0 0;
  font-family:var(--font-num);
  font-weight:600;
  font-size:clamp(15px,2vw,20px);
  line-height:1.3;
  color:var(--cyan);
  overflow-wrap:anywhere;
  word-break:break-word;
}
.page-contact .pc-contact--addr dd{
  font-family:var(--font-sans);
  font-weight:500;
  font-size:14px;
  line-height:1.7;
  color:var(--cream);
}
.page-contact .pc-card-note{
  margin:22px 0 0;
  padding-top:16px;
  border-top:var(--pc-soft);
  font-size:13px;
  line-height:1.72;
  color:rgba(244,239,228,.72);
}
.page-contact .pc-card-btn{
  margin-top:20px;
  width:100%;
  justify-content:center;
}

/* 诉求清单 */
.page-contact .pc-asks .annotation{
  margin:0 0 12px;
  color:var(--stone);
}
.page-contact .pc-asks-title{
  margin:0;
  font-size:clamp(24px,3.4vw,36px);
  font-weight:900;
  line-height:1.1;
  letter-spacing:-.03em;
  color:var(--white);
}
.page-contact .pc-asks-list{
  position:relative;
  margin-top:20px;
}
.page-contact .pc-asks-list::before{
  content:"";
  position:absolute;
  left:15px;
  top:16px;
  bottom:16px;
  width:1px;
  background:rgba(138,140,134,.4);
}
.page-contact .pc-ask{
  position:relative;
  padding:22px 0 22px 46px;
  border-top:var(--pc-soft);
}
.page-contact .pc-ask:last-child{
  border-bottom:var(--pc-soft);
}
.page-contact .pc-ask-num{
  position:absolute;
  left:0;
  top:22px;
  width:31px;
  padding:4px 0;
  text-align:center;
  background:var(--navy);
  font-family:var(--font-num);
  font-weight:600;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--coral);
}
.page-contact .pc-ask h3{
  margin:0 0 10px;
  font-size:clamp(17px,2.1vw,21px);
  font-weight:800;
  line-height:1.35;
  letter-spacing:-.01em;
  color:var(--white);
}
.page-contact .pc-ask p{
  margin:0 0 10px;
  max-width:40em;
  font-size:15px;
  line-height:1.74;
  color:rgba(244,239,228,.78);
}
.page-contact .pc-ask-route{
  display:block;
  margin:0;
  padding:10px 0 0 14px;
  border-left:3px solid var(--moss);
  font-size:14px;
  color:var(--cream);
}

/* ---------- 服务时段 ---------- */
.page-contact .pc-hours .annotation{
  margin:0 0 18px;
  color:var(--stone);
}
.page-contact .pc-hours-cells{
  display:grid;
  gap:0;
  border-top:var(--pc-line);
}
.page-contact .pc-hours-cell{
  padding:24px 0;
  border-bottom:var(--pc-soft);
}
.page-contact .pc-hours-num{
  margin:0;
  font-family:var(--font-num);
  font-weight:600;
  font-size:clamp(28px,5vw,48px);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--gold);
}
.page-contact .pc-hours-num small{
  font-family:var(--font-sans);
  font-size:.36em;
  font-weight:500;
  letter-spacing:0;
  color:var(--stone);
  margin-left:.35em;
}
.page-contact .pc-hours-d{
  margin:10px 0 0;
  max-width:30em;
  font-size:14px;
  line-height:1.72;
  color:rgba(244,239,228,.78);
}
.page-contact .pc-hours-cell--text{
  border-bottom:0;
  padding-bottom:0;
}
.page-contact .pc-hours-cell--text .pc-hours-d{
  max-width:36em;
  font-size:15px;
  color:var(--cream);
}

/* ---------- 邮件建议 ---------- */
.page-contact .pc-mail{
  border-top:var(--pc-line);
}
.page-contact .pc-mail-grid{
  display:grid;
  gap:clamp(26px,4vw,48px);
}
.page-contact .pc-mail-copy .annotation{
  margin:0 0 12px;
  color:var(--clay);
}
.page-contact .pc-mail-copy h2{
  margin:0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(24px,3.6vw,38px);
  line-height:1.1;
  letter-spacing:-.03em;
  color:var(--ink);
}
.page-contact .pc-mail-copy > p{
  margin:14px 0 0;
  max-width:34em;
  font-size:15px;
  line-height:1.72;
  color:rgba(11,27,51,.76);
}

.page-contact .pc-feedback{
  margin-top:26px;
}
.page-contact .pc-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  border-bottom:1px solid rgba(11,27,51,.16);
  padding-bottom:12px;
}
.page-contact .pc-tab{
  appearance:none;
  cursor:pointer;
  border:1px solid rgba(11,27,51,.28);
  background:transparent;
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  padding:9px 14px;
  border-radius:0;
  transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
.page-contact .pc-tab:hover{
  border-color:var(--coral);
  color:var(--coral);
}
.page-contact .pc-tab[aria-selected="true"]{
  background:var(--navy);
  border-color:var(--navy);
  color:var(--white);
}
.page-contact .pc-tab:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:2px;
}
.page-contact .pc-panel{
  padding-top:20px;
}
.page-contact .pc-panel[hidden]{
  display:none;
}
.page-contact .pc-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.page-contact .pc-checklist li{
  position:relative;
  padding-left:20px;
  font-size:14px;
  line-height:1.68;
  color:rgba(11,27,51,.82);
}
.page-contact .pc-checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:9px;
  height:9px;
  background:var(--coral);
}
.page-contact .pc-sample-label{
  margin:20px 0 8px;
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--moss);
}
.page-contact .pc-sample{
  margin:0;
  padding:16px;
  background:var(--navy);
  color:rgba(244,239,228,.9);
  font-family:var(--font-num);
  font-size:12.5px;
  line-height:1.75;
  overflow-x:auto;
  border-left:4px solid var(--cyan);
  white-space:pre-wrap;
  word-break:break-word;
}
.page-contact .pc-mail-figure{
  margin:0;
  border:1px solid rgba(11,27,51,.16);
  border-top:6px solid var(--coral);
  background:rgba(11,27,51,.06);
}
.page-contact .pc-mail-figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:12/8;
  object-fit:cover;
}
.page-contact .pc-mail-figure figcaption{
  padding:12px 16px;
  font-size:12px;
  line-height:1.6;
  color:rgba(11,27,51,.66);
  border-top:1px solid rgba(11,27,51,.12);
}

/* ---------- 内容合作 ---------- */
.page-contact .pc-partner-grid{
  display:grid;
  gap:clamp(24px,4vw,48px);
}
.page-contact .pc-partner-lead .annotation{
  margin:0 0 12px;
  color:var(--stone);
}
.page-contact .pc-partner-lead h2{
  margin:0;
  font-size:clamp(23px,3.4vw,36px);
  font-weight:900;
  line-height:1.12;
  letter-spacing:-.03em;
  color:var(--white);
}
.page-contact .pc-partner-lead p{
  margin:14px 0 0;
  max-width:34em;
  font-size:15px;
  line-height:1.74;
  color:rgba(244,239,228,.8);
}
.page-contact .pc-partner-lead a{
  color:var(--cyan);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-contact .pc-partner-steps{
  background:var(--navy-3);
  border:var(--pc-line);
  border-top:4px solid var(--cyan);
  padding:clamp(20px,3vw,28px);
}
.page-contact .pc-partner-steps h3{
  margin:0 0 16px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--white);
}
.page-contact .pc-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}
.page-contact .pc-steps li{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:12px;
  align-items:baseline;
  font-size:14px;
  line-height:1.68;
  color:rgba(244,239,228,.82);
  padding-bottom:14px;
  border-bottom:var(--pc-soft);
}
.page-contact .pc-steps li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.page-contact .pc-steps span{
  font-family:var(--font-num);
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--coral);
}
.page-contact .pc-partner-note{
  margin:18px 0 0;
  font-size:13px;
  line-height:1.7;
  color:var(--stone);
}
.page-contact .pc-partner-note a{
  color:var(--cyan);
  text-decoration:underline;
  text-underline-offset:3px;
}

/* ---------- 底部提示带 ---------- */
.page-contact .pc-strip{
  position:relative;
  background:var(--coral-deep);
  border-top:10px solid transparent;
  border-image:repeating-linear-gradient(90deg,var(--coral) 0 12px,var(--white) 12px 24px) 10;
  padding-block:clamp(28px,5vw,52px);
}
.page-contact .pc-strip-inner{
  display:grid;
  gap:14px;
}
.page-contact .pc-strip-head{
  margin:0;
  font-size:clamp(21px,3.2vw,32px);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--white);
}
.page-contact .pc-strip-body{
  margin:0;
  max-width:40em;
  font-size:14.5px;
  line-height:1.72;
  color:rgba(255,255,255,.9);
}
.page-contact .pc-strip .btn--coral{
  background:var(--navy);
  color:var(--white);
  border-color:var(--navy);
  justify-self:start;
}
.page-contact .pc-strip .btn--coral:hover{
  background:var(--navy-2);
  border-color:var(--navy-2);
}

/* ---------- 响应式 ---------- */
@media (min-width:768px){
  .page-contact .pc-hours-cells{
    grid-template-columns:1fr 1fr;
    column-gap:clamp(20px,4vw,44px);
  }
  .page-contact .pc-hours-cell{
    border-bottom:0;
    padding-block:clamp(20px,3vw,28px);
  }
  .page-contact .pc-hours-cell--text{
    grid-column:1 / -1;
    border-top:var(--pc-soft);
    padding-top:22px;
  }
  .page-contact .pc-strip-inner{
    grid-template-columns:1fr auto;
    align-items:center;
    column-gap:32px;
  }
  .page-contact .pc-strip-head{
    grid-column:1;
  }
  .page-contact .pc-strip-body{
    grid-column:1;
  }
  .page-contact .pc-strip .btn--coral{
    grid-column:2;
    grid-row:1 / span 2;
    justify-self:end;
  }
}

@media (min-width:900px){
  .page-contact .pc-hero-grid{
    grid-template-columns:1.06fr .94fr;
    gap:clamp(32px,5vw,64px);
  }
  .page-contact .pc-mail-grid{
    grid-template-columns:1.15fr .85fr;
    align-items:start;
  }
  .page-contact .pc-partner-grid{
    grid-template-columns:1.05fr .95fr;
    align-items:start;
  }
}

@media (min-width:1024px){
  .page-contact .pc-layout{
    grid-template-columns:352px 1fr;
    align-items:start;
    gap:clamp(32px,4vw,56px);
  }
  .page-contact .pc-reach{
    position:sticky;
    top:40px;
  }
  .page-contact .pc-hours-cells{
    grid-template-columns:1fr 1fr 1.1fr;
    column-gap:clamp(24px,4vw,56px);
  }
  .page-contact .pc-hours-cell--text{
    grid-column:auto;
    border-top:0;
    border-left:var(--pc-soft);
    padding-top:clamp(20px,3vw,28px);
    padding-left:clamp(20px,3vw,32px);
  }
}

@media (prefers-reduced-motion:reduce){
  .page-contact .pc-tab{
    transition:none;
  }
}
<<<END>>>
