/* Contact page enhancements (lean, extends base.css) */
.page-intro { margin-block: var(--space-10) var(--space-6); }
.contact-grid { margin-block: var(--space-6); }
.status-text { min-height: 1.5em; color: var(--color-text-muted); }

/* FAQ details */
.faq details { border: 1px solid rgba(255,255,255,0.06); border-radius: var(--radius-m); padding: var(--space-3) var(--space-4); background: color-mix(in oklab, var(--color-bg-elevated) 85%, black); }
.faq details + details { margin-top: var(--space-3); }
.faq summary { cursor: pointer; font-weight: 600; color: var(--color-heading); }
.faq summary:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.faq details[open] { box-shadow: var(--shadow-1); }

/* Small utility for wrapping buttons */
.flex-wrap { flex-wrap: wrap; }

/* Tighten cards spacing between grouped sections */
main > .card { margin-block: var(--space-6); }

/* Range input label alignment */
#f-rating { margin-top: var(--space-2); }
#f-rating-help { color: var(--color-text-muted); margin-top: var(--space-2); font-size: var(--fs-200); }
