/* Contact page specific styles */
.contact-hero { display: grid; gap: var(--space-16); border-left: 3px solid color-mix(in oklab, var(--color-primary) 65%, transparent); }
.contact-hero .lead { color: var(--color-text-muted); }

.info-grid .subtle { color: var(--color-text-muted); font-size: var(--fs-300); }

.contact-support ul { padding-left: 1.1rem; }

.social-links { display: grid; gap: 8px; }
.social-links a { font-weight: 600; }

.faq-item { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 8px 12px; background: var(--color-surface); }
.faq-item + .faq-item { margin-top: 10px; }
.faq-item summary { cursor: pointer; font-weight: 600; color: var(--color-white); }
.faq-item[open] { background: color-mix(in oklab, var(--color-surface) 85%, transparent); }
.faq-item p { margin-top: 8px; color: var(--color-text); }

.form-actions { margin-top: var(--space-8); }
.status { min-height: 1.25em; color: var(--color-text-muted); }

/* Lightweight inline error styles */
.field .error-text { margin-top: 6px; color: var(--color-danger); font-size: var(--fs-300); }
input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--color-danger); box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-danger) 30%, transparent); }
