.page-contact{
  --pc-hair:rgba(141,162,190,.22);
  --pc-hair-soft:rgba(141,162,190,.1);
  --pc-panel:linear-gradient(180deg,rgba(19,41,74,.82),rgba(7,20,38,.5));
  background:var(--ink-900);
  color:var(--paper);
  font-family:var(--font-body);
  padding-bottom:clamp(48px,8vw,96px);
  overflow-x:hidden;
}
.page-contact a:focus-visible{
  outline:2px solid var(--mint);
  outline-offset:3px;
  border-radius:2px;
}
.page-contact .eyebrow{
  margin:0 0 14px;
  font-family:var(--font-display);
  font-size:var(--fs-11);
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--mint);
}
.page-contact .section-title{
  margin:0 0 16px;
  font-family:var(--font-head);
  font-weight:600;
  font-size:clamp(26px,4.2vw,40px);
  line-height:1.24;
  letter-spacing:-.01em;
  color:var(--paper);
}

/* 面包屑 */
.page-contact .breadcrumb{margin:0 0 clamp(16px,3vw,26px);}
.page-contact .breadcrumb__list{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
  font-size:var(--fs-11);
  letter-spacing:.1em;
  color:var(--steel);
}
.page-contact .breadcrumb__list li+li::before{
  content:"/";
  margin-right:8px;
  color:rgba(141,162,190,.45);
}
.page-contact .breadcrumb__link{
  color:var(--steel);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .16s var(--ease),border-color .16s var(--ease);
}
.page-contact .breadcrumb__link:hover{color:var(--mint);border-bottom-color:var(--mint);}

/* 首屏 */
.page-contact .contact-hero{padding:clamp(8px,2vw,16px) 0 clamp(40px,6vw,80px);}
.page-contact .contact-hero__grid{
  display:grid;
  gap:clamp(26px,4vw,52px);
}
.page-contact .contact-hero__head h1{
  margin:0 0 clamp(16px,2.4vw,24px);
  font-family:var(--font-head);
  font-weight:300;
  font-size:clamp(38px,8.4vw,84px);
  line-height:1.02;
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-contact .lede{
  margin:0 0 clamp(26px,4vw,40px);
  max-width:52ch;
  font-size:clamp(15px,1.7vw,17px);
  line-height:1.8;
  color:rgba(243,247,252,.78);
}

/* 联系卡 */
.page-contact .contact-card{
  border-top:1px solid var(--pc-hair);
}
.page-contact .contact-line{
  display:grid;
  gap:6px;
  padding:clamp(16px,2.6vw,24px) 0;
  border-bottom:1px solid var(--pc-hair);
  text-decoration:none;
  color:inherit;
  transition:background .18s var(--ease);
}
.page-contact .contact-line__label{
  font-size:var(--fs-11);
  letter-spacing:.14em;
  color:var(--steel);
}
.page-contact .contact-line__value{
  display:block;
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:.03em;
  line-height:1.08;
  color:var(--paper);
  word-break:break-word;
  transition:color .18s var(--ease);
}
.page-contact .contact-line__value--num{font-size:clamp(38px,8vw,64px);}
.page-contact .contact-line__value--mail{
  font-size:clamp(18px,3.6vw,30px);
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
}
.page-contact .contact-line__hint{
  font-size:var(--fs-12);
  color:rgba(141,162,190,.9);
  line-height:1.6;
}
.page-contact a.contact-line:hover .contact-line__value,
.page-contact a.contact-line:focus-visible .contact-line__value{color:var(--mint);}
.page-contact a.contact-line:hover{background:rgba(57,242,194,.04);}

/* 值班台 */
.page-contact .hours{
  position:relative;
  padding:clamp(22px,3.4vw,34px);
  background:var(--pc-panel);
  border:1px solid var(--pc-hair);
  box-shadow:var(--shadow-1);
}
.page-contact .hours::before{
  content:"";
  position:absolute;
  left:0;top:0;
  width:3px;height:64px;
  background:var(--mint);
}
.page-contact .hours__kicker{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-size:var(--fs-11);
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--orange);
}
.page-contact .hours__title{
  margin:0 0 14px;
  font-family:var(--font-head);
  font-weight:600;
  font-size:var(--fs-18);
  letter-spacing:.01em;
  color:var(--paper);
}
.page-contact .hours__big{
  margin:0 0 18px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(40px,7vw,62px);
  line-height:1;
  letter-spacing:.02em;
  color:var(--paper);
  font-variant-numeric:tabular-nums;
}
.page-contact .hours__dash{color:var(--mint);margin:0 .12em;}
.page-contact .hours__list{
  margin:0 0 16px;
  padding:0;
  list-style:none;
  display:grid;
  gap:9px;
  font-size:var(--fs-14);
  line-height:1.7;
  color:rgba(243,247,252,.76);
}
.page-contact .hours__list li{
  position:relative;
  padding-left:16px;
}
.page-contact .hours__list li::before{
  content:"";
  position:absolute;
  left:0;top:.68em;
  width:6px;height:1px;
  background:var(--steel);
}
.page-contact .hours__note{
  margin:0;
  padding-top:14px;
  border-top:1px solid var(--pc-hair-soft);
  font-size:var(--fs-12);
  line-height:1.7;
  color:var(--steel);
}

/* 反馈步骤 */
.page-contact .feedback{padding:clamp(36px,6vw,64px) 0;}
.page-contact .feedback__grid{
  display:grid;
  gap:clamp(28px,4vw,48px);
}
.page-contact .feedback__intro{
  margin:0 0 clamp(22px,3vw,32px);
  max-width:54ch;
  font-size:var(--fs-16);
  line-height:1.8;
  color:rgba(243,247,252,.76);
}
.page-contact .steps{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:clamp(16px,2.4vw,24px);
  counter-reset:none;
}
.page-contact .step{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:12px;
  padding-bottom:clamp(14px,2vw,20px);
  border-bottom:1px solid var(--pc-hair-soft);
}
.page-contact .step:last-child{border-bottom:0;padding-bottom:0;}
.page-contact .step__num{
  font-family:var(--font-display);
  font-weight:600;
  font-size:var(--fs-22);
  line-height:1.1;
  color:var(--mint);
  letter-spacing:.04em;
}
.page-contact .step__body h3{
  margin:0 0 6px;
  font-family:var(--font-head);
  font-weight:600;
  font-size:var(--fs-16);
  letter-spacing:.01em;
  color:var(--paper);
}
.page-contact .step__body p{
  margin:0;
  font-size:var(--fs-14);
  line-height:1.8;
  color:rgba(243,247,252,.7);
}
.page-contact .feedback__foot{
  margin:clamp(22px,3vw,30px) 0 0;
  padding:14px 16px;
  border-left:2px solid var(--orange);
  background:rgba(255,155,74,.06);
  font-size:var(--fs-14);
  line-height:1.75;
  color:rgba(243,247,252,.82);
}

/* 反馈示意插画 */
.page-contact .shot{
  margin:0;
  border:1px solid var(--pc-hair);
  background:var(--ink-800);
  box-shadow:var(--shadow-1);
  overflow:hidden;
}
.page-contact .shot img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
  aspect-ratio:10 / 7;
}
.page-contact .shot__cap{
  padding:12px 16px;
  border-top:1px solid var(--pc-hair-soft);
  font-size:var(--fs-12);
  letter-spacing:.04em;
  color:var(--steel);
}

/* 商务合作 */
.page-contact .coop{
  padding:clamp(36px,6vw,64px) 0;
  border-top:1px solid var(--pc-hair);
  border-bottom:1px solid var(--pc-hair);
  background:linear-gradient(180deg,rgba(14,34,61,.55),rgba(7,20,38,0));
}
.page-contact .coop__inner{
  display:grid;
  gap:clamp(26px,4vw,48px);
}
.page-contact .coop__lede{
  margin:0 0 clamp(20px,3vw,26px);
  max-width:52ch;
  font-size:var(--fs-16);
  line-height:1.8;
  color:rgba(243,247,252,.76);
}
.page-contact .coop__mail{
  display:inline-block;
  text-decoration:none;
}
.page-contact .coop__list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:1px;
  background:var(--pc-hair);
  border:1px solid var(--pc-hair);
}
.page-contact .coop__item{
  padding:clamp(18px,2.6vw,24px);
  background:var(--ink-900);
}
.page-contact .coop__tag{
  display:inline-block;
  margin-bottom:10px;
  padding:4px 10px;
  border:1px solid rgba(57,242,194,.4);
  font-size:var(--fs-11);
  letter-spacing:.14em;
  color:var(--mint);
}
.page-contact .coop__tag--orange{
  border-color:rgba(255,155,74,.42);
  color:var(--orange);
}
.page-contact .coop__tag--violet{
  border-color:rgba(154,140,255,.42);
  color:var(--violet);
}
.page-contact .coop__item p{
  margin:0;
  font-size:var(--fs-14);
  line-height:1.8;
  color:rgba(243,247,252,.72);
}

/* 地址 */
.page-contact .address{padding:clamp(36px,6vw,64px) 0;}
.page-contact .address__frame{
  position:relative;
  overflow:hidden;
  border:1px solid var(--pc-hair);
  background:var(--ink-800);
  min-height:280px;
  display:flex;
  align-items:center;
}
.page-contact .address__art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.28;
  filter:grayscale(1) contrast(1.1);
  pointer-events:none;
}
.page-contact .address__body{
  position:relative;
  z-index:1;
  padding:clamp(24px,4.5vw,48px);
  max-width:640px;
}
.page-contact .address__text{
  margin:0 0 12px;
  font-family:var(--font-head);
  font-weight:600;
  font-size:clamp(20px,3.2vw,28px);
  line-height:1.45;
  letter-spacing:.01em;
  color:var(--paper);
  user-select:all;
}
.page-contact .address__desc{
  margin:0;
  font-size:var(--fs-14);
  line-height:1.85;
  color:rgba(243,247,252,.74);
}

/* 帮助中心快捷入口 */
.page-contact .help__lede{
  margin:0 0 clamp(20px,3vw,28px);
  max-width:56ch;
  font-size:var(--fs-16);
  line-height:1.8;
  color:rgba(243,247,252,.76);
}
.page-contact .help__grid{
  display:grid;
  gap:12px;
}
.page-contact .help__link{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  grid-template-areas:
    "num name"
    "num desc";
  column-gap:12px;
  row-gap:4px;
  padding:16px 18px;
  border:1px solid var(--pc-hair);
  background:rgba(14,34,61,.5);
  text-decoration:none;
  color:inherit;
  transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);
}
.page-contact .help__link:hover,
.page-contact .help__link:focus-visible{
  border-color:rgba(57,242,194,.55);
  transform:translateY(-2px);
  box-shadow:var(--shadow-2);
}
.page-contact .help__num{
  grid-area:num;
  font-family:var(--font-display);
  font-weight:600;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--steel);
  letter-spacing:.04em;
}
.page-contact .help__link:hover .help__num{color:var(--mint);}
.page-contact .help__name{
  grid-area:name;
  font-family:var(--font-head);
  font-weight:600;
  font-size:var(--fs-16);
  color:var(--paper);
}
.page-contact .help__desc{
  grid-area:desc;
  font-size:var(--fs-12);
  line-height:1.65;
  color:rgba(141,162,190,.92);
}

/* 动效 */
.page-contact [data-reveal]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.page-contact [data-reveal].is-visible{
  opacity:1;
  transform:none;
}

@media (min-width:720px){
  .page-contact .help__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-contact .coop__list{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (min-width:960px){
  .page-contact .contact-hero__grid{
    grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
    align-items:start;
  }
  .page-contact .feedback__grid{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    align-items:start;
  }
  .page-contact .coop__inner{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    align-items:start;
  }
  .page-contact .shot{margin-top:8px;}
}

@media (prefers-reduced-motion:reduce){
  .page-contact [data-reveal]{
    opacity:1;
    transform:none;
    transition:none;
  }
  .page-contact .help__link:hover{transform:none;}
}
