.response-page { width: min(980px, 100%); }
.response-head { padding-bottom: 90px; }
.response-page form { border-top: 1px solid var(--line); }
.form-section { display: grid; grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr); gap: clamp(30px, 6vw, 76px); padding: 80px 0; border-bottom: 1px solid var(--line); }
.form-section h2, .form-actions h2, .server-note h2 { font-size: clamp(34px, 5vw, 58px); }
.form-intro > p:last-child, .form-actions > div > p:last-child { color: var(--muted); }
.field-stack, .field-grid { align-self: start; }
.field-stack { display: grid; gap: 18px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field-grid .wide { grid-column: 1 / -1; }
label { display: block; }
label > span { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-size: 13px; font-weight: 900; }
label small { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
input, textarea { width: 100%; border: 1px solid var(--line); border-radius: 14px; padding: 13px 14px; color: var(--ink); background: var(--paper-light); font: inherit; font-size: 15px; resize: vertical; outline: none; }
input:focus, textarea:focus { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(23,77,64,.12); }
#topic-map { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 1.5; }
.file-field { padding: 16px; border: 1px dashed var(--forest); border-radius: 14px; background: color-mix(in srgb, var(--forest) 5%, var(--paper-light)); }
.file-field input { padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 13px; }
.field-status, .action-status, .action-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.field-status.valid, .action-status.success { color: var(--forest); font-weight: 850; }
.field-status.error, .action-status.error { color: #a33627; font-weight: 850; }
.form-actions { display: grid; grid-template-columns: 1fr 1.35fr; gap: 24px 60px; padding: 82px 0; }
.form-actions h2 { margin-bottom: 16px; }
.action-buttons { align-self: center; display: flex; flex-wrap: wrap; gap: 10px; }
.action-buttons button { border: 1px solid var(--ink); border-radius: 999px; padding: 13px 18px; background: transparent; color: var(--ink); font: 900 13px/1 Arial, sans-serif; cursor: pointer; }
.action-buttons .primary-action { background: var(--forest); color: white; }
.action-buttons button:hover, .action-buttons button:focus-visible { outline: 3px solid color-mix(in srgb, var(--ink) 18%, transparent); outline-offset: 2px; }
.action-status, .action-note { grid-column: 2; }
.action-status { min-height: 1.45em; }
.server-note { margin-bottom: 100px; padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper-light); }
.server-note h2 { margin-bottom: 16px; }
.server-note p:last-child { margin-bottom: 0; }

@media (max-width: 760px) {
  .form-section, .form-actions { grid-template-columns: 1fr; gap: 28px; padding: 62px 0; }
  .field-grid { grid-template-columns: 1fr; }
  .field-grid .wide { grid-column: auto; }
  .action-status, .action-note { grid-column: auto; }
  .server-note { margin-bottom: 70px; padding: 24px; }
}
