.page-contact{
  overflow-x:clip;
  --contact-line:#E5EBF2;
  --contact-muted:#54677A;
  --contact-soft:#F6FAFF;
  --contact-radius:16px;
}

/* ===== Hero 首屏 ===== */
.page-contact .contact-hero{
  padding:24px 0 8px;
}
.page-contact .contact-hero__inner{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:24px;
  padding:36px 24px 32px;
  border-radius:var(--radius);
  background:linear-gradient(135deg,var(--c-night) 0%,var(--c-blue-deep) 72%,var(--c-blue) 100%);
  color:var(--c-white);
}
.page-contact .contact-hero__inner::before{
  content:"";
  position:absolute;
  right:-40px;
  bottom:-60px;
  width:260px;
  height:260px;
  background:var(--c-orange);
  opacity:.9;
  clip-path:polygon(100% 0,100% 100%,0 100%);
  z-index:0;
}
.page-contact .contact-hero__inner::after{
  content:"CONTACT";
  position:absolute;
  top:-4px;
  right:14px;
  z-index:0;
  font-family:var(--font-mono);
  font-size:44px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
  color:rgba(255,255,255,.06);
  pointer-events:none;
}
.page-contact .contact-hero__text,
.page-contact .contact-hero__aside{
  position:relative;
  z-index:1;
}
.page-contact .contact-hero__kicker{
  display:inline-block;
  width:fit-content;
  margin-bottom:14px;
  padding:4px 14px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.08);
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.08em;
  color:var(--c-yellow);
  text-transform:uppercase;
}
.page-contact .contact-hero__title{
  margin:0;
  font-family:var(--font-head);
  font-size:clamp(40px,8vw,64px);
  line-height:1.05;
  color:var(--c-white);
}
.page-contact .contact-hero__sub{
  max-width:620px;
  margin:14px 0 0;
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,.86);
}
.page-contact .contact-hero__aside{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

/* ===== 分屏联系网格 ===== */
.page-contact .contact-grid{
  padding:32px 0 48px;
}
.page-contact .contact-grid__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
}

/* ===== 左侧联系卡 ===== */
.page-contact .contact-channels{
  display:grid;
  gap:24px;
}
.page-contact .contact-card{
  position:relative;
  overflow:hidden;
  display:grid;
  gap:18px;
  padding:28px 24px 24px;
  border:1px solid var(--contact-line);
  border-radius:var(--contact-radius);
  background:var(--c-white);
  box-shadow:var(--shadow-sm);
}
.page-contact .contact-card__idx{
  position:absolute;
  top:14px;
  right:18px;
  font-family:var(--font-mono);
  font-size:15px;
  font-weight:700;
  color:rgba(11,16,32,.18);
}
.page-contact .contact-card__idx--light{
  color:rgba(255,255,255,.32);
}
.page-contact .contact-card--email{
  border-left:5px solid var(--c-blue);
}
.page-contact .contact-card--address{
  border-left:5px solid var(--c-orange);
}
.page-contact .contact-card--phone{
  border:0;
  border-radius:var(--contact-radius);
  background:linear-gradient(120deg,var(--c-night) 0%,var(--c-blue-deep) 100%);
  color:var(--c-white);
}
.page-contact .contact-card--phone .track-lines{
  position:absolute;
  inset:0;
  background:
    linear-gradient(transparent calc(50% - 1px),rgba(255,255,255,.12) 50%,transparent calc(50% + 1px)) 0 0/100% 56px,
    linear-gradient(90deg,transparent calc(50% - 1px),rgba(255,255,255,.08) 50%,transparent calc(50% + 1px)) 0 0/56px 100%;
  pointer-events:none;
}
.page-contact .contact-card__label{
  display:inline-flex;
  margin-bottom:12px;
  padding:4px 12px;
  border-radius:var(--radius-pill);
  background:var(--c-blue);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--c-white);
}
.page-contact .contact-card__label--on-dark{
  background:rgba(30,144,255,.24);
  border:1px solid rgba(255,255,255,.16);
  color:#BFD9FF;
}
.page-contact .contact-card__value{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:clamp(18px,4vw,26px);
  font-weight:700;
  line-height:1.4;
  color:var(--c-blue-deep);
  word-break:break-word;
}
.page-contact .contact-card__value--phone{
  color:var(--c-white);
  font-size:clamp(24px,5vw,34px);
}
.page-contact .contact-card__note{
  max-width:56ch;
  margin:0 0 16px;
  font-size:14px;
  line-height:1.7;
  color:var(--contact-muted);
}
.page-contact .contact-card__note--on-dark{
  color:rgba(255,255,255,.74);
}
.page-contact .contact-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.page-contact .contact-card__media{
  margin:0;
  border-radius:12px;
  overflow:hidden;
  background:var(--c-gray);
  aspect-ratio:4/3;
}
.page-contact .contact-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ===== 右侧联系前建议 ===== */
.page-contact .contact-side{
  display:grid;
  gap:20px;
  align-content:start;
}
.page-contact .contact-side__block{
  padding:24px;
  border:1px solid #DCEBFA;
  border-radius:var(--contact-radius);
  background:linear-gradient(180deg,#F2F8FF 0%,var(--c-white) 72%);
}
.page-contact .contact-side__title{
  margin:8px 0 8px;
  font-family:var(--font-head);
  font-size:24px;
  line-height:1.2;
  color:var(--c-night);
}
.page-contact .contact-side__sub{
  margin:0 0 16px;
  font-size:15px;
  line-height:1.7;
  color:var(--contact-muted);
}
.page-contact .contact-side__faq{
  display:grid;
  overflow:hidden;
  border:1px solid var(--contact-line);
  border-radius:var(--contact-radius);
  background:var(--c-white);
  box-shadow:var(--shadow-sm);
}
.page-contact .contact-side__qa{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  padding:16px 18px;
  border-bottom:1px solid #EDF1F6;
  text-decoration:none;
  transition:background var(--t-fast);
}
.page-contact .contact-side__qa:last-child{
  border-bottom:0;
}
.page-contact .contact-side__qa:hover,
.page-contact .contact-side__qa:focus-visible{
  outline:none;
  background:var(--contact-soft);
}
.page-contact .contact-side__qa-tag{
  padding:6px 8px;
  border-radius:6px;
  background:rgba(255,69,0,.08);
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1;
  color:var(--c-orange);
  white-space:nowrap;
}
.page-contact .contact-side__qa-text{
  font-size:15px;
  line-height:1.45;
  color:#1A2634;
}
.page-contact .contact-side__qa-arrow{
  font-family:var(--font-mono);
  font-size:18px;
  color:var(--c-blue);
  transition:transform var(--t-fast);
}
.page-contact .contact-side__qa:hover .contact-side__qa-arrow{
  transform:translateX(2px);
}

/* ===== 反馈建议区 ===== */
.page-contact .contact-bridge{
  padding:48px 0;
  background:linear-gradient(180deg,#F3F9FF 0%,#EAF4FF 100%);
}
.page-contact .contact-bridge__head{
  max-width:720px;
  margin-bottom:28px;
}
.page-contact .contact-bridge__title{
  margin:8px 0 8px;
  font-family:var(--font-head);
  font-size:clamp(28px,4vw,36px);
  line-height:1.15;
  color:var(--c-night);
}
.page-contact .contact-bridge__sub{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:var(--contact-muted);
}
.page-contact .contact-bridge__list{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-bottom:28px;
}
.page-contact .contact-bridge__item{
  padding:18px 20px;
  border:1px solid #DFE9F2;
  border-left:4px solid var(--c-blue);
  border-radius:var(--contact-radius);
  background:var(--c-white);
}
.page-contact .contact-bridge__item:nth-child(1){
  border-left-color:var(--c-orange);
}
.page-contact .contact-bridge__item:nth-child(2){
  border-left-color:var(--c-green);
}
.page-contact .contact-bridge__item p{
  margin:10px 0 0;
  font-size:15px;
  line-height:1.6;
  color:#3A4A5A;
}
.page-contact .contact-bridge__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

/* ===== 信任承诺区 ===== */
.page-contact .contact-trust{
  padding:48px 0 52px;
  background:radial-gradient(ellipse at 85% 0%,rgba(30,144,255,.35),transparent 55%),var(--c-night);
  color:var(--c-white);
}
.page-contact .contact-trust__inner{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.page-contact .contact-trust__stat{
  padding:18px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  background:rgba(255,255,255,.06);
  text-align:center;
}
.page-contact .contact-trust__stat .data-num{
  display:block;
  font-family:var(--font-mono);
  font-size:clamp(30px,6vw,44px);
  font-weight:800;
  line-height:1;
  color:var(--c-yellow);
}
.page-contact .contact-trust__stat .data-label{
  display:block;
  margin-top:8px;
  font-size:14px;
  color:rgba(255,255,255,.72);
}
.page-contact .contact-trust__text{
  grid-column:1/-1;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
}
.page-contact .contact-trust__text p{
  max-width:780px;
  margin:0 0 18px;
  font-size:15px;
  line-height:1.7;
  color:rgba(255,255,255,.78);
}

/* ===== 中屏适配 ===== */
@media (min-width:720px){
  .page-contact .contact-hero__inner::after{
    font-size:72px;
    right:24px;
  }
  .page-contact .contact-card--email,
  .page-contact .contact-card--address{
    grid-template-columns:minmax(0,1fr) 40%;
    align-items:center;
    gap:24px;
  }
  .page-contact .contact-card--phone{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:24px;
  }
  .page-contact .contact-bridge__list{
    grid-template-columns:repeat(3,1fr);
    gap:16px;
  }
}

/* ===== 桌面端分屏 ===== */
@media (min-width:1024px){
  .page-contact .contact-hero{
    padding:24px 0 12px;
  }
  .page-contact .contact-hero__inner{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:32px;
    padding:44px 48px 40px;
  }
  .page-contact .contact-hero__aside{
    justify-content:flex-end;
  }
  .page-contact .contact-grid__inner{
    grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
    gap:40px;
    align-items:start;
  }
  .page-contact .contact-side{
    position:sticky;
    top:96px;
  }
  .page-contact .contact-card__media{
    aspect-ratio:auto;
    align-self:stretch;
  }
  .page-contact .contact-card--email .contact-card__media{
    min-height:180px;
  }
  .page-contact .contact-card--address .contact-card__media{
    min-height:220px;
  }
  .page-contact .contact-trust__inner{
    grid-template-columns:160px 160px minmax(0,1fr);
    align-items:center;
    gap:24px;
  }
  .page-contact .contact-trust__stat{
    padding:24px 18px;
  }
  .page-contact .contact-trust__text{
    grid-column:auto;
    margin-left:12px;
    padding-top:0;
    padding-left:28px;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.12);
  }
}
