
.contact-page{
  background:#000;
  color:#fff;
}
.contact-hero{
  background:#000;
  min-height:760px;
}
.contact-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:90px;
  align-items:center;
  padding:70px 0 90px;
}
.contact-copy{
  max-width:620px;
}
.contact-copy .eyebrow{
  color:#B400FA;
  font:800 16px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  margin:0 0 24px;
}
.contact-copy h1{
  font:800 clamp(58px,6vw,92px)/.9 Montserrat,sans-serif;
  letter-spacing:-.04em;
  margin:0;
}
.contact-copy h1 span{
  color:#B400FA;
}
.contact-copy .accent-rule{
  width:100%;
  height:5px;
  background:#B400FA;
  margin:38px 0 34px;
}
.contact-subhead{
  font:900 24px/1.35 Roboto,sans-serif;
  margin:0 0 14px;
}
.contact-body{
  font:400 18px/1.55 Roboto,sans-serif;
  color:#d7d7d7;
  max-width:540px;
  margin:0;
}

.contact-form-wrap{
  background:#111;
  border:1px solid #2b2b2b;
  padding:38px;
}
.contact-form{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.contact-form label{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.contact-form label span{
  font:800 13px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.contact-form input,
.contact-form textarea{
  width:100%;
  box-sizing:border-box;
  background:#000;
  border:1px solid #3a3a3a;
  color:#fff;
  padding:14px 15px;
  font:400 16px/1.4 Roboto,sans-serif;
  outline:none;
  border-radius:0;
}
.contact-form textarea{
  resize:vertical;
  min-height:150px;
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-color:#B400FA;
}
.contact-submit{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:100%;
  max-width:300px;
  padding:17px 22px;
  background:#B400FA;
  color:#fff;
  border:0;
  cursor:pointer;
  font:800 15px/1 Montserrat,sans-serif;
  text-transform:uppercase;
}
.direct-email{
  border-top:1px solid #2b2b2b;
  margin-top:28px;
  padding-top:22px;
}
.direct-label{
  color:#B400FA;
  font:800 13px/1 Montserrat,sans-serif;
  text-transform:uppercase;
  margin:0 0 7px;
}
.direct-placeholder{
  font:400 16px/1.4 Roboto,sans-serif;
  color:#b8b8b8;
  margin:0;
}

@media(max-width:1000px){
  .contact-hero-inner{
    grid-template-columns:1fr;
    gap:48px;
    padding:50px 0 70px;
  }
  .contact-copy{
    max-width:none;
  }
  .contact-form-wrap{
    max-width:720px;
  }
}
@media(max-width:640px){
  .contact-hero-inner{
    padding:36px 0 54px;
  }
  .contact-copy h1{
    font-size:clamp(48px,15vw,68px);
  }
  .field-row{
    grid-template-columns:1fr;
  }
  .contact-form-wrap{
    padding:24px;
  }
  .contact-submit{
    max-width:none;
  }
}

/* v58 — Contact footer: standard light-footer colors + brand hover */
.contact-page footer { color:#000000; }
.contact-page footer p,
.contact-page footer li,
.contact-page footer span { color:#000000; }

.contact-page footer a {
  color:#000000 !important;
  transition:color .2s ease;
}
.contact-page footer a:hover,
.contact-page footer a:focus-visible {
  color:#B400FA !important;
}

.contact-page footer .footer-heading,
.contact-page footer .footer-title {
  color:#B400FA !important;
}

.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{display:none;margin:0 0 22px;padding:14px 16px;font:700 15px/1.4 Roboto,sans-serif;border:1px solid #3a3a3a;background:#000}
.form-status.success,.form-status.error{display:block}.form-status.success{border-color:#B400FA;color:#fff}.form-status.error{border-color:#6b6b6b;color:#fff}
.contact-page .direct-email a{color:#fff!important;text-decoration:none}.contact-page .direct-email a:hover,.contact-page .direct-email a:focus-visible{color:#B400FA!important}
