.page-contact{
  --pc-gap:clamp(20px,3vw,36px);
  --pc-radius:3px;
  background:var(--paper);
}
.page-contact .contact-hero{padding-top:calc(var(--beat) * .7);}
.page-contact .contact-hero__grid{
  display:grid;
  gap:calc(var(--pc-gap) * 1.2);
  margin-top:clamp(20px,3vw,34px);
}
.page-contact .contact-hero h1{margin:14px 0 18px;max-width:20ch;}
.page-contact .contact-hero .lede{max-width:56ch;color:var(--ink);}

.page-contact .contact-facts{
  margin:0;
  border-top:1px solid var(--rule);
}
.page-contact .contact-facts__row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px 20px;
  align-items:baseline;
  padding:14px 0;
  border-bottom:1px solid var(--rule);
}
.page-contact .contact-facts__num{
  font-family:var(--font-mono);
  font-size:clamp(19px,2.2vw,25px);
  font-weight:500;
  letter-spacing:.02em;
  color:var(--ink);
  white-space:nowrap;
}
.page-contact .contact-facts__label{
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:var(--mute);
}

.page-contact .contact-head{max-width:62ch;}
.page-contact .contact-head .h-section{margin:12px 0 16px;}

.page-contact .contact-channels .text-soft{color:var(--on-dark-soft);}
.page-contact .channel-deck{
  display:grid;
  gap:clamp(16px,2.2vw,24px);
  margin-top:calc(var(--pc-gap) * 1.5);
}
.page-contact .channel-card{
  --dy:0px;
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:clamp(22px,2.6vw,32px);
  background:rgba(246,243,236,.035);
  border:1px solid var(--line-dark);
  border-radius:var(--pc-radius);
  transform:translateY(var(--dy));
  transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),background-color var(--t) var(--ease);
}
.page-contact .channel-card:hover{
  transform:translateY(calc(var(--dy) - 3px));
  border-color:var(--gold);
  background:rgba(246,243,236,.06);
}
.page-contact .channel-card h3{color:var(--on-dark);margin:0;}
.page-contact .channel-card__num{
  margin:0;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--volt-soft);
}
.page-contact .channel-card--gold .channel-card__num{color:var(--gold);}
.page-contact .channel-card__body{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:var(--on-dark-soft);
}
.page-contact .channel-card__contact{
  align-self:flex-start;
  font-family:var(--font-mono);
  font-size:clamp(14px,1.4vw,16px);
  letter-spacing:.02em;
  color:var(--gold);
  text-decoration:none;
  padding-bottom:3px;
  border-bottom:1px solid var(--gold-deep);
  word-break:break-all;
  transition:color var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .channel-card__contact:hover{
  color:var(--gold-hi);
  border-bottom-color:var(--gold-hi);
}
.page-contact .channel-card__address{
  font-style:normal;
  font-size:15px;
  line-height:1.7;
  color:var(--on-dark);
}
.page-contact .channel-card__hint{
  margin-top:auto;
  padding-top:14px;
  border-top:1px dotted var(--line-dark-2);
  font-size:12.5px;
  line-height:1.6;
  color:var(--on-dark-faint);
}

.page-contact .prep-grid{display:grid;gap:calc(var(--pc-gap) * 1.2);}
.page-contact .prep-grid .h-section{margin:12px 0 16px;}
.page-contact .prep-grid .prose{max-width:58ch;}
.page-contact .prep-list{
  list-style:none;
  margin:calc(var(--pc-gap) * 1.1) 0 0;
  padding:0;
}
.page-contact .prep-list__item{
  display:grid;
  gap:6px;
  padding:16px 0;
  border-bottom:1px solid var(--rule);
}
.page-contact .prep-list__label{
  font-size:12.5px;
  letter-spacing:.12em;
  color:var(--gold-deep);
}
.page-contact .prep-list__text{
  margin:0;
  font-size:16px;
  line-height:1.8;
  color:var(--ink);
}
.page-contact .prep-key{
  border-bottom:1px solid var(--rule);
  transition:border-color var(--t) var(--ease),color var(--t) var(--ease);
}
.page-contact .prep-list__item:hover .prep-key{
  border-bottom-color:var(--gold);
  color:var(--ink);
}
.page-contact .prep-aside{display:grid;gap:24px;align-content:start;}
.page-contact .prep-aside__link{
  display:inline-block;
  margin-top:12px;
  font-size:13px;
  letter-spacing:.04em;
  color:var(--volt-deep);
  text-decoration:none;
  border-bottom:1px solid var(--volt-deep);
  transition:color var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .prep-aside__link:hover{color:var(--gold-deep);border-bottom-color:var(--gold);}
.page-contact .prep-aside__meta{margin:0;border-top:1px solid var(--rule);}
.page-contact .prep-aside__meta-row{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:10px 16px;
  align-items:baseline;
  padding:12px 0;
  border-bottom:1px solid var(--rule);
}
.page-contact .prep-aside__meta-row dt{
  font-size:12px;
  letter-spacing:.1em;
  color:var(--mute);
}
.page-contact .prep-aside__meta-row dd{
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:var(--ink);
}

.page-contact .contact-routing .text-soft{color:var(--on-dark-soft);}
.page-contact .contact-routing__figure{margin:calc(var(--pc-gap) * 1.3) 0 calc(var(--pc-gap) * 1.5);}
.page-contact .figure__img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .route-band{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0;
}
.page-contact .route-band__item{
  position:relative;
  padding:28px 0 26px;
  border-top:2px solid var(--line-dark-2);
  transition:border-color var(--t) var(--ease);
}
.page-contact .route-band__item:hover{border-top-color:var(--volt);}
.page-contact .route-band__idx{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.14em;
  color:var(--gold);
}
.page-contact .route-band__item h3{color:var(--on-dark);margin:0 0 10px;}
.page-contact .route-band__item p{
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:var(--on-dark-soft);
}
.page-contact .route-band__link{
  display:inline-block;
  margin-top:12px;
  font-size:12.5px;
  letter-spacing:.05em;
  color:var(--volt-soft);
  text-decoration:none;
  border-bottom:1px solid var(--volt-soft);
  transition:color var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .route-band__link:hover{color:var(--gold);border-bottom-color:var(--gold);}
.page-contact .route-band__item:not(:last-child)::after{
  content:"→";
  position:absolute;
  top:0;
  right:0;
  transform:translate(50%,-52%);
  font-family:var(--font-mono);
  font-size:14px;
  line-height:1;
  padding:2px 5px;
  color:var(--mute);
  background:var(--ink-2);
  transition:color var(--t) var(--ease);
}
.page-contact .route-band__item:not(:last-child):hover::after{color:var(--volt-soft);}
.page-contact .routing-foot{
  margin:calc(var(--pc-gap) * 1.1) 0 0;
  max-width:66ch;
  font-size:15px;
  line-height:1.8;
  color:var(--on-dark-soft);
}

.page-contact .contact-legal{
  padding-top:calc(var(--beat) * 1.15);
  padding-bottom:calc(var(--beat) * 1.15);
}
.page-contact .legal-slab{
  display:grid;
  gap:clamp(28px,4vw,56px);
  align-items:center;
}
.page-contact .legal-slab__figure{
  margin:0 auto;
  width:100%;
  max-width:300px;
}
.page-contact .legal-slab__body .h-section{margin:12px 0 16px;}
.page-contact .legal-slab__body .prose{max-width:48ch;}
.page-contact .legal-meta{
  margin:calc(var(--pc-gap) * 1.1) 0 0;
  border-top:1px solid var(--rule);
}
.page-contact .legal-meta__row{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:10px 18px;
  align-items:baseline;
  padding:14px 0;
  border-bottom:1px solid var(--rule);
}
.page-contact .legal-meta__row dt{
  font-size:12.5px;
  letter-spacing:.1em;
  color:var(--mute);
}
.page-contact .legal-meta__row dd{
  margin:0;
  font-size:15px;
  line-height:1.7;
  color:var(--ink);
}
.page-contact .legal-meta__icp{
  font-family:var(--font-mono);
  letter-spacing:.03em;
}
.page-contact .contact-close{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  align-items:center;
  margin-top:calc(var(--pc-gap) * 1.3);
}
.page-contact .contact-close a{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.05em;
  color:var(--volt-deep);
  text-decoration:none;
  padding-bottom:2px;
  border-bottom:1px solid transparent;
  transition:color var(--t) var(--ease),border-color var(--t) var(--ease);
}
.page-contact .contact-close a:hover{color:var(--gold-deep);border-bottom-color:var(--gold);}
.page-contact ::selection{background:var(--gold);color:var(--ink);}

@media (min-width:760px){
  .page-contact .prep-list__item{
    grid-template-columns:132px minmax(0,1fr);
    gap:8px 28px;
    align-items:baseline;
  }
}

@media (min-width:880px){
  .page-contact .route-band{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-contact .route-band__item{padding:32px 28px 30px 0;}
  .page-contact .route-band__item + .route-band__item{
    padding-left:28px;
    border-left:1px solid var(--line-dark);
  }
  .page-contact .route-band__item:last-child{padding-right:0;}
  .page-contact .route-band__item:not(:last-child)::after{right:0;}
}

@media (min-width:900px){
  .page-contact .channel-deck{
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
    padding-bottom:72px;
  }
  .page-contact .channel-card:nth-child(2){--dy:32px;}
  .page-contact .channel-card:nth-child(3){--dy:64px;}

  .page-contact .legal-slab{
    grid-template-columns:300px minmax(0,1fr);
    gap:clamp(40px,6vw,80px);
  }
  .page-contact .legal-slab__figure{margin:0;}
}

@media (min-width:1000px){
  .page-contact .contact-hero__grid{
    grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
    gap:clamp(40px,6vw,90px);
    align-items:end;
  }
  .page-contact .prep-grid{
    grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr);
    gap:clamp(40px,6vw,84px);
    align-items:start;
  }
}

@media (max-width:479px){
  .page-contact .channel-card__contact{font-size:13.5px;}
  .page-contact .contact-facts__row{grid-template-columns:minmax(0,1fr);}
  .page-contact .legal-meta__row{grid-template-columns:minmax(0,1fr);}
  .page-contact .prep-aside__meta-row{grid-template-columns:minmax(0,1fr);}
}
