#p-contact .contact-grid {
  display: grid;
  gap: var(--s-7);
  padding-top: var(--s-5);
  padding-bottom: var(--s-9);
}
@media (min-width: 768px) {
  #p-contact .contact-grid { padding-top: var(--s-6); }
}
@media (min-width: 1100px) {
  #p-contact .contact-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--s-6);
    align-items: start;
  }
  #p-contact .contact-main { grid-column: 1 / span 7; }
  #p-contact .contact-side { grid-column: 8 / span 5; }
}
#p-contact .contact-form { display: grid; gap: var(--s-5); min-width: 0; }
#p-contact .chip-filter legend { display: block; width: 100%; }
#p-contact .chip-filter legend .field-req { display: inline; min-height: 0; padding: 0; border: 0; background: none; font-size: 14px; font-weight: 400; color: var(--ink-3); }
#p-contact .contact-form .textarea { min-height: 136px; }
#p-contact .contact-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s-1) var(--s-4);
}
#p-contact .contact-foot .field-hint { max-width: 40ch; }
#p-contact .contact-check { padding-top: var(--s-1); font-size: 15px; }
#p-contact .contact-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-3) var(--s-4);
  padding-top: var(--s-5);
  border-top: 1px solid var(--hairline);
}
#p-contact .contact-submit { width: 100%; }
@media (min-width: 720px) {
  #p-contact .contact-submit { width: auto; }
}
#p-contact .contact-side { display: grid; gap: var(--s-7); min-width: 0; }
#p-contact .contact-side .spec-label { font-weight: 400; margin-bottom: var(--s-3); }
#p-contact .contact-block {
  min-width: 0;
  padding: var(--s-5);
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--r-card);
}
#p-contact .next-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--hairline);
}
#p-contact .next-step {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: baseline;
  column-gap: var(--s-3);
  padding-block: var(--s-4);
  border-top: 1px solid var(--hairline);
}
#p-contact .next-num {
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.5;
  color: var(--teal-ink);
}
#p-contact .next-step h3 { font-size: 17px; line-height: 1.35; }
#p-contact .next-step p {
  margin-top: var(--s-1);
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-2);
}
#p-contact .contact-dl { border-bottom: 1px solid var(--hairline); }
#p-contact .contact-dl .dl-row { align-items: baseline; }
@media (min-width: 720px) {
  #p-contact .contact-dl .dl-row { grid-template-columns: 152px minmax(0, 1fr); }
}
#p-contact address { font-style: normal; line-height: 1.5; }
#p-contact .hp-field { position: absolute; left: -10000px; top: auto; overflow: hidden; clip-path: inset(50%); white-space: nowrap; pointer-events: none; }
#p-contact .contact-notice { padding: var(--s-4); background: var(--warn-tint); border: 1px solid var(--warn-border); border-radius: var(--r-card); font-size: 15px; line-height: 1.55; color: var(--ink); }
#p-contact .contact-notice a { color: var(--warn-ink); overflow-wrap: anywhere; }
#p-contact .contact-status,
#p-contact .contact-alert { min-width: 0; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
#p-contact .contact-status { color: var(--ink-2); }
#p-contact .contact-alert { color: var(--danger-ink); }
#p-contact .contact-status:not(:empty),
#p-contact .contact-alert:not(:empty) { padding: var(--s-4); background: var(--bg-subtle); border: 1px solid var(--hairline); border-radius: var(--r-card); }
#p-contact .contact-alert:not(:empty) { border-color: var(--danger-ink); }
@media (forced-colors: active) {
  #p-contact .contact-notice,
  #p-contact .contact-status:not(:empty),
  #p-contact .contact-alert:not(:empty) { border: 1px solid; }
}
