.page-contact{
  --c-soft: rgba(11,42,33,.74);
  --c-rule: rgba(31,74,58,.7);
  display: block;
  color: var(--text);
  padding-bottom: clamp(44px,6vw,84px);
  background:
    radial-gradient(760px 380px at 86% -6%, rgba(198,255,61,.10), transparent 64%),
    radial-gradient(620px 340px at -4% 24%, rgba(255,179,71,.07), transparent 62%);
}

.page-contact .breadcrumb{ padding-top: clamp(14px,3vw,26px); }

.page-contact .contact-hero{
  display: grid;
  gap: clamp(20px,3vw,38px);
  align-items: center;
  margin-top: clamp(16px,3vw,30px);
}

.page-contact .contact-hero h1{
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(34px,7.2vw,70px);
  line-height: 1.04;
  letter-spacing: -.02em;
  color: var(--white);
  margin: .3em 0 .5em;
}

.page-contact .contact-hero h1 .hl{
  color: var(--lime);
  background-image: linear-gradient(transparent 76%, rgba(198,255,61,.26) 76%);
}

.page-contact .lede{ max-width: 56ch; }

.page-contact .contact-hero__media{
  margin: 0;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 28px), calc(100% - 28px) 100%, 0 100%);
}

.page-contact .contact-hero__media img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.92) contrast(1.04);
}

.page-contact .media-frame__caption{
  font-size: 12.5px;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--muted);
  padding-top: 10px;
}

.page-contact .contact-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: clamp(18px,3vw,26px);
}

.page-contact .contact-chip{
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  padding: 12px 20px;
  text-decoration: none;
  color: var(--ink);
  background: var(--lime);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 11px), calc(100% - 11px) 100%, 0 100%);
  transition: background .18s var(--ease), transform .18s var(--ease);
}

.page-contact .contact-chip:hover{ background: var(--lime-deep); transform: translateY(-2px); }

.page-contact .contact-chip--ghost{
  color: var(--text);
  background: transparent;
  border: 1px solid var(--line);
  clip-path: none;
}

.page-contact .contact-chip--ghost:hover{
  color: var(--lime);
  border-color: var(--lime);
  background: rgba(198,255,61,.08);
}

.page-contact section{ margin-top: clamp(48px,7vw,92px); }

.page-contact .contact-head{ max-width: 66ch; }

.page-contact .contact-head .lede{
  margin: .7em 0 0;
  color: var(--muted);
  font-size: clamp(15px,1.9vw,17px);
  line-height: 1.78;
}

.page-contact .section-title{
  font-family: var(--font-display);
  font-size: clamp(24px,4vw,40px);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.16;
  color: var(--white);
  margin: .18em 0 0;
}

.page-contact .note{
  margin: clamp(16px,2.4vw,24px) 0 0;
  font-size: 13.5px;
  line-height: 1.75;
  color: var(--muted);
  border-left: 2px solid var(--rose);
  padding-left: 12px;
}

.page-contact a:focus-visible,
.page-contact summary:focus-visible{
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}

/* 通道列表 */
.page-contact .channel-list{
  list-style: none;
  margin: clamp(20px,3vw,32px) 0 0;
  padding: 0;
  display: grid;
  gap: clamp(16px,2.4vw,24px);
}

.page-contact .channel{
  display: grid;
  gap: 7px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.page-contact .channel__label{
  font-size: 12px;
  letter-spacing: .18em;
  color: var(--muted);
  text-transform: uppercase;
}

.page-contact .channel__value{
  font-family: var(--font-mono);
  font-size: clamp(15px,2.2vw,20px);
  font-weight: 600;
  line-height: 1.5;
  color: var(--white);
  word-break: break-word;
}

.page-contact .channel:first-child .channel__value{ color: var(--lime); }

.page-contact .channel__note{
  font-size: 13.5px;
  line-height: 1.72;
  color: var(--muted);
}

/* 标签墙 */
.page-contact .contact-tags__grid{
  display: grid;
  gap: clamp(20px,3vw,36px);
  margin-top: clamp(20px,3vw,32px);
}

.page-contact .tagwall{
  position: relative;
  display: grid;
  gap: clamp(12px,2vw,18px);
  align-content: start;
}

.page-contact .tagwall__radio{
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.page-contact .tagwall__tags{
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.page-contact .tagwall__tag{
  flex: 0 0 auto;
  cursor: pointer;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  padding: 11px 17px;
  color: var(--text);
  background: rgba(11,42,33,.62);
  border: 1px solid var(--line);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 11px), calc(100% - 11px) 100%, 0 100%);
  transition: background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}

.page-contact .tagwall__tag:hover{
  color: var(--white);
  border-color: var(--lime-deep);
  background: rgba(31,74,58,.72);
}

.page-contact .tagwall__panels{ display: grid; }

.page-contact .tagwall__panel{
  display: none;
  border: 1px solid var(--line);
  border-left: 3px solid var(--lime);
  background: var(--c-soft);
  padding: clamp(16px,2.6vw,28px);
}

.page-contact .tagwall__panel h3{
  margin: 0 0 .55em;
  font-size: clamp(18px,2.4vw,22px);
  font-weight: 800;
  color: var(--lime);
}

.page-contact .tagwall__panel p{
  margin: 0 0 1em;
  font-size: 15px;
  line-height: 1.78;
  color: var(--muted);
}

.page-contact .tagwall__panel ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
}

.page-contact .tagwall__panel li{
  position: relative;
  padding-left: 18px;
  font-size: 14.5px;
  line-height: 1.66;
  color: var(--text);
}

.page-contact .tagwall__panel li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 7px;
  height: 7px;
  background: var(--amber);
  transform: rotate(45deg);
}

.page-contact #tag-display:checked ~ .tagwall__tags [for="tag-display"],
.page-contact #tag-touch:checked ~ .tagwall__tags [for="tag-touch"],
.page-contact #tag-rotate:checked ~ .tagwall__tags [for="tag-rotate"],
.page-contact #tag-login:checked ~ .tagwall__tags [for="tag-login"],
.page-contact #tag-status:checked ~ .tagwall__tags [for="tag-status"],
.page-contact #tag-load:checked ~ .tagwall__tags [for="tag-load"]{
  background: var(--lime);
  border-color: var(--lime);
  color: var(--ink);
}

.page-contact #tag-display:focus-visible ~ .tagwall__tags [for="tag-display"],
.page-contact #tag-touch:focus-visible ~ .tagwall__tags [for="tag-touch"],
.page-contact #tag-rotate:focus-visible ~ .tagwall__tags [for="tag-rotate"],
.page-contact #tag-login:focus-visible ~ .tagwall__tags [for="tag-login"],
.page-contact #tag-status:focus-visible ~ .tagwall__tags [for="tag-status"],
.page-contact #tag-load:focus-visible ~ .tagwall__tags [for="tag-load"]{
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}

.page-contact #tag-display:checked ~ .tagwall__panels > .tagwall__panel:nth-child(1),
.page-contact #tag-touch:checked ~ .tagwall__panels > .tagwall__panel:nth-child(2),
.page-contact #tag-rotate:checked ~ .tagwall__panels > .tagwall__panel:nth-child(3),
.page-contact #tag-login:checked ~ .tagwall__panels > .tagwall__panel:nth-child(4),
.page-contact #tag-status:checked ~ .tagwall__panels > .tagwall__panel:nth-child(5),
.page-contact #tag-load:checked ~ .tagwall__panels > .tagwall__panel:nth-child(6){
  display: block;
}

.page-contact .contact-tags__media{ margin: 0; }

.page-contact .contact-tags__media img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border: 1px solid var(--line);
}

/* 材料清单 */
.page-contact .material-list{
  list-style: none;
  margin: clamp(20px,3vw,32px) 0 0;
  padding: 0;
  display: grid;
  gap: clamp(16px,2.4vw,26px);
}

.page-contact .material{
  display: grid;
  gap: 6px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.page-contact .material__num{
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  color: var(--amber);
}

.page-contact .material h3{
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--white);
}

.page-contact .material p{
  margin: 0;
  font-size: 14.5px;
  line-height: 1.72;
  color: var(--muted);
}

/* 处理流程 */
.page-contact .flow__steps{
  list-style: none;
  margin: clamp(20px,3vw,32px) 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.page-contact .flow__step{
  border: 1px solid var(--line);
  border-left: 3px solid var(--amber-deep);
  background: var(--c-soft);
  transition: border-color .18s var(--ease);
}

.page-contact .flow__step[open]{ border-left-color: var(--lime); }

.page-contact .flow__step summary{
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 15px 16px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
}

.page-contact .flow__step summary::-webkit-details-marker{ display: none; }

.page-contact .flow__step[open] summary{ color: var(--lime); }

.page-contact .flow__num{
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  color: var(--amber);
  letter-spacing: .08em;
}

.page-contact .flow__step p{
  margin: 0;
  padding: 0 16px 18px;
  font-size: 14.5px;
  line-height: 1.76;
  color: var(--muted);
}

/* 转接路径 */
.page-contact .route-list{
  list-style: none;
  margin: clamp(18px,3vw,28px) 0 0;
  padding: 0;
}

.page-contact .route{
  display: grid;
  gap: 6px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
}

.page-contact .route:last-child{ border-bottom: 1px solid var(--line); }

.page-contact .route__case{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--white);
}

.page-contact .route__desc{
  font-size: 14.5px;
  line-height: 1.72;
  color: var(--muted);
}

.page-contact .route__link{
  justify-self: start;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--lime);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  white-space: nowrap;
  transition: color .18s var(--ease);
}

.page-contact .route__link:hover{ color: var(--white); }

/* 服务范围 */
.page-contact .contact-scope__panel{
  border: 1px solid var(--line);
  background: linear-gradient(160deg, rgba(11,42,33,.94), rgba(6,26,20,.92));
  padding: clamp(20px,4vw,44px);
  clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 26px, 100% 100%, 0 100%);
}

.page-contact .scope-list{
  list-style: none;
  margin: clamp(16px,2.5vw,26px) 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.page-contact .scope-list li{
  font-size: 14.5px;
  line-height: 1.76;
  color: var(--muted);
  padding-left: 14px;
  border-left: 2px solid rgba(198,255,61,.35);
}

.page-contact .scope-list strong{
  display: inline-block;
  margin-right: 8px;
  font-weight: 700;
  color: var(--white);
}

@media (min-width: 700px){
  .page-contact .channel-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-contact .material-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-contact .scope-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-contact .flow__steps{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 880px){
  .page-contact .contact-hero{ grid-template-columns: 1.12fr .88fr; }
  .page-contact .contact-hero__media{ transform: rotate(-1deg); transform-origin: 50% 60%; }
}

@media (min-width: 920px){
  .page-contact .contact-tags__grid{
    grid-template-columns: minmax(0,1.55fr) minmax(0,.78fr);
    align-items: start;
  }
  .page-contact .tagwall__tags{ flex-wrap: wrap; overflow: visible; padding-bottom: 0; }
  .page-contact .tagwall__panel{ min-height: 216px; }
  .page-contact .contact-tags__media{ transform: rotate(1.2deg); }
  .page-contact .route{ grid-template-columns: minmax(0,1fr) minmax(0,1.3fr) auto; align-items: center; gap: 26px; }
  .page-contact .route__link{ margin-top: 0; justify-self: end; }
}

@media (prefers-reduced-motion: reduce){
  .page-contact .contact-chip,
  .page-contact .tagwall__tag,
  .page-contact .route__link{ transition: none; }
  .page-contact .contact-hero__media,
  .page-contact .contact-tags__media{ transform: none; }
  .page-contact .contact-chip:hover{ transform: none; }
}
