.page-contact{
  --contact-gold-soft:rgba(212,175,55,.14);
  --contact-gold-line:rgba(232,209,140,.26);
  --contact-panel:#13294B;
  --contact-panel-deep:#1A2B4C;
  background:var(--primary-deep-blue);
  color:var(--ivory-white);
  overflow-x:hidden;
  position:relative;
}

.page-contact .section-eyebrow{
  color:var(--accent-gold);
  font-family:var(--mono-font);
  font-size:.8125rem;
  letter-spacing:.12em;
  line-height:1.6;
  margin:0 0 .5rem;
  text-transform:uppercase;
}

.page-contact .section-heading{
  margin-bottom:2.5rem;
}

.page-contact .section-heading h2{
  color:var(--ivory-white);
  font-family:var(--heading-font);
  font-size:1.875rem;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.3;
  margin:0 0 .625rem;
}

.page-contact .section-subheading{
  color:var(--misty-blue);
  font-size:1rem;
  line-height:1.75;
  margin:0;
  max-width:46rem;
}

/* ---------- Hero ---------- */
.page-contact .contact-hero{
  padding:1.75rem 0 3.25rem;
  position:relative;
}

.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:360px;
  background:
    linear-gradient(var(--contact-gold-line) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,var(--contact-gold-line) 1px,transparent 1px) 0 0/48px 48px;
  opacity:.14;
  pointer-events:none;
}

.page-contact .contact-hero .container{
  position:relative;
  z-index:1;
}

.page-contact .contact-hero .breadcrumb{
  margin-bottom:2.5rem;
}

.page-contact .contact-hero-grid{
  display:grid;
  gap:2.5rem;
  align-items:center;
}

.page-contact .contact-hero-content{
  max-width:42rem;
}

.page-contact .contact-hero-content h1{
  color:var(--ivory-white);
  font-family:var(--heading-font);
  font-size:1.85rem;
  font-weight:900;
  letter-spacing:.05em;
  line-height:1.3;
  margin:0 0 1.25rem;
}

.page-contact .contact-hero-lead{
  color:var(--misty-blue);
  font-family:var(--body-font);
  font-size:1rem;
  line-height:1.85;
  margin:0 0 1.75rem;
}

.page-contact .contact-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.875rem;
  margin-bottom:1.25rem;
}

.page-contact .contact-hero-note{
  color:var(--pale-gold);
  font-size:.875rem;
  letter-spacing:.04em;
  margin:0;
  opacity:.85;
}

.page-contact .contact-hero-visual{
  display:flex;
  justify-content:center;
}

.page-contact .contact-hero-img-frame{
  background:var(--contact-panel);
  border-radius:2rem;
  box-shadow:0 0 0 1px var(--contact-gold-line),0 1.5rem 3rem rgba(0,0,0,.35);
  overflow:hidden;
  width:100%;
  max-width:600px;
}

.page-contact .contact-hero-img{
  display:block;
  height:auto;
  max-width:100%;
  object-fit:cover;
  width:100%;
}

/* ---------- Contact Channels ---------- */
.page-contact .contact-channels{
  background:var(--secondary-navy);
  padding:4rem 0;
}

.page-contact .contact-channel-grid{
  display:grid;
  gap:1.25rem;
}

.page-contact .contact-channel-card{
  background:var(--contact-panel-deep);
  border-radius:1.75rem;
  box-shadow:0 0 0 1px rgba(232,209,140,.12),0 1rem 2rem rgba(0,0,0,.2);
  display:flex;
  flex-direction:column;
  padding:2rem 1.75rem;
  position:relative;
  transition:transform var(--transition-medium),box-shadow var(--transition-medium);
}

.page-contact .contact-channel-card::after{
  content:"";
  position:absolute;
  top:1rem;
  right:1.25rem;
  width:2.5rem;
  height:2.5rem;
  border-top:1px solid var(--contact-gold-line);
  border-right:1px solid var(--contact-gold-line);
  border-radius:0 .75rem 0 0;
  opacity:.5;
  pointer-events:none;
}

.page-contact .contact-channel-card:hover{
  box-shadow:0 0 0 1px var(--accent-gold),0 1.25rem 2.5rem rgba(0,0,0,.28);
  transform:translateY(-4px);
}

.page-contact .contact-channel-icon{
  align-items:center;
  background:var(--contact-gold-soft);
  border:1px solid var(--contact-gold-line);
  border-radius:1.25rem;
  color:var(--accent-gold);
  display:flex;
  height:3.25rem;
  justify-content:center;
  margin-bottom:1.5rem;
  width:3.25rem;
}

.page-contact .contact-channel-icon svg{
  height:1.75rem;
  width:1.75rem;
}

.page-contact .contact-channel-card h3{
  color:var(--ivory-white);
  font-family:var(--heading-font);
  font-size:1.125rem;
  font-weight:600;
  letter-spacing:.04em;
  margin:0 0 .625rem;
}

.page-contact .contact-channel-value{
  color:var(--accent-gold);
  font-size:.9375rem;
  letter-spacing:.02em;
  line-height:1.6;
  margin:0 0 1rem;
  overflow-wrap:anywhere;
  word-break:break-all;
}

.page-contact .contact-channel-desc{
  color:var(--misty-blue);
  font-size:.875rem;
  line-height:1.7;
  margin:0 0 1.25rem;
  flex:1;
}

.page-contact .contact-channel-link{
  align-self:flex-start;
  align-items:center;
  color:var(--ivory-white);
  display:inline-flex;
  font-family:var(--body-font);
  font-size:.875rem;
  gap:.375rem;
  text-decoration:none;
  border-bottom:1px solid var(--accent-gold);
  padding-bottom:.25rem;
  transition:color var(--transition-fast),border-color var(--transition-fast);
}

.page-contact .contact-channel-link span{
  color:var(--accent-gold);
  transition:transform var(--transition-fast);
}

.page-contact .contact-channel-link:hover{
  color:var(--accent-gold);
}

.page-contact .contact-channel-link:hover span{
  transform:translateX(4px);
}

/* ---------- Contact Scenarios ---------- */
.page-contact .contact-scenarios{
  padding:4.5rem 0;
}

.page-contact .contact-scenarios-grid{
  display:grid;
  gap:2.5rem;
}

.page-contact .contact-scenarios-guide{
  color:var(--misty-blue);
  font-size:.95rem;
  line-height:1.8;
  margin:0;
  max-width:34rem;
}

.page-contact .contact-scenarios-list{
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.page-contact .contact-scenario-item{
  align-items:flex-start;
  background:rgba(255,255,240,.03);
  border-radius:1.5rem;
  display:flex;
  gap:1.125rem;
  padding:1.5rem 1.375rem;
  position:relative;
}

.page-contact .contact-scenario-item::before{
  content:"";
  position:absolute;
  left:0;
  top:1.75rem;
  bottom:1.75rem;
  width:3px;
  background:var(--accent-gold);
  border-radius:0 3px 3px 0;
  opacity:.55;
}

.page-contact .contact-scenario-num{
  color:var(--accent-gold);
  flex:0 0 auto;
  font-size:1.375rem;
  font-weight:700;
  letter-spacing:.06em;
  line-height:1.2;
  margin-top:.125rem;
}

.page-contact .contact-scenario-body h3{
  color:var(--ivory-white);
  font-family:var(--heading-font);
  font-size:1.125rem;
  font-weight:600;
  margin:0 0 .5rem;
}

.page-contact .contact-scenario-body p{
  color:var(--misty-blue);
  font-size:.9rem;
  line-height:1.8;
  margin:0 0 .875rem;
}

.page-contact .contact-scenario-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}

/* ---------- Contact Promise ---------- */
.page-contact .contact-promise{
  padding:2rem 0 4rem;
}

.page-contact .contact-promise-box{
  background:linear-gradient(135deg,var(--contact-panel-deep) 0%,var(--primary-deep-blue) 58%,var(--contact-panel-deep) 100%);
  border:.625rem solid transparent;
  border-image:linear-gradient(120deg,var(--accent-gold) 0%,var(--pale-gold) 38%,var(--accent-gold) 68%,var(--pale-gold) 100%) 1;
  border-radius:2rem;
  padding:2.25rem 1.75rem;
  position:relative;
  text-align:center;
}

.page-contact .contact-promise-badge{
  color:var(--accent-gold);
  font-size:1.5rem;
  margin-bottom:.75rem;
}

.page-contact .contact-promise-box h2{
  color:var(--ivory-white);
  font-family:var(--heading-font);
  font-size:1.875rem;
  font-weight:700;
  letter-spacing:.04em;
  margin:0 0 .875rem;
}

.page-contact .contact-promise-lead{
  color:var(--ivory-white);
  font-size:1rem;
  line-height:1.8;
  margin:0 auto 1.75rem;
  max-width:36rem;
}

.page-contact .contact-promise-list{
  display:grid;
  gap:.75rem;
  list-style:none;
  margin:0 auto 1.75rem;
  max-width:42rem;
  padding:0;
  text-align:left;
}

.page-contact .contact-promise-list li{
  color:var(--misty-blue);
  font-size:.9rem;
  line-height:1.75;
  padding-left:1.75rem;
  position:relative;
}

.page-contact .contact-promise-list li::before{
  content:"◆";
  color:var(--accent-gold);
  font-size:.625rem;
  left:0;
  position:absolute;
  top:.6rem;
}

.page-contact .contact-promise-note{
  color:var(--pale-gold);
  font-size:.875rem;
  line-height:1.7;
  margin:0;
}

/* ---------- Contact Map ---------- */
.page-contact .contact-map{
  background:var(--secondary-navy);
  padding:4rem 0;
}

.page-contact .contact-map-grid{
  display:grid;
  gap:2rem;
  align-items:center;
}

.page-contact .contact-map-visual{
  background:var(--contact-panel-deep);
  border-radius:1.75rem;
  box-shadow:0 0 0 1px var(--contact-gold-line),0 1rem 2rem rgba(0,0,0,.22);
  overflow:hidden;
}

.page-contact .contact-map-img{
  display:block;
  height:auto;
  max-width:100%;
  object-fit:cover;
  width:100%;
}

.page-contact .contact-map-info{
  padding:.5rem 0;
}

.page-contact .contact-map-pin{
  color:var(--accent-gold);
  font-size:1.25rem;
  line-height:1;
  margin-bottom:1rem;
  display:block;
}

.page-contact .contact-map-info h3{
  color:var(--ivory-white);
  font-family:var(--heading-font);
  font-size:1.25rem;
  font-weight:600;
  letter-spacing:.04em;
  margin:0 0 .75rem;
}

.page-contact .contact-map-info p{
  color:var(--misty-blue);
  font-size:.9rem;
  line-height:1.8;
  margin:0 0 1.5rem;
  max-width:34rem;
}

.page-contact .contact-map-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
}

/* ---------- Contact Assist ---------- */
.page-contact .contact-assist{
  padding:3.5rem 0;
}

.page-contact .contact-assist-inner{
  align-items:flex-start;
  background:var(--contact-panel);
  border-radius:1.75rem;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  justify-content:space-between;
  padding:2rem 1.75rem;
}

.page-contact .contact-assist-text h3{
  color:var(--ivory-white);
  font-family:var(--heading-font);
  font-size:1.125rem;
  font-weight:600;
  margin:0 0 .5rem;
}

.page-contact .contact-assist-text p{
  color:var(--misty-blue);
  font-size:.9rem;
  line-height:1.75;
  margin:0;
  max-width:38rem;
}

.page-contact .contact-assist-links{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}

.page-contact .contact-assist-link{
  color:var(--accent-gold);
  font-size:.875rem;
  letter-spacing:.04em;
  text-decoration:none;
  border-bottom:1px solid var(--contact-gold-line);
  padding-bottom:.25rem;
  transition:border-color var(--transition-fast),color var(--transition-fast);
}

.page-contact .contact-assist-link:hover{
  border-color:var(--accent-gold);
  color:var(--pale-gold);
}

/* ---------- Media Query: 640px ---------- */
@media (min-width:640px){
  .page-contact .contact-hero-content h1{
    font-size:2.25rem;
  }

  .page-contact .contact-channel-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .page-contact .contact-scenario-item{
    padding:1.75rem 2rem;
  }

  .page-contact .contact-promise-box{
    padding:3rem 2.5rem;
  }

  .page-contact .contact-promise-list{
    grid-template-columns:repeat(2,1fr);
    gap:1rem 2rem;
  }

  .page-contact .contact-assist-inner{
    flex-direction:row;
    align-items:center;
  }
}

/* ---------- Media Query: 1024px ---------- */
@media (min-width:1024px){
  .page-contact .contact-hero{
    padding:2.5rem 0 4.5rem;
  }

  .page-contact .contact-hero-grid{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:3.5rem;
  }

  .page-contact .contact-hero-content h1{
    font-size:2.75rem;
    line-height:1.25;
  }

  .page-contact .contact-hero-lead{
    font-size:1.0625rem;
  }

  .page-contact .contact-channel-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .page-contact .contact-channels{
    padding:5rem 0;
  }

  .page-contact .contact-scenarios{
    padding:6rem 0;
  }

  .page-contact .contact-scenarios-grid{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:4rem;
  }

  .page-contact .contact-scenario-item{
    padding:2rem 2.25rem;
  }

  .page-contact .contact-map-grid{
    grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
    gap:3rem;
  }

  .page-contact .contact-promise{
    padding:2.5rem 0 6rem;
  }

  .page-contact .contact-promise-box{
    padding:3.5rem 3rem;
  }

  .page-contact .contact-assist{
    padding:4rem 0;
  }
}
