.page-contact{
  background:var(--sand-lite);
  color:var(--txt);
  overflow-x:clip;
}

.page-contact .sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
}

/* ---------- 面包屑 ---------- */
.page-contact .crumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
  padding-top:clamp(1.25rem,3vw,2rem);
  font-size:.8125rem;
  color:var(--txt-2);
}
.page-contact .crumbs__link{color:var(--gold-deep);text-decoration:none;}
.page-contact .crumbs__link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:.2em;}
.page-contact .crumbs__sep{opacity:.55;}

/* ---------- 首屏 ---------- */
.page-contact .contact-hero{
  position:relative;
  padding:clamp(1.5rem,4vw,2.5rem) 0 clamp(2rem,5vw,3.25rem);
}
.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  top:-9rem;
  right:-6rem;
  width:min(30rem,80vw);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, rgba(243,206,107,.5), rgba(216,166,60,0) 65%);
  pointer-events:none;
}
.page-contact .contact-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.5rem;
  align-items:end;
}
.page-contact .contact-hero h1{
  font-family:var(--serif);
  font-weight:800;
  letter-spacing:-.01em;
  font-size:clamp(1.85rem,5.4vw,3.35rem);
  line-height:1.2;
  margin:0 0 1rem;
  color:var(--ink);
}
.page-contact .lede{
  max-width:60ch;
  margin:0;
  font-size:clamp(1rem,1.5vw,1.125rem);
  line-height:1.8;
  color:var(--txt-2);
}
.page-contact .contact-hero__note{
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.14em;
  line-height:1.9;
  color:var(--gold-deep);
  border-top:1px solid var(--line-gold);
  padding-top:.75rem;
}
@media (min-width:900px){
  .page-contact .contact-hero__inner{
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:2rem;
  }
  .page-contact .contact-hero__lead{grid-column:1 / span 8;}
  .page-contact .contact-hero__note{
    grid-column:10 / span 3;
    writing-mode:vertical-rl;
    white-space:nowrap;
    justify-self:start;
    border-top:0;
    border-left:1px solid var(--line-gold);
    padding:.2rem 0 .2rem .9rem;
  }
}

/* ---------- 章节小标签 ---------- */
.page-contact .section-label{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin:0 0 .75rem;
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.2em;
  color:var(--gold-deep);
}
.page-contact .section-label::before{
  content:"";
  display:block;
  width:1.6rem;
  height:1px;
  background:var(--gold);
}
.page-contact .section-label--light{color:var(--gold-hi);}
.page-contact .section-label--light::before{background:var(--gold-hi);}

/* ---------- 双板 ---------- */
.page-contact .contact-boards{
  padding:clamp(.75rem,2.5vw,1.5rem) 0 clamp(2.5rem,6vw,4rem);
}
.page-contact .contact-boards__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.5rem;
}
.page-contact .board{
  position:relative;
  min-width:0;
  padding:1.6rem 1.35rem;
  border-radius:var(--r-organic);
  box-shadow:var(--sh-1);
  transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .board--channels{
  background:var(--paper);
  border:1px solid var(--line);
}
.page-contact .board--list{
  background:var(--sand);
  border:1px solid rgba(154,111,31,.28);
}
.page-contact .board__title{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(1.2rem,2.6vw,1.6rem);
  line-height:1.35;
  margin:0 0 1.1rem;
  color:var(--ink);
}
@media (min-width:980px){
  .page-contact .contact-boards__grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  }
  .page-contact .board--channels{
    padding:2.4rem 3.6rem 2.4rem 2.4rem;
    clip-path:polygon(0 0,100% 0,93% 100%,0 100%);
    border-radius:var(--r-organic) 0 0 var(--r-organic);
  }
  .page-contact .board--list{
    margin-left:-3.4rem;
    padding:2.4rem 2.4rem 2.4rem 5rem;
    clip-path:polygon(11% 0,100% 0,100% 100%,0 100%);
    border-radius:0 var(--r-organic-2) var(--r-organic-2) 0;
  }
}

/* 渠道列表 */
.page-contact .channels{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1rem;
}
.page-contact .channels__item{
  display:grid;
  gap:.28rem;
  padding-bottom:.95rem;
  border-bottom:1px dashed rgba(154,111,31,.35);
}
.page-contact .channels__item:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.page-contact .channels__label{
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.16em;
  color:var(--gold-deep);
}
.page-contact .channels__value{
  font-size:clamp(.95rem,2.4vw,1.15rem);
  font-weight:500;
  color:var(--ink);
  overflow-wrap:anywhere;
}
.page-contact .channels__hint{
  font-size:.875rem;
  line-height:1.7;
  color:var(--txt-2);
}

/* 图 */
.page-contact .contact-shot{margin:1.5rem 0 0;}
.page-contact .contact-shot img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:var(--r-organic-2);
  background:linear-gradient(140deg,var(--sand),var(--sand-lite));
}
.page-contact .contact-shot figcaption{
  margin-top:.65rem;
  font-size:.8125rem;
  line-height:1.7;
  color:var(--txt-2);
}

/* 准备清单 */
.page-contact .prep-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1rem;
}
.page-contact .prep-item{
  display:grid;
  grid-template-columns:2.2rem minmax(0,1fr);
  gap:.75rem;
  align-items:start;
}
.page-contact .prep-item__no{
  display:grid;
  place-items:center;
  width:2.2rem;
  height:2.2rem;
  border-radius:50%;
  background:var(--ink);
  color:var(--gold-hi);
  font-family:var(--mono);
  font-size:.7rem;
}
.page-contact .prep-item p{
  margin:0;
  font-size:.9375rem;
  line-height:1.75;
  color:var(--txt-2);
}
.page-contact .prep-item strong{
  color:var(--ink);
  font-weight:600;
}

/* ---------- 深色受理带 ---------- */
.page-contact .contact-scope{
  margin-top:clamp(1rem,3vw,2rem);
  padding:clamp(2.5rem,6vw,4.5rem) 0;
}
.page-contact .contact-scope__head{max-width:62ch;}
.page-contact .contact-scope h2{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(1.45rem,3.4vw,2.1rem);
  line-height:1.35;
  margin:0 0 .85rem;
  color:var(--paper);
}
.page-contact .contact-scope__lead{
  margin:0;
  font-size:1rem;
  line-height:1.8;
  color:rgba(251,246,236,.78);
}
.page-contact .scope-grid{
  list-style:none;
  margin:clamp(1.75rem,4vw,2.5rem) 0 0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.1rem;
}
@media (min-width:820px){
  .page-contact .scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.page-contact .scope-card{
  background:var(--ink-2);
  border:1px solid rgba(216,166,60,.28);
  border-radius:var(--r-organic-2);
  padding:1.5rem 1.35rem;
  transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease);
}
.page-contact .scope-card .tag{
  display:inline-block;
  padding:.3rem .7rem;
  border-radius:999px;
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.06em;
}
.page-contact .scope-card .tag--gold{
  background:rgba(216,166,60,.16);
  color:var(--gold-hi);
  border:1px solid rgba(216,166,60,.5);
}
.page-contact .scope-card .tag--cyan{
  background:rgba(41,199,184,.14);
  color:var(--cyan);
  border:1px solid rgba(41,199,184,.45);
}
.page-contact .scope-card .tag--coral{
  background:rgba(255,107,74,.15);
  color:var(--coral);
  border:1px solid rgba(255,107,74,.45);
}
.page-contact .scope-card h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:1.125rem;
  line-height:1.5;
  margin:.9rem 0 .6rem;
  color:var(--paper);
}
.page-contact .scope-card p{
  margin:0;
  font-size:.9375rem;
  line-height:1.78;
  color:rgba(251,246,236,.76);
}
.page-contact .scope-card p.scope-card__time{
  margin-top:1rem;
  padding-top:.85rem;
  border-top:1px dashed rgba(41,199,184,.4);
  font-family:var(--mono);
  font-size:.8125rem;
  color:var(--cyan);
  opacity:.72;
  transition:opacity var(--t) var(--ease);
}
@media (hover:hover){
  .page-contact .board:hover,
  .page-contact .scope-card:hover,
  .page-contact .collab-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--sh-2);
  }
  .page-contact .scope-card:hover{
    border-color:var(--gold);
    box-shadow:0 22px 44px -28px rgba(0,0,0,.8);
  }
  .page-contact .scope-card:hover p.scope-card__time{opacity:1;}
}

/* ---------- 合作 ---------- */
.page-contact .contact-collab{
  padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(1rem,3vw,2rem);
}
.page-contact .contact-collab__head{max-width:66ch;}
.page-contact .contact-collab h2{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(1.45rem,3.4vw,2.05rem);
  line-height:1.35;
  margin:0 0 .8rem;
  color:var(--ink);
}
.page-contact .contact-collab__head p{
  margin:0;
  line-height:1.8;
  color:var(--txt-2);
}
.page-contact .collab-grid{
  list-style:none;
  margin:clamp(1.5rem,4vw,2.25rem) 0 0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1rem;
}
@media (min-width:820px){
  .page-contact .collab-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.page-contact .collab-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  border-radius:var(--r-organic-2);
  padding:1.35rem 1.25rem;
  transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .collab-card__no{
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.14em;
  color:var(--gold-deep);
}
.page-contact .collab-card h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:1.0625rem;
  margin:.7rem 0 .5rem;
  color:var(--ink);
}
.page-contact .collab-card p{
  margin:0;
  font-size:.9375rem;
  line-height:1.75;
  color:var(--txt-2);
}
.page-contact .collab-note{
  margin:clamp(1.25rem,3vw,1.75rem) 0 0;
  max-width:70ch;
  font-size:.9375rem;
  line-height:1.85;
  color:var(--txt-2);
  padding-left:1rem;
  border-left:2px solid var(--line-gold);
}

/* ---------- 地址 ---------- */
.page-contact .contact-place{
  padding:clamp(1rem,3vw,2rem) 0 clamp(2.5rem,6vw,4rem);
}
.page-contact .place-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.75rem;
  padding:clamp(1.6rem,4vw,2.75rem);
  border-radius:var(--r-organic);
  background-color:var(--ink);
  background-image:radial-gradient(circle at 84% 12%, rgba(41,199,184,.2), rgba(41,199,184,0) 58%);
  color:var(--sand-lite);
  overflow:hidden;
}
@media (min-width:900px){
  .page-contact .place-panel{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    align-items:center;
    gap:2.75rem;
  }
}
.page-contact .place-panel h2{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(1.4rem,3.2vw,1.95rem);
  line-height:1.35;
  margin:0;
  color:var(--paper);
}
.page-contact .place-address{
  margin:.5rem 0 1.25rem;
  font-size:clamp(1.05rem,2.4vw,1.3rem);
  letter-spacing:.02em;
  color:var(--gold-hi);
  font-style:normal;
}
.page-contact .place-notes{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.7rem;
}
.page-contact .place-notes li{
  position:relative;
  padding-left:1.15rem;
  font-size:.9375rem;
  line-height:1.75;
  color:rgba(251,246,236,.78);
}
.page-contact .place-notes li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7rem;
  width:.5rem;
  height:1px;
  background:var(--gold);
}
.page-contact .place-figure{margin:0;}
.page-contact .place-figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  border-radius:var(--r-organic-2);
  background:linear-gradient(160deg,var(--ink-2),var(--moss));
}
.page-contact .place-figure figcaption{
  margin-top:.6rem;
  font-family:var(--mono);
  font-size:.75rem;
  letter-spacing:.14em;
  color:rgba(251,246,236,.6);
}

/* ---------- 流程 ---------- */
.page-contact .contact-flow{
  padding:0 0 clamp(3rem,7vw,5rem);
}
.page-contact .contact-flow h2{
  font-family:var(--serif);
  font-weight:800;
  font-size:clamp(1.4rem,3.2vw,1.95rem);
  line-height:1.35;
  margin:0 0 clamp(1.5rem,3vw,2rem);
  color:var(--ink);
}
.page-contact .flow-line{
  position:relative;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:1.5rem;
}
@media (min-width:768px){
  .page-contact .flow-line{
    grid-template-columns:repeat(4,minmax(0,1fr));
    column-gap:1.5rem;
  }
  .page-contact .flow-line::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:1.05rem;
    height:1px;
    background:linear-gradient(90deg,var(--gold),rgba(216,166,60,.12));
  }
}
.page-contact .flow-step{
  position:relative;
  z-index:1;
  padding-top:2.9rem;
}
.page-contact .flow-step__no{
  position:absolute;
  top:0;
  left:0;
  display:grid;
  place-items:center;
  width:2.15rem;
  height:2.15rem;
  border-radius:50%;
  background:var(--ink);
  color:var(--gold-hi);
  font-family:var(--mono);
  font-size:.72rem;
  border:1px solid var(--gold);
}
.page-contact .flow-step h3{
  font-family:var(--serif);
  font-weight:700;
  font-size:1.0625rem;
  margin:0 0 .45rem;
  color:var(--ink);
}
.page-contact .flow-step p{
  margin:0;
  font-size:.9rem;
  line-height:1.75;
  color:var(--txt-2);
}

/* ---------- 延伸指引 ---------- */
.page-contact .contact-useful{
  margin-top:clamp(2rem,5vw,3rem);
  padding-top:1.5rem;
  border-top:1px solid var(--line);
  max-width:74ch;
  display:grid;
  gap:.85rem;
}
.page-contact .contact-useful p{
  margin:0;
  font-size:.9375rem;
  line-height:1.85;
  color:var(--txt-2);
}
.page-contact .contact-useful a{
  color:var(--gold-deep);
  text-decoration:underline;
  text-underline-offset:.22em;
  text-decoration-thickness:1px;
}
.page-contact .contact-useful a:hover{color:var(--ink);}
.page-contact .contact-useful a:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:2px;
  border-radius:3px;
}
.page-contact .contact-useful__note{
  font-size:.875rem;
  opacity:.92;
}

@media (prefers-reduced-motion:reduce){
  .page-contact .board,
  .page-contact .scope-card,
  .page-contact .collab-card,
  .page-contact .contact-useful a{transition:none;}
  .page-contact .board:hover,
  .page-contact .scope-card:hover,
  .page-contact .collab-card:hover{transform:none;}
}
