:root { color-scheme: light dark; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); font-family: Inter, sans-serif; font-size:var(--type-body); }
.public-form { min-height: 100vh; display: grid; place-items: start center; padding: clamp(1rem, 4vw, 3rem); background-position: center; background-size: cover; }
.public-form__surface { width: min(44rem, 100%); background: var(--surface); border: 1px solid var(--table-border); border-radius: var(--radius-lg); box-shadow: var(--modal-shadow); overflow: hidden; }
.public-form__header { padding:24px; border-bottom: 1px solid var(--table-border); }
.public-form__header > p:last-child { margin: .75rem 0 0; color: var(--text-muted); }
.public-form form { display: grid; gap: 1rem; padding:24px; }
.public-form__contact, .public-form__field { display: grid; gap: .45rem; }
.public-form__contact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-form__contact .public-form__field:nth-child(n+3) { grid-column: 1 / -1; }
.public-form label > span, .public-form legend { font-weight: 700; }
.public-form small { color: var(--text-muted); }
.public-form textarea { min-height: 7rem; resize: vertical; }
.public-form fieldset { margin: 0; padding: 0; border: 0; }
.public-form__choices { display: grid; gap: .55rem; margin-top: .45rem; }
.public-form__choice { display: flex; gap: .65rem; align-items: center; }
.public-form__choice input { width: 1.2rem; min-height: auto; }
.public-form__media { max-width: 100%; border-radius: var(--radius-md); }
.public-form__status { min-height: 1.5rem; padding: 0 clamp(1.5rem, 4vw, 2.5rem) 1.5rem; color: var(--text-muted); }
.public-form__status.is-error { color: var(--color-red); }
.public-form__success { padding: 2.5rem; text-align: center; }
.public-form h1 { margin:0; font-family:Montserrat,sans-serif; font-size:var(--type-page-title); }
.public-form__eyebrow { color:var(--text-muted); font-size:var(--type-caption); }
.public-form small { font-size:var(--type-supporting); }
@media(max-width:560px) { .public-form {padding:12px;} .public-form__contact {grid-template-columns:1fr;} .public-form form,.public-form__header {padding:16px;} }

.public-form [hidden] { display:none !important; }
