.public-form { min-height: 100%; display: grid; place-items: start center; padding: clamp(1rem, 4vw, 3rem); background-position: center; background-size: cover; }
.public-form__surface { width: min(760px, 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:var(--public-form-padding); 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: var(--public-form-gap); padding:var(--public-form-padding); }
.public-form__contact, .public-form__field { display: grid; gap: .45rem; }
.public-form__contact { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.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 { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.public-form legend { padding: 0; margin: 0 0 .75rem; }
.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 figure { margin: 0; min-width: 0; }
.public-form__media { display: block; height: auto; 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; }

.public-form { --public-form-padding: 24px; --public-form-gap: 20px; color:var(--text); font-family:Inter,sans-serif; font-size:var(--type-body); background-color:var(--bg); }
.public-form *, .public-form *::before, .public-form *::after { box-sizing:border-box; }
.public-form[data-form-spacing="sm"] { --public-form-padding:16px; --public-form-gap:12px; }
.public-form[data-form-spacing="lg"] { --public-form-padding:32px; --public-form-gap:28px; }
.public-form__section { display:grid; gap:var(--public-form-gap); min-width:0; }
.public-form__section > .public-form__question:not([hidden]) ~ .public-form__question:not([hidden]) { padding-top:var(--public-form-gap); border-top:1px solid var(--table-border); }
.public-form[data-form-layout="sectioned"] .public-form__surface { background:transparent; border:0; border-radius:0; box-shadow:none; }
.public-form[data-form-layout="sectioned"] form { padding:0; }
.public-form[data-form-layout="sectioned"] .public-form__section,
.public-form[data-form-layout="sectioned"] .public-form__header { padding:var(--public-form-padding); background:var(--surface); border:1px solid var(--table-border); border-radius:var(--radius-lg); }
.public-form[data-form-layout="sectioned"] .public-form__header { margin-bottom:var(--public-form-gap); }
.public-form__section legend { font-family:Montserrat,sans-serif; font-size:var(--type-subsection-title); text-transform:none; color:var(--text); }
.public-form .public-form__media { width:100%; }
.public-form .public-form__submit {
    --button-accent: var(--public-form-accent);
    --button-alpha: color-mix(in srgb, var(--public-form-accent) 12%, transparent);
    --button-bg: var(--public-form-accent);
    --button-border: var(--public-form-accent);
    --button-color: var(--white);
    width:100%;
}
.public-form input[type="radio"], .public-form input[type="checkbox"] { accent-color:var(--public-form-accent); }
.public-form__status:empty { display:none; }
.public-form__status:not(:empty) { margin-top:var(--public-form-gap); padding:var(--public-form-padding); background:var(--surface); border-radius:var(--radius-lg); }
.public-form-preview[data-preview-viewport="mobile"] { max-width:390px; }
.public-form-preview[data-preview-viewport="tablet"] { max-width:768px; }
.public-form-preview { width:100%; margin:auto; }
.form-settings-preview .public-form { padding:12px; }
.form-settings-preview .public-form__contact { grid-template-columns:1fr; }

.public-form { container-type:inline-size; }
@container (max-width: 520px) { .public-form__contact { grid-template-columns:1fr; } }
.form-settings-preview [data-form-settings-preview] { max-height:600px; overflow-y:auto; }

.public-form iframe.public-form__media { aspect-ratio:16 / 9; border:0; }
.public-form-preview[data-preview-viewport="mobile"] { padding:12px; }
.public-form-preview[data-preview-viewport="mobile"] form,
.public-form-preview[data-preview-viewport="mobile"] .public-form__header { padding:16px; }
.public-form-preview[data-preview-viewport="mobile"][data-form-layout="sectioned"] form { padding:0; }

.public-form__zone-map { height:280px; width:100%; border-radius:var(--radius-md); overflow:hidden; }
.public-form__zone-title { margin:0; font-family:Montserrat,sans-serif; font-size:var(--type-subsection-title); }
.public-form__field > p { margin:0; font-size:var(--type-supporting); color:var(--text-muted); }
.public-form__zone-legend { display:flex; flex-wrap:wrap; gap:12px; font-size:var(--type-supporting); }
.public-form__zone-legend > span { display:inline-flex; align-items:center; gap:6px; }
.public-form__zone-legend i { width:12px; height:12px; border-radius:50%; }

.public-form mapbox-address-autofill { display:block; min-width:0; }
.public-form [data-address-status]:empty { display:none; }

.public-form__spacer { display:flex; align-items:center; }
.public-form__spacer hr { width:100%; margin:0; border:0; border-top:1px solid var(--table-border); }
