.contact-card {
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: clamp(1.25rem, 2.2vw, 2rem);
}
.contact-card-heading { display: flex; align-items: center; gap: .875rem; min-width: 0; }
.contact-card-heading h3 { min-width: 0; text-wrap: pretty; }
.contact-card .contact-symbol {
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  margin: 0;
  background: #e1eee9;
  border: 1px solid #cbded5;
}
.contact-symbol svg { display: block; width: 2rem; height: 2rem; }
.contact-card > p { margin: 0; }
.contact-card .contact-email {
  width: fit-content;
  max-width: 100%;
  margin: 0 0 .25rem;
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.contact-card .contact-details { min-width: 0; }
.contact-details > summary > span { flex-shrink: 0; }
.contact-details > summary { cursor: pointer; list-style: none; }
.contact-details > summary::-webkit-details-marker { display: none; }
.contact-details[open] > summary > span { transform: rotate(180deg); }
.contact-details form { padding-top: 1.75rem; }
.contact-details .form-grid { grid-template-columns: minmax(0,1fr); gap: 1.1rem; }
.contact-details .form-field label { color: var(--ink); }
.contact-details .form-field small, .contact-details .form-note { color: #485965; font-size: .9375rem; line-height: 1.55; }
.contact-details .form-field input, .contact-details .form-field textarea { background: #fff; border-color: #8da5b3; }
.contact-details .form-status { font-size: 1rem; line-height: 1.6; }
.contact-details .form-status[data-state="error"] { color: #992d35; }
.contact-details .form-status[data-state="success"] { color: #176141; }
.contact-details summary:focus-visible { outline: 3px solid #377b9d; outline-offset: 4px; }
