.page-contact{
  --contact-hair:rgba(201,162,75,.28);
  --contact-body:rgba(255,249,239,.78);
  color:var(--ivory);
  padding:var(--sp-5) 0 var(--sp-8);
}
.page-contact :focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;}

.page-contact .breadcrumb{margin-bottom:var(--sp-5);font-size:.8rem;}

.page-contact .contact-intro{max-width:52rem;margin:0 0 var(--sp-6);}
.page-contact .eyebrow{
  margin:0 0 var(--sp-3);
  font-family:var(--font-latin);
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
}
.page-contact .display-title{
  margin:0 0 var(--sp-4);
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:-.02em;
  font-size:clamp(1.95rem,7vw,3.4rem);
  line-height:1.14;
  color:var(--ivory);
}
.page-contact .lede{
  margin:0;
  max-width:44em;
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.85;
  color:var(--contact-body);
}

/* ---------- 名片式双栏 ---------- */
.page-contact .contact-board{
  display:grid;
  gap:var(--sp-4);
  margin:var(--sp-6) 0 var(--sp-8);
}
.page-contact .board-card{
  --pad:var(--sp-4);
  position:relative;
  padding:var(--pad);
  border:1px solid var(--contact-hair);
  border-radius:var(--radius);
}
.page-contact .board-card--dark{
  background:linear-gradient(168deg,#2A2018 0%,#141719 58%,#0B0D0E 100%);
  color:var(--ivory);
}
.page-contact .board-card--paper{
  background:var(--paper);
  color:var(--ink);
  border-color:rgba(42,32,24,.2);
  box-shadow:0 24px 60px -40px rgba(0,0,0,.9);
}
.page-contact .board-card--paper::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,var(--gold),var(--amber) 62%,transparent);
}
.page-contact .board-card__media{
  margin:calc(var(--pad) * -1) calc(var(--pad) * -1) var(--sp-4);
  aspect-ratio:14/9;
  overflow:hidden;
  border-bottom:1px solid var(--contact-hair);
}
.page-contact .board-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.85) brightness(.72);
}
.page-contact .board-card__kicker{
  margin:0 0 .35rem;
  font-family:var(--font-latin);
  font-size:.66rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold-bright);
}
.page-contact .board-card__kicker--ink{color:var(--amber);}
.page-contact .board-card__title{
  margin:0 0 var(--sp-4);
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:-.01em;
  font-size:clamp(1.3rem,4.4vw,1.8rem);
  color:var(--ivory);
}
.page-contact .board-card__title--ink{color:var(--ink);}
.page-contact .board-card__intro{
  margin:0 0 var(--sp-4);
  font-size:.86rem;
  line-height:1.7;
  color:rgba(11,13,14,.66);
}

/* 联系路径条目 */
.page-contact .path-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:var(--sp-4);
}
.page-contact .path-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--sp-3);
  padding-top:var(--sp-4);
  border-top:1px solid var(--line-soft);
}
.page-contact .path-item:first-child{border-top:0;padding-top:0;}
.page-contact .path-item__no{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.12em;
  color:var(--gold);
  padding-top:.2rem;
}
.page-contact .path-item__label{
  margin:0 0 .2rem;
  font-family:var(--font-latin);
  font-size:.66rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-bright);
}
.page-contact .path-item__value{
  margin:0 0 .35rem;
  font-family:var(--font-mono);
  font-size:.92rem;
  line-height:1.6;
  color:var(--ivory);
  word-break:break-all;
}
.page-contact .path-item__value--addr{
  font-family:var(--font-body);
  font-size:.94rem;
  line-height:1.7;
  word-break:break-word;
}
.page-contact .path-item__note{
  margin:0 0 .55rem;
  font-size:.84rem;
  line-height:1.75;
  color:rgba(255,249,239,.66);
  max-width:34em;
}
.page-contact .path-item__copy{
  font-family:var(--font-display);
  font-size:.76rem;
  letter-spacing:.08em;
  padding:.35rem .85rem;
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
  background:transparent;
  color:var(--gold-bright);
  cursor:pointer;
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);
}
.page-contact .path-item__copy:hover{background:rgba(201,162,75,.14);border-color:var(--gold);}
.page-contact .path-item__copy.is-copied{
  border-color:var(--jade);
  color:var(--jade-text);
  background:rgba(62,122,102,.16);
}
.page-contact .path-item__jump{
  display:inline-block;
  font-family:var(--font-display);
  font-size:.82rem;
  color:var(--gold-bright);
  text-decoration:none;
}

/* 准备清单 */
.page-contact .checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:var(--sp-3);
}
.page-contact .checklist__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:var(--sp-3);
  align-items:start;
  padding-bottom:var(--sp-3);
  border-bottom:1px dashed rgba(42,32,24,.18);
}
.page-contact .checklist__item:last-child{border-bottom:0;padding-bottom:0;}
.page-contact .checklist__box{
  appearance:none;
  -webkit-appearance:none;
  width:20px;
  height:20px;
  margin:.1rem 0 0;
  border:1px solid var(--gold);
  border-radius:1px;
  background:rgba(255,255,255,.5);
  position:relative;
  cursor:pointer;
  flex:none;
}
.page-contact .checklist__box:checked{
  background:var(--jade);
  border-color:var(--jade);
}
.page-contact .checklist__box:checked::after{
  content:"";
  position:absolute;
  left:6px;
  top:1px;
  width:5px;
  height:11px;
  border-right:2px solid var(--paper);
  border-bottom:2px solid var(--paper);
  transform:rotate(42deg);
}
.page-contact .checklist__label{
  display:block;
  cursor:pointer;
  font-size:.9rem;
  line-height:1.68;
  color:var(--ink-2);
}
.page-contact .checklist__label strong{
  display:block;
  font-family:var(--font-display);
  font-weight:700;
  font-size:.92rem;
  margin-bottom:.15rem;
  color:var(--ink);
}
.page-contact .checklist__label span{
  display:block;
  font-size:.82rem;
  line-height:1.7;
  color:rgba(11,13,14,.62);
}
.page-contact .prep-figure{margin:var(--sp-5) 0 0;}
.page-contact .prep-figure img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  object-fit:cover;
  border:1px solid rgba(42,32,24,.2);
}
.page-contact .prep-figure figcaption{
  margin-top:.55rem;
  font-size:.76rem;
  line-height:1.6;
  color:rgba(11,13,14,.55);
}

/* ---------- 通用章节 ---------- */
.page-contact .contact-section{margin-top:var(--sp-8);}
.page-contact .section-head{
  display:block;
  margin:0 0 var(--sp-5);
  padding-top:var(--sp-4);
  border-top:1px solid var(--contact-hair);
}
.page-contact .section-head__no{
  display:block;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  color:var(--gold);
}
.page-contact .section-head__title{
  margin:.35rem 0 .4rem;
  font-family:var(--font-display);
  font-weight:800;
  letter-spacing:-.01em;
  font-size:clamp(1.28rem,4vw,1.72rem);
  color:var(--ivory);
}
.page-contact .section-head__note{
  margin:0;
  font-size:.88rem;
  line-height:1.7;
  color:var(--slate);
}

/* 邮件情况 */
.page-contact .mail-grid{
  display:grid;
  gap:var(--sp-4);
}
.page-contact .mail-item{
  padding:0 0 0 var(--sp-4);
  border-left:1px solid var(--contact-hair);
}
.page-contact .mail-item h3{
  margin:0 0 .4rem;
  font-family:var(--font-display);
  font-weight:700;
  font-size:1rem;
  line-height:1.5;
  color:var(--gold-bright);
}
.page-contact .mail-item p{
  margin:0;
  font-family:var(--font-body);
  font-size:.88rem;
  line-height:1.85;
  color:var(--contact-body);
}

/* 服务时间 */
.page-contact .hours-band{
  display:grid;
  gap:var(--sp-5);
  padding:var(--sp-5);
  border:1px solid var(--contact-hair);
  border-radius:var(--radius);
  background:radial-gradient(130% 150% at 0% 0%,rgba(62,122,102,.22),rgba(20,23,25,.92) 58%,rgba(11,13,14,.96) 100%);
}
.page-contact .hours-badge__range{
  margin:0;
  font-family:var(--font-mono);
  font-size:clamp(1.5rem,6.4vw,2.3rem);
  letter-spacing:.02em;
  color:var(--gold-bright);
}
.page-contact .hours-badge__days{
  margin:.4rem 0 0;
  font-family:var(--font-display);
  font-size:.8rem;
  letter-spacing:.12em;
  color:var(--jade-text);
}
.page-contact .hours-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.75rem;
}
.page-contact .hours-list li{
  position:relative;
  padding-left:1rem;
  font-family:var(--font-body);
  font-size:.88rem;
  line-height:1.8;
  color:var(--contact-body);
}
.page-contact .hours-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:.5rem;
  height:1px;
  background:var(--gold);
}

/* 位置 */
.page-contact .loc-grid{display:grid;gap:var(--sp-5);}
.page-contact .loc-text p{
  margin:0 0 .85rem;
  font-family:var(--font-body);
  font-size:.88rem;
  line-height:1.85;
  color:var(--contact-body);
}
.page-contact .loc-address{
  margin:0 0 var(--sp-4) !important;
  padding-left:var(--sp-4);
  border-left:2px solid var(--gold);
  font-family:var(--font-display) !important;
  font-size:1rem !important;
  line-height:1.7 !important;
  color:var(--ivory) !important;
}
.page-contact .loc-map{
  margin:0;
  padding:var(--sp-3);
  border:1px solid var(--contact-hair);
  border-radius:var(--radius);
  background:linear-gradient(158deg,#141719,#0B0D0E);
}
.page-contact .loc-map svg{display:block;width:100%;height:auto;}
.page-contact .loc-map figcaption{
  margin-top:.6rem;
  font-size:.74rem;
  line-height:1.6;
  color:var(--slate);
}
.page-contact .map__block{fill:rgba(255,249,239,.04);stroke:rgba(255,249,239,.09);}
.page-contact .map__road{stroke:rgba(201,162,75,.2);stroke-width:1.2;fill:none;}
.page-contact .map__road--main{stroke:rgba(201,162,75,.44);stroke-width:2;}
.page-contact .map__route{
  stroke:var(--gold-bright);
  stroke-width:1.6;
  stroke-dasharray:5 6;
  fill:none;
  opacity:.42;
  transition:opacity .4s var(--ease);
}
.page-contact .map:hover .map__route{opacity:1;}
.page-contact .map__pin-halo{fill:none;stroke:var(--gold);opacity:.5;}
.page-contact .map__pin{fill:var(--amber);}
.page-contact .map__label{
  fill:rgba(255,249,239,.66);
  font-size:12px;
  font-family:var(--font-latin);
  letter-spacing:.1em;
}
.page-contact .map__label--strong{
  fill:var(--gold-bright);
  font-family:var(--font-display);
  font-size:13px;
  letter-spacing:.04em;
}

/* 延伸入口 */
.page-contact .next-links{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0;
}
.page-contact .next-links li{border-top:1px solid var(--line-soft);}
.page-contact .next-links li:first-child{border-top:0;}
.page-contact .next-links a{
  display:block;
  padding:.95rem 0;
  font-family:var(--font-display);
  font-size:.92rem;
  line-height:1.6;
  color:var(--ivory);
  text-decoration:none;
}

/* 备案与法律 */
.page-contact .contact-base{
  margin-top:var(--sp-8);
  padding-top:var(--sp-4);
  border-top:1px solid var(--contact-hair);
  display:flex;
  flex-wrap:wrap;
  gap:var(--sp-2) var(--sp-5);
  justify-content:space-between;
  align-items:baseline;
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.05em;
  color:var(--slate);
}
.page-contact .contact-base p{margin:0;}
.page-contact .contact-base a{
  color:var(--slate);
  text-decoration:none;
  margin-left:var(--sp-4);
  transition:color .3s var(--ease);
}
.page-contact .contact-base a:first-child{margin-left:0;}
.page-contact .contact-base a:hover{color:var(--gold-bright);}

@media (min-width:720px){
  .page-contact{padding-top:var(--sp-6);}
  .page-contact .board-card{--pad:var(--sp-6);}
  .page-contact .mail-grid{grid-template-columns:1fr 1fr;gap:var(--sp-5) var(--sp-6);}
  .page-contact .checklist__label{font-size:.94rem;}
  .page-contact .next-links{grid-template-columns:1fr 1fr;column-gap:var(--sp-6);}
}

@media (min-width:960px){
  .page-contact .contact-board{
    grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);
    gap:0;
    align-items:start;
  }
  .page-contact .board-card--paper{margin-top:var(--sp-6);}
  .page-contact .hours-band{
    grid-template-columns:auto minmax(0,1fr);
    gap:var(--sp-7);
    align-items:center;
    padding:var(--sp-6);
  }
  .page-contact .hours-badge{
    padding-right:var(--sp-6);
    border-right:1px solid var(--contact-hair);
  }
  .page-contact .loc-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
    gap:var(--sp-6);
    align-items:center;
  }
  .page-contact .mail-item p{font-size:.9rem;}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .path-item__copy,
  .page-contact .map__route,
  .page-contact .contact-base a{transition:none;}
  .page-contact .map:hover .map__route{opacity:.6;}
}
<<<END>>>
