.page-contact{
  --ct-hair:rgba(30,58,63,.95);
  --ct-line:rgba(53,240,224,.22);
  --ct-panel:rgba(11,42,46,.55);
}

.page-contact .crumbs{
  display:flex;
  align-items:center;
  gap:8px;
  padding:calc(var(--pad) * .7) 0 0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
  color:var(--mute);
}
.page-contact .crumbs__link{
  color:var(--mute);
  text-decoration:none;
  padding-bottom:2px;
  border-bottom:1px solid transparent;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.page-contact .crumbs__link:hover{
  color:var(--cyan);
  border-bottom-color:var(--grid);
}
.page-contact .crumbs__sep{color:var(--grid);}
.page-contact .crumbs__current{color:var(--mist);}

/* ---------- 首屏 ---------- */
.page-contact .ct-hero{padding-top:clamp(20px,3.4vw,36px);}
.page-contact .ct-hero__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(26px,4vw,52px);
}
.page-contact .ct-hero h1{
  margin:14px 0 0;
  font-family:var(--font-head);
  font-size:clamp(30px,6vw,56px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--mist);
}
.page-contact .ct-hero h1 em{
  display:block;
  font-style:normal;
  color:var(--grass);
}
.page-contact .ct-hero__intro{
  margin:18px 0 0;
  max-width:56ch;
  font-size:clamp(14px,1.6vw,16px);
  line-height:1.85;
  color:var(--mute);
}

.page-contact .ct-channels{
  list-style:none;
  margin:clamp(22px,3.2vw,34px) 0 0;
  padding:0;
  border-top:1px solid var(--hair);
}
.page-contact .ct-channel{
  position:relative;
  display:grid;
  gap:6px;
  padding:18px 0 18px 38px;
  border-bottom:1px solid var(--hair);
}
.page-contact .ct-channel::before{
  content:"";
  position:absolute;
  left:0;
  top:26px;
  width:22px;
  height:1px;
  background:var(--grid);
  transition:width .28s var(--ease),background .28s var(--ease);
}
.page-contact .ct-channel:hover::before{
  width:30px;
  background:var(--cyan);
}
.page-contact .ct-channel__key{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--mute);
  text-transform:uppercase;
}
.page-contact .ct-channel__val{
  justify-self:start;
  font-family:var(--font-mono);
  font-size:clamp(15px,2vw,20px);
  line-height:1.5;
  letter-spacing:.01em;
  color:var(--mist);
  word-break:break-word;
  text-decoration:none;
  border-bottom:1px solid var(--grid);
  padding-bottom:3px;
}
.page-contact a.ct-channel__val{
  transition:color .22s var(--ease),border-color .22s var(--ease);
}
.page-contact a.ct-channel__val:hover{
  color:var(--cyan);
  border-color:var(--cyan);
}
.page-contact .ct-channel__note{
  margin:2px 0 0;
  font-size:12.5px;
  line-height:1.7;
  color:var(--mute);
}

.page-contact .ct-hero__side{
  display:grid;
  gap:clamp(14px,2vw,18px);
  align-content:start;
}
.page-contact .ct-hero__media{margin:0;}
.page-contact .ct-hero__media .media__frame{
  aspect-ratio:14 / 9;
  border:1px solid var(--hair);
}

.page-contact .ct-shift{
  position:relative;
  border:1px solid var(--ct-hair);
  background:linear-gradient(180deg,var(--ct-panel),rgba(7,12,16,.65));
  padding:clamp(14px,2.2vw,20px);
}
.page-contact .ct-shift__head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:8px 12px;
}
.page-contact .ct-shift__label{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  color:var(--mute);
}
.page-contact .ct-shift__time{
  font-family:var(--font-mono);
  font-size:clamp(14px,2vw,18px);
  letter-spacing:.05em;
  color:var(--cyan);
}
.page-contact .ct-shift__track{
  position:relative;
  height:8px;
  margin-top:14px;
  background:rgba(7,12,16,.9);
  border:1px solid var(--ct-hair);
  overflow:hidden;
}
.page-contact .ct-shift__fill{
  position:absolute;
  top:0;
  bottom:0;
  left:37.5%;
  right:25%;
  display:block;
  background:linear-gradient(90deg,var(--grass),var(--cyan));
}
.page-contact .ct-shift__ticks{
  display:flex;
  justify-content:space-between;
  margin-top:7px;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.08em;
  color:rgba(143,166,166,.55);
}
.page-contact .ct-shift__meta{
  margin:12px 0 0;
  font-size:12.5px;
  line-height:1.72;
  color:var(--mute);
}
.page-contact .ct-shift__hint{
  margin:10px 0 0;
  padding-left:9px;
  border-left:2px solid var(--grass);
  font-size:12.5px;
  line-height:1.6;
  color:var(--grass);
}

/* ---------- 章节头 ---------- */
.page-contact .ct-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:clamp(12px,2.4vw,24px);
  align-items:start;
  margin-bottom:clamp(20px,3vw,32px);
  padding-top:clamp(16px,2.6vw,26px);
  border-top:1px solid var(--hair);
}
.page-contact .ct-head h2{
  margin:0;
  font-family:var(--font-head);
  font-size:clamp(21px,3.2vw,30px);
  font-weight:700;
  line-height:1.26;
  letter-spacing:-.01em;
  color:var(--mist);
}
.page-contact .ct-head p{
  margin:9px 0 0;
  max-width:60ch;
  font-size:14px;
  line-height:1.82;
  color:var(--mute);
}

/* ---------- 01 回复节奏 ---------- */
.page-contact .ct-answer__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,3.4vw,40px);
}
.page-contact .ct-points{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}
.page-contact .ct-points li{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:10px;
  font-size:14px;
  line-height:1.85;
  color:var(--mist);
}
.page-contact .ct-points__dot{
  display:block;
  width:16px;
  height:1px;
  margin-top:12px;
  background:var(--grass);
}
.page-contact .ct-note{
  margin:20px 0 0;
  padding:13px 15px;
  border-left:2px solid var(--amber);
  background:rgba(242,178,76,.06);
  font-size:13px;
  line-height:1.78;
  color:var(--mute);
}
.page-contact .ct-answer__media{margin:0;}
.page-contact .ct-answer__media .media__frame{
  border:1px solid var(--hair);
}

/* ---------- 02 材料清单 ---------- */
.page-contact .ct-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  border:1px solid var(--ct-hair);
  background:var(--ct-hair);
}
.page-contact .ct-check{background:var(--night);}
.page-contact .ct-check__row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  padding:clamp(14px,2.2vw,20px);
  cursor:pointer;
  transition:background .25s var(--ease);
}
.page-contact .ct-check__row:hover{background:rgba(33,201,122,.07);}
.page-contact .ct-check__box{
  appearance:none;
  -webkit-appearance:none;
  flex:none;
  width:18px;
  height:18px;
  margin:3px 0 0;
  border:1px solid var(--grid);
  background:transparent;
  cursor:pointer;
  position:relative;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.page-contact .ct-check__box:hover{border-color:var(--cyan);}
.page-contact .ct-check__box:checked{
  border-color:var(--grass);
  background:var(--grass-16);
}
.page-contact .ct-check__box:checked::after{
  content:"";
  position:absolute;
  left:5px;
  top:1px;
  width:5px;
  height:10px;
  border:solid var(--grass);
  border-width:0 2px 2px 0;
  transform:rotate(40deg);
}
.page-contact .ct-check__box:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:2px;
}
.page-contact .ct-check__title{
  display:block;
  font-family:var(--font-head);
  font-size:15px;
  font-weight:600;
  color:var(--mist);
}
.page-contact .ct-check__desc{
  display:block;
  margin-top:5px;
  font-size:13px;
  line-height:1.76;
  color:var(--mute);
}

/* ---------- 03 地址与范围 ---------- */
.page-contact .ct-place__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(18px,3vw,32px);
}
.page-contact .ct-facts{
  margin:0;
  display:grid;
  gap:1px;
  border:1px solid var(--ct-hair);
  background:var(--ct-hair);
}
.page-contact .ct-facts__row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  gap:12px;
  padding:13px 15px;
  background:var(--field);
}
.page-contact .ct-facts dt{
  padding-top:3px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--mute);
}
.page-contact .ct-facts dd{
  margin:0;
  font-size:14px;
  line-height:1.62;
  color:var(--mist);
}
.page-contact .ct-map-figure{
  margin:0;
  display:grid;
  gap:10px;
}
.page-contact .ct-map{
  position:relative;
  min-height:260px;
  border:1px solid var(--ct-hair);
  background-color:var(--night);
  background-image:radial-gradient(circle,rgba(30,58,63,.95) 1px,transparent 1px);
  background-size:20px 20px;
  overflow:hidden;
}
.page-contact .ct-map::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 62% 46%,rgba(33,201,122,.24),transparent 58%);
}
.page-contact .ct-map__pin{
  position:absolute;
  left:62%;
  top:46%;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--cyan);
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 7px rgba(53,240,224,.14),0 0 22px rgba(53,240,224,.55);
}
.page-contact .ct-map__label{
  position:absolute;
  left:62%;
  top:calc(46% + 22px);
  transform:translateX(-50%);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.2em;
  color:var(--cyan);
}
.page-contact .ct-map__cap{
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.1em;
  color:var(--mute);
}

/* ---------- 04 合作 ---------- */
.page-contact .ct-coop__panel{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(22px,3.2vw,38px);
  padding:clamp(20px,3.6vw,40px);
  border:1px solid var(--ct-hair);
  border-top:2px solid var(--grass);
  background:linear-gradient(160deg,rgba(18,62,56,.5),rgba(7,12,16,.92));
}
.page-contact .ct-coop__lead h2{
  margin:14px 0 0;
  font-family:var(--font-head);
  font-size:clamp(21px,3vw,28px);
  font-weight:700;
  line-height:1.26;
  letter-spacing:-.01em;
  color:var(--mist);
}
.page-contact .ct-coop__lead p{
  margin:12px 0 0;
  max-width:58ch;
  font-size:14px;
  line-height:1.85;
  color:var(--mute);
}
.page-contact .ct-coop__lead .btn{
  margin-top:22px;
  display:inline-block;
}
.page-contact .ct-coop__links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1px;
  border:1px solid var(--ct-hair);
  background:rgba(143,166,166,.12);
  align-content:start;
}
.page-contact .ct-coop__links a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  background:rgba(7,12,16,.7);
  font-size:13.5px;
  line-height:1.6;
  color:var(--mist);
  text-decoration:none;
  transition:background .22s var(--ease),color .22s var(--ease);
}
.page-contact .ct-coop__links a::after{
  content:"→";
  font-family:var(--font-mono);
  color:var(--grid);
  transition:color .22s var(--ease),transform .22s var(--ease);
}
.page-contact .ct-coop__links a:hover{
  background:rgba(33,201,122,.1);
  color:var(--cyan);
}
.page-contact .ct-coop__links a:hover::after{
  color:var(--cyan);
  transform:translateX(3px);
}

/* ---------- 桌面 ---------- */
@media (min-width:760px){
  .page-contact .ct-checklist{grid-template-columns:1fr 1fr;}
}

@media (min-width:880px){
  .page-contact .ct-answer__grid{
    grid-template-columns:minmax(0,1fr) minmax(0,.88fr);
    align-items:center;
  }
  .page-contact .ct-place__grid{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    align-items:stretch;
  }
  .page-contact .ct-map{min-height:100%;}
  .page-contact .ct-coop__panel{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    align-items:start;
  }
}

@media (min-width:920px){
  .page-contact .ct-hero__grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    align-items:start;
  }
  .page-contact .ct-facts__row{grid-template-columns:96px minmax(0,1fr);}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .ct-channel::before,
  .page-contact .ct-shift__fill,
  .page-contact .ct-coop__links a::after{
    transition:none;
  }
}
