.te-ask {
  max-width: 46rem;
  margin-inline: auto;
  padding: var(--ce-space-8);
  color: var(--ce-ink);
  background: var(--ce-elevated);
  border: 1px solid var(--ce-border);
  border-radius: var(--ce-radius-lg);
  box-shadow: var(--ce-shadow-raised);
}
.te-ask__head { margin-block-end: var(--ce-space-6); }
.te-ask__eyebrow {
  margin: 0 0 var(--ce-space-2);
  color: var(--ce-blue);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.te-ask__head h1 { margin: 0 0 var(--ce-space-3); font-size: clamp(2rem, 5vw, 2.5rem); line-height: 1.1; }
.te-ask__head > p:last-child { margin: 0; color: var(--ce-muted); line-height: 1.6; }
.te-ask__privacy, .te-ask__notice {
  margin: 0 0 var(--ce-space-5);
  padding: var(--ce-space-3) var(--ce-space-4);
  border-radius: var(--ce-radius-sm);
  background: var(--ce-surface);
  color: var(--ce-ink);
  font-size: .875rem;
  line-height: 1.5;
}
.te-ask__messages { display: grid; gap: var(--ce-space-3); margin: 0 0 var(--ce-space-5); padding: 0; list-style: none; }
.te-ask__message { max-width: 90%; padding: var(--ce-space-4); border-radius: var(--ce-radius-md); background: var(--ce-surface); }
.te-ask__message--user { justify-self: end; background: var(--ce-blue-wash); }
.te-ask__message--error { background: var(--ce-error-wash); }
.te-ask__message-label { display: block; margin-block-end: var(--ce-space-1); font-size: .75rem; color: var(--ce-muted); }
.te-ask__message-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.te-ask__message--pending .te-ask__message-text { color: var(--ce-muted); }
.te-ask__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--ce-space-3); }
.te-ask__form textarea {
  min-width: 0;
  min-height: 3.25rem;
  max-height: 10rem;
  padding: var(--ce-space-3) var(--ce-space-4);
  resize: vertical;
  color: var(--ce-ink);
  background: var(--ce-canvas);
  border: 1px solid var(--ce-border);
  border-radius: var(--ce-radius-sm);
  font: inherit;
  line-height: 1.5;
}
.te-ask__form button {
  min-height: 3.25rem;
  padding-inline: var(--ce-space-5);
  color: #fff;
  background: var(--ce-blue);
  border: 0;
  border-radius: var(--ce-radius-sm);
  font: inherit;
  font-weight: 650;
  cursor: pointer;
}
.te-ask__form button:hover { background: var(--ce-blue-hover); }
.te-ask__form button:focus-visible, .te-ask__form textarea:focus-visible { outline: 3px solid var(--ce-blue); outline-offset: 2px; }
.te-ask__form button:disabled { cursor: wait; }
.te-ask--disabled { border-style: dashed; }
@media (max-width: 40rem) {
  .te-ask { padding: var(--ce-space-5); border-radius: var(--ce-radius-md); }
  .te-ask__form { grid-template-columns: 1fr; }
  .te-ask__form button { width: 100%; }
  .te-ask__message { max-width: 100%; }
}
