.page-contact{
  --pc-rail:288px;
  --pc-card-fg:#EFFBF9;
  --pc-card-muted:rgba(226,246,244,.72);
  --pc-hair:rgba(143,242,229,.28);
}

/* ---------- 首屏 ---------- */
.page-contact .contact-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-bottom:2px solid var(--line);
  background:
    radial-gradient(120% 100% at 84% 0%, rgba(47,230,200,.16), transparent 62%),
    radial-gradient(90% 80% at 2% 102%, rgba(255,107,74,.12), transparent 60%),
    var(--deep);
}
.page-contact .contact-hero__media{
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.32;
}
.page-contact .contact-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-contact .contact-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,rgba(6,23,38,.42) 0%,rgba(6,23,38,.9) 76%,var(--deep) 100%);
}
.page-contact .contact-hero .crumbs{
  padding-top:clamp(20px,3vw,32px);
}
.page-contact .crumbs ol{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:12px;
  letter-spacing:.14em;
}
.page-contact .crumbs li{
  color:rgba(143,242,229,.7);
}
.page-contact .crumbs a{
  color:var(--mist);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color var(--ease),color var(--ease);
}
.page-contact .crumbs a:hover{
  color:#EFFBF9;
  border-bottom-color:var(--cyan);
}
.page-contact .crumbs li+li::before{
  content:"/";
  margin-right:12px;
  color:rgba(143,242,229,.4);
}
.page-contact .contact-hero__head{
  padding-block:clamp(28px,5vw,54px) clamp(24px,3.5vw,40px);
  max-width:62rem;
}
.page-contact .contact-hero__head .idx{
  margin:0 0 16px;
  color:var(--mist);
}
.page-contact .contact-hero__head .display{
  margin:0 0 20px;
  color:#EFFBF9;
  line-height:1.02;
}
.page-contact .contact-hero__lead{
  margin:0;
  max-width:58ch;
  font-size:var(--fs-body);
  line-height:1.82;
  color:rgba(226,246,244,.84);
}

/* ---------- 联系渠道卡 ---------- */
.page-contact .contact-hero__cards{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
  padding-bottom:clamp(40px,6vw,76px);
}
@media (min-width:820px){
  .page-contact .contact-hero__cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
  }
}
.page-contact .chan{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
  padding:30px 22px 22px;
  border:2px solid var(--pc-hair);
  border-radius:2px;
  box-shadow:var(--shadow-hard);
  color:var(--pc-card-fg);
  transition:transform var(--ease),box-shadow var(--ease),border-color var(--ease);
}
.page-contact .chan::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:var(--cyan);
}
.page-contact .chan--mail{background:linear-gradient(155deg,#2A2350 0%,#161236 100%);}
.page-contact .chan--tel{background:linear-gradient(155deg,#0B3B3C 0%,#08262A 100%);}
.page-contact .chan--addr{background:linear-gradient(155deg,#6E1F3A 0%,#35101F 100%);}
.page-contact .chan--tel::before{background:var(--mist);}
.page-contact .chan--addr::before{background:var(--coral);}
.page-contact .chan:hover{
  transform:translateY(-4px);
  box-shadow:12px 12px 0 var(--shadow-c);
  border-color:var(--cyan);
}
.page-contact .chan--tel:hover{border-color:var(--mist);}
.page-contact .chan--addr:hover{border-color:var(--coral);}
.page-contact .chan__label{
  margin:0;
  font-size:12px;
  letter-spacing:.16em;
  color:var(--pc-card-muted);
}
.page-contact .chan__title{
  margin:0;
  font-size:var(--fs-h3);
  font-weight:400;
  letter-spacing:.02em;
  color:var(--pc-card-fg);
}
.page-contact .chan__desc{
  margin:0;
  font-size:15px;
  line-height:1.72;
  color:var(--pc-card-muted);
}
.page-contact .chan__value{
  align-self:flex-start;
  font-size:15.5px;
  color:var(--cyan);
  text-decoration:none;
  word-break:break-all;
  border-bottom:1px solid rgba(47,230,200,.4);
  transition:border-color var(--ease),color var(--ease);
}
.page-contact .chan__value:hover{
  color:var(--mist);
  border-bottom-color:var(--mist);
}
.page-contact .chan__big{
  display:inline-block;
  align-self:flex-start;
  font-size:clamp(1.6rem,2.4vw,2.05rem);
  font-weight:300;
  letter-spacing:.1em;
  line-height:1.2;
  color:#EFFBF9;
  text-decoration:none;
  transition:color var(--ease);
}
.page-contact .chan__big:hover{color:var(--cyan);}
.page-contact .chan__addr{
  margin:0;
  font-size:15.5px;
  line-height:1.72;
  color:var(--pc-card-fg);
}
.page-contact .chan__actions{
  margin-top:auto;
  padding-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.page-contact .chan__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 16px;
  border:2px solid var(--pc-hair);
  border-radius:2px;
  background:rgba(255,255,255,.06);
  color:var(--pc-card-fg);
  font:inherit;
  font-size:14px;
  letter-spacing:.04em;
  text-decoration:none;
  cursor:pointer;
  transition:border-color var(--ease),background var(--ease),transform var(--ease),color var(--ease);
}
.page-contact .chan__btn:hover,
.page-contact .chan__btn:focus-visible{
  border-color:var(--cyan);
  background:rgba(47,230,200,.16);
  transform:translateY(-2px);
  outline:none;
}
.page-contact .chan__btn--solid{
  background:var(--cyan);
  border-color:var(--cyan);
  color:#04141B;
  font-weight:500;
}
.page-contact .chan__btn--solid:hover,
.page-contact .chan__btn--solid:focus-visible{
  background:var(--mist);
  border-color:var(--mist);
  color:#04141B;
}

/* ---------- 主体两栏 ---------- */
.page-contact .contact-body{
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
  align-items:start;
}
@media (min-width:1000px){
  .page-contact .contact-body{
    grid-template-columns:var(--pc-rail) minmax(0,1fr);
    gap:clamp(40px,5vw,76px);
  }
}

/* ---------- 速查条 ---------- */
.page-contact .contact-rail{
  min-width:0;
  padding:22px 20px;
  border:2px solid var(--edge);
  border-radius:2px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}
@media (min-width:1000px){
  .page-contact .contact-rail{
    position:sticky;
    top:96px;
  }
}
.page-contact .contact-rail .idx{
  margin:0 0 16px;
  color:var(--muted);
}
.page-contact .rail-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}
.page-contact .rail-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 10px;
  align-items:center;
  padding-bottom:14px;
  border-bottom:1px solid var(--edge-soft);
}
.page-contact .rail-item:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.page-contact .rail-item__k{
  grid-column:1 / -1;
  font-size:12px;
  letter-spacing:.16em;
  color:var(--muted);
}
.page-contact .rail-item__v{
  min-width:0;
  font-size:14.5px;
  line-height:1.6;
  color:var(--fg);
  text-decoration:none;
  word-break:break-all;
  border-bottom:1px solid transparent;
  transition:border-color var(--ease),color var(--ease);
}
.page-contact a.rail-item__v:hover{
  color:var(--cyan);
  border-bottom-color:var(--cyan);
}
.page-contact .rail-item__btn{
  font:inherit;
  font-size:12px;
  letter-spacing:.08em;
  padding:6px 10px;
  border:1px solid var(--edge);
  border-radius:2px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  transition:border-color var(--ease),color var(--ease),background var(--ease);
}
.page-contact .rail-item__btn:hover,
.page-contact .rail-item__btn:focus-visible{
  border-color:var(--cyan);
  color:var(--cyan);
  background:rgba(47,230,200,.1);
  outline:none;
}
.page-contact .rail-note{
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid var(--edge-soft);
  font-size:13.5px;
  line-height:1.74;
  color:var(--fg);
}

/* ---------- 内容板块 ---------- */
.page-contact .contact-flow{
  min-width:0;
  display:grid;
  gap:0;
}
.page-contact .piece{
  padding-block:clamp(30px,4.5vw,56px);
  border-top:1px solid var(--edge-soft);
}
.page-contact .contact-flow > .piece:first-child{
  padding-top:0;
  border-top:0;
}
.page-contact .piece .idx{
  margin:0 0 14px;
  color:var(--muted);
}
.page-contact .piece__title{
  margin:0 0 16px;
  font-size:clamp(1.5rem,2.4vw,2.1rem);
  font-weight:300;
  letter-spacing:.02em;
  line-height:1.28;
  color:var(--fg-strong);
}
.page-contact .piece__lead{
  margin:0 0 26px;
  max-width:62ch;
  font-size:var(--fs-body);
  line-height:1.82;
  color:var(--fg);
}
.page-contact .piece__foot{
  margin:24px 0 0;
  max-width:66ch;
  padding-left:16px;
  border-left:3px solid var(--cyan);
  font-size:15.5px;
  line-height:1.8;
  color:var(--fg);
}

/* ---------- 材料清单 ---------- */
.page-contact .prep{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
@media (min-width:760px){
  .page-contact .prep{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }
}
.page-contact .prep__item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  padding:18px 18px 18px 16px;
  border:2px solid var(--edge-soft);
  border-radius:2px;
  background:var(--surface-2);
  transition:border-color var(--ease),transform var(--ease);
}
.page-contact .prep__item:hover{
  border-color:var(--cyan);
  transform:translateY(-2px);
}
.page-contact .prep__no{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:2px solid var(--line);
  border-radius:2px;
  background:var(--deep);
  color:var(--cyan);
  font-size:13px;
  letter-spacing:.1em;
}
.page-contact .prep__body{min-width:0;}
.page-contact .prep__title{
  margin:0 0 6px;
  font-size:1rem;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--fg-strong);
}
.page-contact .prep__text{
  margin:0;
  font-size:15px;
  line-height:1.74;
  color:var(--fg);
}

/* ---------- 复制条 ---------- */
.page-contact .copy-bar{
  margin-top:22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border:2px solid var(--edge);
  border-radius:2px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}
.page-contact .copy-bar__text{
  margin:0;
  max-width:44ch;
  font-size:14.5px;
  line-height:1.68;
  color:var(--fg);
}
.page-contact .copy-bar .copy-btn{
  font:inherit;
  font-size:14px;
  letter-spacing:.04em;
  padding:10px 16px;
  border:2px solid var(--line);
  border-radius:2px;
  background:var(--cyan);
  color:#04141B;
  cursor:pointer;
  transition:background var(--ease),transform var(--ease),border-color var(--ease),color var(--ease);
}
.page-contact .copy-bar .copy-btn:hover,
.page-contact .copy-bar .copy-btn:focus-visible{
  background:var(--mist);
  transform:translateY(-2px);
  outline:none;
}
.page-contact .copy-bar .copy-btn[data-copy-state="ok"]{
  background:var(--coral);
  border-color:var(--coral);
  color:#FFFFFF;
}
.page-contact .copy-bar .copy-btn[data-copy-state="fail"]{
  background:var(--wine);
  border-color:var(--wine);
  color:#FFFFFF;
}

/* ---------- 响应节奏刻度 ---------- */
.page-contact .sla{margin-top:6px;}
.page-contact .sla__steps{
  position:relative;
  display:grid;
  gap:26px;
}
.page-contact .sla__step{
  position:relative;
  padding-left:28px;
}
.page-contact .sla__dot{
  position:absolute;
  left:0;
  top:4px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 4px rgba(47,230,200,.16);
}
.page-contact .sla__dot--hot{
  background:var(--coral);
  box-shadow:0 0 0 4px rgba(255,107,74,.18);
}
.page-contact .sla__k{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  letter-spacing:.16em;
  color:var(--cyan);
}
.page-contact .sla__step--hot .sla__k{color:var(--coral);}
.page-contact .sla__step p{
  margin:0;
  font-size:15px;
  line-height:1.74;
  color:var(--fg);
}
@media (min-width:760px){
  .page-contact .sla__steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    padding-top:34px;
  }
  .page-contact .sla__steps::before{
    content:"";
    position:absolute;
    left:6px;
    right:6px;
    top:5px;
    height:2px;
    background:linear-gradient(90deg,var(--cyan),rgba(47,230,200,.12));
  }
  .page-contact .sla__step{padding-left:0;}
  .page-contact .sla__dot{top:0;left:0;}
}

/* ---------- 寄件与到访 ---------- */
.page-contact .visit{
  display:grid;
  gap:28px;
  align-items:center;
}
.page-contact .visit__text p{
  margin:0 0 1.1em;
  font-size:var(--fs-body);
  line-height:1.84;
  color:var(--fg);
}
.page-contact .visit__text p:last-child{margin-bottom:0;}
.page-contact .visit__media img{
  width:100%;
  height:auto;
  display:block;
  border:2px solid var(--edge);
  border-radius:2px;
  box-shadow:var(--shadow-hard);
}
@media (min-width:860px){
  .page-contact .visit{
    grid-template-columns:minmax(0,6fr) minmax(0,5fr);
    gap:44px;
  }
}

/* ---------- 渠道对照 ---------- */
.page-contact .lane{
  display:grid;
  gap:20px;
}
@media (min-width:760px){
  .page-contact .lane{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
  }
}
.page-contact .lane__col{
  min-width:0;
  padding:24px 22px;
  border:2px solid var(--edge);
  border-radius:2px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
  transition:transform var(--ease),border-color var(--ease);
}
.page-contact .lane__col:hover{
  transform:translateY(-3px);
  border-color:var(--cyan);
}
.page-contact .lane__col--tel:hover{border-color:var(--coral);}
.page-contact .lane__title{
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:2px solid var(--edge-soft);
  font-size:1.05rem;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--fg-strong);
}
.page-contact .lane__col--mail .lane__title{border-bottom-color:rgba(47,230,200,.45);}
.page-contact .lane__col--tel .lane__title{border-bottom-color:rgba(255,107,74,.45);}
.page-contact .lane__list{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:grid;
  gap:10px;
}
.page-contact .lane__list li{
  position:relative;
  padding-left:20px;
  font-size:15px;
  line-height:1.74;
  color:var(--fg);
}
.page-contact .lane__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  border:2px solid var(--cyan);
  border-radius:1px;
}
.page-contact .lane__col--tel .lane__list li::before{border-color:var(--coral);}
.page-contact .lane__hint{
  margin:0;
  padding-top:14px;
  border-top:1px solid var(--edge-soft);
  font-size:13.5px;
  line-height:1.72;
  color:var(--fg);
}

/* ---------- 延伸阅读 ---------- */
.page-contact .link-grid{
  display:grid;
  gap:14px;
}
@media (min-width:640px){
  .page-contact .link-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:1100px){
  .page-contact .link-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
}
.page-contact .link-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:0;
  padding:18px 16px;
  border:2px solid var(--edge);
  border-radius:2px;
  background:var(--surface);
  text-decoration:none;
  transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.page-contact .link-card:hover,
.page-contact .link-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--cyan);
  box-shadow:var(--shadow-soft);
  outline:none;
}
.page-contact .link-card__k{
  align-self:flex-start;
  padding-bottom:4px;
  border-bottom:2px solid var(--cyan);
  font-size:13px;
  letter-spacing:.12em;
  color:var(--fg-strong);
}
.page-contact .link-card__d{
  font-size:14.5px;
  line-height:1.72;
  color:var(--fg);
}

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