.page-contact{
  position:relative;
  overflow:hidden;
  background:var(--color-primary-bg);
  color:var(--color-text-primary);
}
.page-contact::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    linear-gradient(var(--color-border) 1px,transparent 1px),
    linear-gradient(90deg,var(--color-border) 1px,transparent 1px);
  background-size:44px 44px;
}
.page-contact>*{position:relative;z-index:1;}
.page-contact .breadcrumbs{
  padding-top:calc(var(--header-top) + var(--header-height) + 28px);
  padding-bottom:0;
  font-family:var(--font-body);
  font-size:.875rem;
  color:var(--color-text-muted);
}
.page-contact .breadcrumbs a{
  color:var(--color-text-secondary);
  text-decoration:none;
  transition:color var(--transition-fast);
}
.page-contact .breadcrumbs a:hover{
  color:var(--color-accent-gold);
}
.page-contact .contact-hero{
  display:grid;
  grid-template-columns:1fr;
  gap:2rem;
  padding:2.5rem 0 1rem;
}
.page-contact .contact-h1{
  font-family:var(--font-headline);
  font-weight:800;
  font-size:clamp(2.4rem,7vw,3.5rem);
  line-height:1.06;
  letter-spacing:.01em;
  margin:.4rem 0 1.25rem;
}
.page-contact .contact-lead{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.7;
  color:var(--color-text-secondary);
  border-left:2px solid var(--color-accent-gold);
  padding-left:1rem;
  max-width:38em;
}
.page-contact .contact-hero-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:1.4rem;
}
.page-contact .contact-hero-file{
  position:relative;
  border:1px solid var(--color-border);
  border-right:4px solid var(--color-accent-gold);
  background:linear-gradient(135deg,rgba(212,175,55,.07),transparent 60%),var(--color-elevated-bg);
  padding:1.6rem 1.4rem;
  transform:skewX(-2deg);
  min-height:190px;
}
.page-contact .contact-hero-file .text-vertical{
  position:absolute;
  right:1.2rem;
  top:1.2rem;
  color:var(--color-text-muted);
  font-size:.75rem;
  letter-spacing:.3em;
}
.page-contact .file-tag{
  font-family:var(--font-body);
  font-size:.75rem;
  letter-spacing:.18em;
  color:var(--color-accent-gold);
  text-transform:uppercase;
  margin:0 0 .5rem;
}
.page-contact .file-code{
  font-family:var(--font-body);
  font-size:1.35rem;
  margin:0 0 .8rem;
  color:var(--color-text-primary);
  letter-spacing:.08em;
}
.page-contact .file-stamp{
  display:inline-block;
  border:2px solid var(--color-accent-gold);
  color:var(--color-accent-gold);
  font-family:var(--font-headline);
  font-weight:700;
  font-size:1rem;
  line-height:1.15;
  padding:.35rem .7rem;
  transform:rotate(-4deg);
  background:rgba(212,175,55,.05);
}
.page-contact .contact-channels{
  padding:3rem 0 1.5rem;
}
.page-contact .section-head-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1.5rem;
  border-bottom:1px solid var(--color-border);
  padding-bottom:1rem;
}
.page-contact .contact-h2{
  font-family:var(--font-headline);
  font-size:clamp(1.6rem,4vw,2.2rem);
  font-weight:700;
  margin:.3rem 0 1.5rem;
  letter-spacing:.02em;
}
.page-contact .section-head-row .contact-h2{
  margin-bottom:0;
}
.page-contact .channels-stamp{
  width:64px;
  height:64px;
  flex:0 0 64px;
  border:1px solid var(--color-border);
  transform:rotate(3deg);
  object-fit:cover;
  filter:contrast(1.1) saturate(.9);
}
.page-contact .channels-layout{
  display:grid;
  gap:1.5rem;
}
.page-contact .channels-list{
  display:grid;
  gap:.9rem;
}
.page-contact .channel-item{
  display:grid;
  grid-template-columns:44px 1fr;
  grid-template-areas:
    "icon label"
    "icon value"
    "icon note";
  gap:.15rem 1rem;
  align-items:center;
  padding:1.05rem 1.2rem;
  background:var(--color-elevated-bg);
  border:1px solid var(--color-border);
  border-left:3px solid var(--color-accent-gold);
  text-decoration:none;
  color:var(--color-text-primary);
  transition:background var(--transition-fast),border-color var(--transition-fast);
}
.page-contact .channel-item:hover{
  background:#202A38;
  border-color:var(--color-accent-blue);
}
.page-contact .channel-item--static:hover{
  border-color:var(--color-border);
  background:var(--color-elevated-bg);
}
.page-contact .channel-icon{
  grid-area:icon;
  align-self:start;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  background:var(--color-primary-bg);
  border:1px solid var(--color-border);
  color:var(--color-accent-gold);
  margin-top:2px;
}
.page-contact .channel-icon svg{
  width:20px;
  height:20px;
}
.page-contact .channel-label{
  grid-area:label;
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--color-accent-gold);
}
.page-contact .channel-value{
  grid-area:value;
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.4;
  word-break:break-all;
  color:var(--color-text-primary);
}
.page-contact .channel-note{
  grid-area:note;
  font-size:.85rem;
  color:var(--color-text-secondary);
}
.page-contact .map-block{
  min-width:0;
}
.page-contact .map-heading{
  font-family:var(--font-headline);
  font-size:1.3rem;
  font-weight:700;
  margin:.6rem 0 .8rem;
  padding-left:.75rem;
  border-left:3px solid var(--color-accent-gold);
}
.page-contact .map-stage{
  position:relative;
  margin:0;
  border:1px solid var(--color-border);
  background:var(--color-secondary-bg);
  aspect-ratio:4/3;
  overflow:hidden;
}
.page-contact .map-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.page-contact .map-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
}
.page-contact .map-svg text{
  font-family:var(--font-body);
}
.page-contact .map-svg .map-label-gold{fill:var(--color-accent-gold);}
.page-contact .map-svg .map-label-muted{fill:var(--color-text-muted);}
.page-contact .map-marker{
  opacity:.85;
  transition:opacity var(--transition-fast);
}
.page-contact .map-stage:hover .map-marker{
  opacity:1;
}
.page-contact .map-caption{
  position:absolute;
  left:1rem;
  bottom:1rem;
  z-index:2;
  margin:0;
  background:rgba(13,15,20,.8);
  border-left:2px solid var(--color-accent-gold);
  padding:.4rem .65rem;
  font-family:var(--font-body);
  font-size:.72rem;
  letter-spacing:.12em;
  color:var(--color-text-secondary);
}
.page-contact .contact-notes{
  padding:3rem 0 2rem;
  border-top:1px solid var(--color-border);
  margin-top:2rem;
}
.page-contact .reply-grid{
  row-gap:1rem;
  column-gap:1rem;
  margin-top:.5rem;
}
.page-contact .reply-card{
  padding:1.25rem 1.3rem;
  border-top:2px solid var(--color-accent-gold);
  background:var(--color-elevated-bg);
}
.page-contact .reply-card h3{
  font-family:var(--font-headline);
  font-size:1.2rem;
  margin:0 0 .6rem;
}
.page-contact .reply-card p{
  font-family:var(--font-body);
  font-size:.9rem;
  line-height:1.7;
  color:var(--color-text-secondary);
}
.page-contact .reply-commitment{
  margin:1.5rem 0 1.25rem;
  padding:1.4rem 1.6rem 1.4rem 2rem;
  background:rgba(212,175,55,.05);
  border:1px dashed var(--color-accent-gold);
  border-left:4px solid var(--color-accent-gold);
  position:relative;
}
.page-contact .reply-commitment::before{
  content:"REPLY NOTE";
  position:absolute;
  top:-9px;
  left:1rem;
  background:var(--color-primary-bg);
  padding:0 .5rem;
  font-family:var(--font-body);
  font-size:.68rem;
  letter-spacing:.2em;
  color:var(--color-accent-gold);
}
.page-contact .reply-commitment p{
  margin:0;
  font-family:var(--font-body);
  font-size:.9rem;
  line-height:1.75;
  color:var(--color-text-primary);
}
.page-contact .related-support{
  font-family:var(--font-body);
  font-size:.9rem;
  color:var(--color-text-secondary);
  border-top:1px solid var(--color-border);
  padding-top:1.2rem;
}
.page-contact .related-support a{
  color:var(--color-accent-blue);
  text-decoration:none;
  border-bottom:1px solid rgba(0,229,255,.4);
}
.page-contact .related-support a:hover{
  color:var(--color-text-primary);
  border-color:var(--color-accent-blue);
}
.page-contact .contact-related{
  padding:2.5rem 0 4rem;
}
.page-contact .related-list{
  display:grid;
  gap:1rem;
  margin-top:1.5rem;
}
.page-contact .related-card{
  display:flex;
  flex-direction:column;
  gap:.3rem;
  padding:1.25rem 1.35rem;
  background:var(--color-elevated-bg);
  border:1px solid var(--color-border);
  border-right:3px solid var(--color-accent-blue);
  color:var(--color-text-primary);
  text-decoration:none;
  transition:border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast);
  position:relative;
}
.page-contact .related-card::after{
  content:"→";
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  color:var(--color-accent-gold);
  font-family:var(--font-body);
  font-size:1.1rem;
}
.page-contact .related-card:hover{
  border-color:var(--color-accent-gold);
  background:#202A38;
  transform:translateX(4px);
}
.page-contact .related-card-title{
  font-family:var(--font-headline);
  font-size:1.15rem;
  font-weight:700;
}
.page-contact .related-card-desc{
  font-family:var(--font-body);
  font-size:.85rem;
  color:var(--color-text-secondary);
  padding-right:1.5rem;
}
@media (min-width:720px){
  .page-contact .contact-hero{
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
    align-items:center;
    gap:2rem;
    padding-top:3rem;
  }
  .page-contact .channels-layout{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:1.5rem;
  }
  .page-contact .related-list{
    grid-template-columns:repeat(3,1fr);
  }
}
@media (min-width:1024px){
  .page-contact .channels-layout{
    gap:2rem;
  }
  .page-contact .contact-related{
    padding:3rem 0 5rem;
  }
}
