.support-shell { max-width: 800px; padding-block: 48px 64px; }
.support-shell .planning-heading p { font: 16px/1.6 var(--sans); }
.support-card { padding: 32px; background: #fffdf9; border: 1px solid #e7d5c7; border-radius: 12px; box-shadow: 0 16px 40px #4b183510; }
.support-card h2 { margin-top: 0; font-size: 28px; }
.support-card form { display: grid; gap: 12px; }
.support-card label { margin-top: 8px; font: 600 16px/1.5 var(--sans); }
.support-card input:not([type=hidden]), .support-card textarea { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid #dac6bb; border-radius: 5px; background: #fcfaf6; color: #4b1835; font: 16px/1.6 var(--sans); }
.support-card textarea { resize: vertical; }
.support-card input:focus, .support-card textarea:focus { outline: 2px solid #ad879a; outline-offset: 2px; }
.support-card button { justify-self: start; min-height: 48px; margin-top: 6px; }
.support-note, .support-direct { margin: 0; font: 16px/1.6 var(--sans); overflow-wrap: anywhere; }
.support-note { color: #70646a; }
.support-direct { margin-top: 24px; text-align: center; }
.support-errors ul { margin: 0 0 8px; padding-left: 24px; }
.support-errors { color: #8a2444; font: 16px/1.6 var(--sans); }
.support-errors.validation-summary-valid { display: none; }
.support-success { margin-bottom: 20px; padding: 20px; background: #eef4ec; border: 1px solid #cdddc9; border-radius: 8px; font: 16px/1.6 var(--sans); }
.legal-placeholder { padding: 16px 20px; border: 1px solid #d7ad67; background: #faf1e0; border-radius: 6px; }
@media (max-width: 600px) { .support-shell { padding-block: 32px 40px; } .support-card { padding: 22px; } }
