.page-contact{
  --ct-hair:rgba(231,223,203,.16);
  --ct-hair-dark:rgba(10,15,44,.14);
  background:var(--ink-0);
  color:var(--mist);
  font-family:var(--font-body);
  overflow-x:hidden;
}

.page-contact .ct-inner{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
}

.page-contact .ct-band{
  padding-block:clamp(2.6rem,6vw,5rem);
  padding-inline:var(--gutter);
}

.page-contact .ct-band--lanes{
  background:
    radial-gradient(90% 70% at 88% 0%, rgba(43,75,216,.26), transparent 62%),
    var(--ink-0);
  border-top:1px solid var(--ct-hair);
}

.page-contact .ct-band--light{
  background:var(--mist);
  color:var(--ink-0);
}

.page-contact .ct-band--hours{
  background:var(--ink-1);
  border-top:1px solid var(--ct-hair);
  border-bottom:1px solid var(--ct-hair);
}

/* ---------- 首屏 ---------- */
.page-contact .ct-hero{
  position:relative;
  padding-inline:var(--gutter);
  padding-block:clamp(1.5rem,4vw,2.5rem) clamp(2.6rem,6vw,4.5rem);
  background:
    radial-gradient(120% 90% at 10% -12%, rgba(43,75,216,.44), transparent 62%),
    radial-gradient(80% 65% at 94% 8%, rgba(63,214,176,.14), transparent 58%),
    var(--ink-0);
  overflow:hidden;
}

.page-contact .ct-hero__grid{
  display:grid;
  gap:clamp(1.8rem,4vw,3rem);
}

.page-contact .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--slate);
  margin-bottom:clamp(1rem,2.5vw,1.6rem);
}

.page-contact .breadcrumb a{
  color:var(--slate);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);
}

.page-contact .breadcrumb a:hover,
.page-contact .breadcrumb a:focus-visible{
  color:var(--gold);
  border-bottom-color:var(--gold);
}

.page-contact .breadcrumb__sep{
  color:rgba(140,147,184,.6);
}

.page-contact .eyebrow{
  margin:0 0 .7rem;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--mint);
}

.page-contact h1{
  margin:0 0 1rem;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(2.05rem,5.6vw,3.6rem);
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--paper);
}

.page-contact .lede{
  margin:0;
  max-width:34ch;
  font-size:clamp(.98rem,2.4vw,1.08rem);
  line-height:1.85;
  color:rgba(242,245,252,.82);
}

.page-contact .ct-hero__actions{
  margin-top:clamp(1.3rem,3vw,1.9rem);
}

.page-contact .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.75rem 1.7rem;
  font-family:var(--font-mono);
  font-size:.82rem;
  letter-spacing:.14em;
  text-decoration:none;
  clip-path:var(--cut-sm);
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
}

.page-contact .btn--gold{
  background:var(--gold);
  color:var(--ink-0);
}

.page-contact .btn--gold:hover,
.page-contact .btn--gold:focus-visible{
  background:var(--coral);
  color:var(--paper);
}

.page-contact .btn:active{
  transform:scale(.98);
}

.page-contact .ct-hero__meta{
  list-style:none;
  margin:clamp(1.6rem,3.5vw,2.2rem) 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem 1.4rem;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.06em;
  color:var(--slate);
}

.page-contact .ct-hero__meta li{
  display:flex;
  align-items:center;
  gap:.55rem;
}

.page-contact .ct-hero__meta li::before{
  content:"";
  width:6px;
  height:6px;
  background:var(--mint);
  transform:rotate(45deg);
  flex:none;
}

.page-contact .ct-hero__figure{
  margin:0;
  clip-path:var(--cut);
  border:1px solid var(--ct-hair);
  background:var(--ink-1);
}

.page-contact .ct-hero__figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:12 / 7;
  object-fit:cover;
}

/* ---------- 通道 + 直接联系 ---------- */
.page-contact .ct-lanes{
  display:grid;
  gap:clamp(2rem,4vw,3.4rem);
}

.page-contact .ct-h2{
  margin:0 0 .8rem;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.55rem,4vw,2.5rem);
  line-height:1.2;
  letter-spacing:-.015em;
  color:var(--paper);
}

.page-contact .ct-band--light .ct-h2{
  color:var(--ink-0);
}

.page-contact .ct-intro{
  margin:0 0 clamp(1.3rem,3vw,2rem);
  max-width:52ch;
  font-size:.98rem;
  line-height:1.85;
  color:var(--slate);
}

.page-contact .ct-band--light .ct-intro{
  color:rgba(10,15,44,.7);
}

.page-contact .ct-lane-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.8rem;
}

.page-contact .ct-lane{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.9rem;
  padding:1.1rem 1.2rem 1.15rem 1.4rem;
  background:var(--ink-1);
  clip-path:var(--cut-sm);
  transition:background var(--dur) var(--ease);
}

.page-contact .ct-lane::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:transparent;
  transition:background var(--dur) var(--ease);
}

.page-contact .ct-lane:hover{
  background:var(--ink-2);
}

.page-contact .ct-lane:hover::before,
.page-contact .ct-lane.is-current::before{
  background:var(--gold);
}

.page-contact .ct-lane__num{
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.1em;
  color:var(--gold);
  padding-top:.2rem;
}

.page-contact .ct-lane h3{
  margin:0 0 .4rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.02rem;
  letter-spacing:.01em;
  color:var(--paper);
}

.page-contact .ct-lane p{
  margin:0 0 .55rem;
  font-size:.92rem;
  line-height:1.8;
  color:rgba(242,245,252,.72);
}

.page-contact .ct-lane__who{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  color:var(--mint);
}

/* ---------- 联系面板 ---------- */
.page-contact .ct-side{
  position:relative;
  padding:clamp(1.4rem,3.4vw,2.2rem);
  background:
    linear-gradient(158deg, rgba(43,75,216,.3), transparent 58%),
    var(--ink-1);
  clip-path:var(--cut);
  border:1px solid var(--ct-hair);
  scroll-margin-top:calc(var(--header-h) + 1.5rem);
}

.page-contact .ct-side__title{
  margin:0 0 1.3rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.15rem;
  letter-spacing:.02em;
  color:var(--paper);
}

.page-contact .ct-side__label{
  margin:0 0 .3rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--slate);
}

.page-contact .ct-side__mail{
  margin:0 0 .9rem;
  font-family:var(--font-mono);
  font-size:clamp(.88rem,3.4vw,1.3rem);
  line-height:1.5;
  letter-spacing:-.01em;
  color:var(--paper);
  overflow-wrap:anywhere;
}

.page-contact .ct-side__phone{
  margin:0 0 1.4rem;
  font-family:var(--font-mono);
  font-size:clamp(1.35rem,5.2vw,1.85rem);
  line-height:1.3;
  letter-spacing:.02em;
  color:var(--gold);
}

.page-contact .ct-side__addr{
  margin:0 0 .2rem;
  font-size:.94rem;
  line-height:1.8;
  color:rgba(242,245,252,.8);
}

.page-contact .ct-side__squiggle{
  display:block;
  width:100%;
  height:auto;
  max-width:320px;
  margin:.5rem 0 1rem;
}

.page-contact .copy-mail{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.55rem 1.2rem;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.14em;
  color:var(--ink-0);
  background:var(--gold);
  border:0;
  clip-path:var(--cut-sm);
  cursor:pointer;
  transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
}

.page-contact .copy-mail:hover,
.page-contact .copy-mail:focus-visible{
  background:var(--coral);
  color:var(--paper);
}

.page-contact .copy-mail:active{
  transform:scale(.98);
}

.page-contact .copy-mail.is-copied{
  background:var(--mint);
  color:var(--ink-0);
}

.page-contact .ct-note{
  margin:1.2rem 0 0;
  padding-top:1rem;
  border-top:1px solid var(--ct-hair);
  font-size:.86rem;
  line-height:1.8;
  color:var(--slate);
}

/* ---------- 写信要点 ---------- */
.page-contact .rule-list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid var(--ct-hair-dark);
}

.page-contact .rule-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.2rem 1rem;
  padding:1.15rem 0;
  border-bottom:1px solid var(--ct-hair-dark);
}

.page-contact .rule-item__num{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.1em;
  color:var(--cobalt);
  padding-top:.2rem;
}

.page-contact .rule-item h3{
  margin:0 0 .35rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1rem;
  letter-spacing:.01em;
  color:var(--ink-0);
}

.page-contact .rule-item p{
  margin:0;
  font-size:.93rem;
  line-height:1.85;
  color:rgba(10,15,44,.72);
}

/* ---------- 回信时段 ---------- */
.page-contact .ct-hours{
  display:grid;
  gap:clamp(1.6rem,3.5vw,2.6rem);
  margin-top:.4rem;
}

.page-contact .ct-hours__text p{
  margin:0 0 1rem;
  font-size:.96rem;
  line-height:1.85;
  color:rgba(242,245,252,.78);
}

.page-contact .ct-hours__text p:last-child{
  margin-bottom:0;
}

.page-contact .ct-scale__caption{
  display:block;
  margin-bottom:.9rem;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--slate);
}

.page-contact .ct-scale__track{
  position:relative;
  height:12px;
  background:
    repeating-linear-gradient(90deg, rgba(231,223,203,.34) 0 1px, transparent 1px 12.5%);
  border-top:1px solid var(--ct-hair);
  border-bottom:1px solid var(--ct-hair);
}

.page-contact .ct-scale__span{
  position:absolute;
  top:0;
  bottom:0;
  left:37.5%;
  width:37.5%;
  background:linear-gradient(90deg, rgba(255,194,74,.95), rgba(255,107,74,.95));
}

.page-contact .ct-scale__ticks{
  display:flex;
  justify-content:space-between;
  margin-top:.65rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.06em;
  color:var(--slate);
}

.page-contact .ct-hours__list{
  list-style:none;
  margin:clamp(1.6rem,3.5vw,2.4rem) 0 0;
  padding:1.2rem 0 0;
  border-top:1px solid var(--ct-hair);
  display:grid;
  gap:.75rem;
}

.page-contact .ct-hours__list li{
  position:relative;
  padding-left:1.2rem;
  font-size:.9rem;
  line-height:1.8;
  color:rgba(242,245,252,.74);
}

.page-contact .ct-hours__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72rem;
  width:7px;
  height:1px;
  background:var(--mint);
}

/* ---------- 合作 ---------- */
.page-contact .ct-partners{
  display:grid;
  gap:1rem;
}

.page-contact .ct-partner{
  padding:1.4rem 1.3rem 1.5rem;
  background:var(--paper);
  clip-path:var(--cut-sm);
  border-left:3px solid var(--cobalt);
}

.page-contact .ct-partner__num{
  display:block;
  margin-bottom:.6rem;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.18em;
  color:var(--mint-deep);
}

.page-contact .ct-partner h3{
  margin:0 0 .55rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.01em;
  color:var(--ink-0);
}

.page-contact .ct-partner p{
  margin:0;
  font-size:.92rem;
  line-height:1.85;
  color:rgba(10,15,44,.72);
}

.page-contact .ct-bring{
  margin-top:clamp(1.8rem,4vw,2.8rem);
  padding:clamp(1.2rem,3vw,1.8rem);
  background:rgba(43,75,216,.07);
  border-left:3px solid var(--gold);
}

.page-contact .ct-bring h3{
  margin:0 0 .9rem;
  font-family:var(--font-display);
  font-weight:800;
  font-size:1rem;
  color:var(--ink-0);
}

.page-contact .ct-bring__list{
  list-style:none;
  margin:0 0 1rem;
  padding:0;
  display:grid;
  gap:.5rem;
}

.page-contact .ct-bring__list li{
  position:relative;
  padding-left:1.1rem;
  font-size:.92rem;
  line-height:1.75;
  color:rgba(10,15,44,.75);
}

.page-contact .ct-bring__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68rem;
  width:6px;
  height:6px;
  background:var(--cobalt);
  transform:rotate(45deg);
}

.page-contact .ct-bring__note{
  margin:0;
  font-size:.9rem;
  line-height:1.85;
  color:rgba(10,15,44,.68);
}

.page-contact .ct-link{
  color:var(--cobalt);
  text-decoration:none;
  border-bottom:1px solid rgba(43,75,216,.4);
  transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);
}

.page-contact .ct-link:hover,
.page-contact .ct-link:focus-visible{
  color:var(--coral);
  border-bottom-color:var(--coral);
}

/* ---------- 收尾 ---------- */
.page-contact .ct-outro{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:clamp(3rem,8vw,6rem);
  padding-inline:var(--gutter);
  border-top:1px solid var(--ct-hair);
}

.page-contact .ct-outro__media{
  position:absolute;
  inset:0;
  z-index:-1;
}

.page-contact .ct-outro__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.6;
}

.page-contact .ct-outro__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,15,44,.94) 0%, rgba(10,15,44,.72) 55%, rgba(10,15,44,.9) 100%);
}

.page-contact .ct-outro__body .ct-intro{
  color:rgba(242,245,252,.78);
  max-width:56ch;
}

.page-contact .ct-outro__links{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem 1.8rem;
  margin-top:1.2rem;
}

.page-contact .ct-outro__links .ct-link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  color:var(--mist);
  border-bottom-color:rgba(242,245,252,.34);
  font-size:.92rem;
}

.page-contact .ct-outro__links .ct-link:hover,
.page-contact .ct-outro__links .ct-link:focus-visible{
  color:var(--gold);
  border-bottom-color:var(--gold);
}

.page-contact .ct-link--strong{
  font-family:var(--font-mono);
  letter-spacing:.06em;
}

/* ---------- 响应式 ---------- */
@media (min-width:760px){
  .page-contact .ct-hours{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    align-items:start;
  }

  .page-contact .ct-partners{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.1rem;
  }
}

@media (min-width:880px){
  .page-contact .ct-hero__grid{
    grid-template-columns:1.02fr .98fr;
    align-items:center;
  }

  .page-contact .ct-hero__figure{
    transform:translateY(-6px);
  }
}

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

  .page-contact .ct-partner:nth-child(2){
    transform:translateY(2rem);
  }

  .page-contact .ct-partner:nth-child(3){
    transform:translateY(.9rem);
  }

  .page-contact .ct-bring{
    margin-top:3.4rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .page-contact *{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }

  .page-contact .ct-partner:nth-child(2),
  .page-contact .ct-partner:nth-child(3),
  .page-contact .ct-hero__figure{
    transform:none;
  }
}
<<<END>>>
