.guide-page .content-card,
.contact-card {
  padding: 16px;
  margin-bottom: 24px;
}
.contact-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  min-width: 0;
}
.contact-card select { font-family: inherit; }
.info-grid { margin-top: 16px; }
.info-item { padding: 16px; }
.contact-card h2 { margin-bottom: 8px; }
.contact-card > p { margin: 0; color: var(--soft); }
.contact-card label {
  display: block;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}
.contact-card select,
.contact-card textarea,
.contact-card input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  margin-top: 8px;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--raised);
  color: var(--ink);
  font-size: 16px;
  line-height: 24px;
}
.contact-card textarea {
  min-height: 160px;
  resize: vertical;
}
.contact-card select:focus-visible,
.contact-card textarea:focus-visible,
.contact-card input:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.form-note, .feedback-note {
  margin-top: 16px;
  padding: 12px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--teal-soft);
  color: var(--ink);
  overflow-wrap: anywhere;
}
.feedback-note:empty { display: none; }
.feedback-note.is-error {
  background: var(--warn-soft);
  border-color: var(--warn);
}
.feedback-note.is-success { background: var(--teal-soft); }
.contact-card .button-primary {
  margin-top: 16px;
  width: 100%;
}
.contact-card .button-primary[aria-busy="true"] { opacity: 0.72; }
.tool-list { margin-top: 12px; }
@media (min-width: 768px) {
  .contact-card { padding: 24px; }
  .contact-card .button-primary { width: auto; min-width: 220px; }
}
